[英]Regular Expression help needed please
我需要盡可能簡單的正則表達式找到下面的兩個引號之間的所有文本,需要用\\ <(輸入|選|文本域)開頭的名稱\\ =
我已經能夠搜索兩個引號之間的所有文本。 我也可以找到上面顯示的上述要求。 但是,我無法將兩者結合起來。 這是我能找到的最接近的東西:
^\<(input|select|textarea) name\=[""'])(?:(?=(\\?))\2.)*?\1$
。
..align="right" style="white-space:nowrap;"><input name="MainPage$LastName"..
..align="right" style="white-space:nowrap;"><input name="MainPage$email"..
..align="right" style="white-space:nowrap;"><input name="MainPage$phone"..
..align="right" style="white-space:nowrap;"><select name="MainPage$CountryDropDownList"..
..align="right" style="white-space:nowrap;"><input name="MainPage$Description"..
..align="right" style="white-space:nowrap;"><textarea name="MainPage$DescribeHere"..
預期成績:
MainPage$LastName
MainPage$email
MainPage$phone
MainPage$CountryDropDownList
MainPage$Description
MainPage$DescribeHere
我在一些W3C表單教程頁面上進行了嘗試,發現了所需的元素:
$pattern = '(?is)<(input|select|textarea)\s+.*?(?:id|name)\s*=\s*"([^"]+)"'
Select-String -inp $wr.RawContent -pattern $pattern -AllMatches |
Foreach {$_.Matches} |
Foreach {"Element: $($_.Groups[1].value) key: $($_.Groups[2].value)"}
考慮以下正則表達式...
(?<=\<(input|select|textarea) name\=[\""|\']).*?(?=\"")
祝好運!
那這個呢:
(?:\<(input|select|textarea) name\=)(["'])(?<Name>.*)?\2
您想要的捕獲將稱為Name
,它可以確保起始引號(無論它們是哪種引號)都與您的結束引號匹配。
希望這能解決問題!!
我有這個:
$text =
(@'
..align="right" style="white-space:nowrap;"><input name="MainPage$LastName"..
..align="right" style="white-space:nowrap;"><input name="MainPage$email"..
..align="right" style="white-space:nowrap;"><input name="MainPage$phone"..
..align="right" style="white-space:nowrap;"><select name="MainPage$CountryDropDownList"..
..align="right" style="white-space:nowrap;"><input name="MainPage$Description"..
..align="right" style="white-space:nowrap;"><textarea name="MainPage$DescribeHere"..
'@)
$regex = [regex]'(?:input|select|textarea)\sname="([^"]+)'
$regex.matches($text) |
foreach {$_.groups[1].value}
MainPage$LastName
MainPage$email
MainPage$phone
MainPage$CountryDropDownList
MainPage$Description
MainPage$DescribeHere
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.