正则表达式:HTML 标签属性中的 grep 特殊字符


Regex: grep special character in HTML-Tags-Attributes

以下正则表达式无法 100% 正常工作...

~<?<.*?(")|('s)|(:)|(;)|(,).*?[>]~gm

在此字符串中

<span style="font-family: verdana,sans-serif;"><strike>Strike</strike></span>::<b><strike>Bold-Strike</strike></b>::<b><i><strike>Bold-Strike-Italic</strike></i></b>::<strike><b>Bold-Strike</b></strike><strike><b><i><u><font size="6"><strike><b>Bold-Strike-Font</b></strike></font></u></i></b></strike>::<u><strike>Strike2</strike></u>

我需要匹配html标签属性中的所有特殊字符(="-:

你可以试试这个正则表达式:

(?:<|'G)[^<>=":,; -]*([ =":,;-](?=[^<>]*>))

正则表达式101演示

'G匹配第一个匹配项的结尾,并允许您在同一标签中获取所有"特殊字符"。