Regex 正则表达式只在HTML标记中查找特定字符

Regex 正则表达式只在HTML标记中查找特定字符,regex,Regex,我有一个HTML字符串,例如: <a href=“{{foo.bar}}”>some text “nice” here</a> 我试图找出html标记中是否存在任何开头/结尾双引号(“”,而不是“)(即内,但标记中可能还有其他内容) 在我的例子中,不应该 什么是合适的正则表达式?事实上,我不相信您已经找到了它,但您更愿意落入正则表达式的常见陷阱。您找到了一种与特定情况下所需的模式相匹配的模式 如果您放置 好的,找到了:]*[“”]+[^>]*> 这与您可能期望的不一

我有一个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标记的上下文中猜猜你解释了什么在这里完全有道理:)非常感谢你的帮助!没问题,伙计