如何用单个正则匹配HTML中首尾引号一致的style属性?
正则匹配HTML style属性的引号一致性问题
单个正则就能解决,不需要拆分。核心是利用反向引用保证首尾引号一致,具体正则如下:
/style\s*=\s*(['|"])(.*?)\1/gmi
关键逻辑说明:
(['|"]):捕获开头的引号(单引号或转义双引号"),存入第一个分组(.*?):非贪婪匹配引号之间的style属性内容,避免过度匹配\1:反向引用第一个分组的引号,强制结尾引号和开头完全一致
这样就能精准匹配首尾引号相同的style属性,解决原正则中引号不匹配导致的截断问题。
如果你的语料库中style内容里存在转义的同类型引号(比如双引号包裹的内容里有\"),这个基础正则可能会误判,需要进一步调整逻辑跳过转义引号;若没有这类场景,上面的正则完全够用。
内容的提问来源于stack exchange,提问作者Skary
相关产品推荐
相关产品推荐

