I'm using powershell and regex. I'm scraping a web page result to a variable, but I can't seem to extract a generated url from that variable.
this is the content (the actual url varies):
"https://api16-something-c-text.sitename.com/aweme/v2/going/?video_id=v12044gd0666c8ohtdbc77u5ov2cqqd0&
$reg = "([^&]*)&;$" always returns false.
I've been trying -match and Select-String with regex but I'm in need of guidance.
CodePudding user response:
It really depends on what format the content is in.
(?<=\") looks behind """ for (.*?) which any numbers of non-newline characters and then looks ahead for (?=;) which is ";".
Here's a fair start:
$pattern = "(?<=\")(.*?)(?=;)"
$someText = ""https://api16-something-c-text.sitename.com/aweme/v2/going/?video_id=v12044gd0666c8ohtdbc77u5ov2cqqd0&"
$newText = [regex]::match($someText, $pattern)
$newText.Value
Returns:
https://api16-something-c-text.sitename.com/aweme/v2/going/?video_id=v12044gd0666c8ohtdbc77u5ov2cqqd0&
CodePudding user response:
I suggest using a -replace operation:
$str = '"https://api16-something-c-text.sitename.com/aweme/v2/going/?video_id=v12044gd0666c8ohtdbc77u5ov2cqqd0&'
$str -replace '^"(. )&$', '$1'
