我写了一个正则表达式来查找 html 元素的 id 值:
<.+ id\s*=\s*["'](.+)["'].*/?>
对于大多数情况,它返回 id 值,但对于这一个不返回:
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
它匹配以下组值:
__EVENTTARGET" value="
而不是预期的 __EVENTTARGET
。
正则表达式有什么问题?
最佳答案
正则表达式不是解析 HTML 的最佳工具。
你可以尝试制作它non-greedy :
<.+ id\s*=\s*["'](.+?)["'].*/?>
^
但是在其他示例中它仍然会失败。最好使用 HTML 解析器,例如 HTML Agility Pack .
关于c# - 组不在正则表达式中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8086529/