我需要一个正则表达式来匹配"Google search"
中的<a title="Google search" href="http://google.com">Google</a>
。
Here是regexr.com的链接。
我需要它只匹配<a>
标签。我不擅长正则表达式,但我确实知道JavaScript,后面的观察是不可能的。我需要它以某种方式后瞻,并检查title=".+"
是否 <a>
之后
以下是我放在一起的一些正则表达式:
此表达式有点有效,但它会在title=""
中选择<img>
。此外,当我只需要title=
和<a>
时,它会在"Google search"
中选择"Microsoft home"
。
/((title=".+")(?=\s*href))|(title=".+")/igm;
这些表达式会删除我想要的title=
,但最后也会添加\s
。
/(?!title=)".+"\s+/igm; AND /(?!title)".+"\s+\b/igm;
总之,鉴于上述HTML,我希望它只匹配"Google search"
和"Microsoft home"
(我不希望它包含title=
也不匹配title="..."
在<img/>
)
修改
我正在处理的这个正则表达式匹配第一个<a>
标题:
/(?!<a\s+title\=)("[^"]+")(?=\s*href)/igm;
答案 0 :(得分:0)
这个正则表达式:
/<a[^>]+title=(["'])(Google search|Microsoft home)\1/ig
仅在 a 标记中捕获Google搜索或Microsoft主页。匹配包括标签。别担心!我们在第二个捕获组中捕获了“Google搜索”。您可以使用\ 2或$ 2在javascript中访问它。