我需要最简单的正则表达式来查找 AND 之间的两个引号之间的所有文本需要以\<(input | select | textarea)name \ =
开头我已经能够搜索两个引号之间的所有文本。我也能够找到上面显示的上述要求。但是,我无法将两者结合起来。这是我能来的最近的地方:
^\<(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
答案 0 :(得分:1)
我在一些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)"}
答案 1 :(得分:0)
考虑以下Regex ......
(?<=\<(input|select|textarea) name\=[\""|\']).*?(?=\"")
祝你好运!
答案 2 :(得分:0)
这个怎么样:
(?:\<(input|select|textarea) name\=)(["'])(?<Name>.*)?\2
您想要的捕获将被称为Name
,它确保开头引号(无论它们是什么类型的引号)与您的结束引号匹配。
希望这可以解决问题!!
答案 3 :(得分:0)
我有这个:
$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