Regex 正则表达式只在HTML标记中查找特定字符
我有一个HTML字符串,例如:Regex 正则表达式只在HTML标记中查找特定字符,regex,Regex,我有一个HTML字符串,例如: <a href=“{{foo.bar}}”>some text “nice” here</a> 我试图找出html标记中是否存在任何开头/结尾双引号(“”,而不是“)(即内,但标记中可能还有其他内容) 在我的例子中,不应该 什么是合适的正则表达式?事实上,我不相信您已经找到了它,但您更愿意落入正则表达式的常见陷阱。您找到了一种与特定情况下所需的模式相匹配的模式 如果您放置 好的,找到了:]*[“”]+[^>]*> 这与您可能期望的不一
<a href=“{{foo.bar}}”>some text “nice” here</a>
我试图找出html标记中是否存在任何开头/结尾双引号(“
”,而不是“
)(即
内,但标记中可能还有其他内容)
在我的例子中,
不应该
什么是合适的正则表达式?事实上,我不相信您已经找到了它,但您更愿意落入正则表达式的常见陷阱。您找到了一种与特定情况下所需的模式相匹配的模式 如果您放置
好的,找到了:]*[“”]+[^>]*>
这与您可能期望的不一样。添加捕获组时,您将看到字符串的哪些部分实际上与哪些组匹配:
<([^>]*)([“”]+)([^>]*)>
]*)([“”]+)([^>]*)>
以以下方式匹配您的示例:
<a href=“{{foo.bar}}”> a href=“{{foo.bar}} ”
^ Full match ^ 1st group ^ 2nd group ^ 3rd group (nothing)
<a href=“{{foo.bar}}”> a href= {{foo.bar}}
^ Full match ^ 1st group ^ 2nd group ^ 3rd group (nothing)
a href=“{{foo.bar}”
^全场比赛^1组^2组^3组(无)
基于@Themelis的答案,您可能希望从以下内容开始:
<(\w+ [^<>“]*)“([^”]+)”([^<>]*)>
以以下方式匹配您的示例:
<a href=“{{foo.bar}}”> a href=“{{foo.bar}} ”
^ Full match ^ 1st group ^ 2nd group ^ 3rd group (nothing)
<a href=“{{foo.bar}}”> a href= {{foo.bar}}
^ Full match ^ 1st group ^ 2nd group ^ 3rd group (nothing)
a href={{{foo.bar}
^全场比赛^1组^2组^3组(无)
明白了,完全有道理。我还不是正则表达式专家;谢谢你花时间来帮助我:)我明白了,幸运的是我的html文件中没有这样的具体案例;事实上我这样做是因为我也想匹配一些案例,例如
。但这不太可能;在html标记的上下文中猜猜你解释了什么在这里完全有道理:)非常感谢你的帮助!没问题,伙计