正则表达式需求:匹配关键字前、左括号后的所有内容
正则匹配解决方案
针对你的需求,这里提供两种精准匹配的正则表达式:
需求1:匹配包含color的整个方括号内容(对应你提到的[bgcolor=GREEN]和[/bgcolor])
用这个正则可以避免跨括号的贪婪匹配:
\[([^\]]*color[^\]]*)\]
\[匹配左方括号,\]匹配右方括号[^\]]*只匹配非右方括号的字符,确保不会跨到其他方括号内,完美解决你之前整段匹配的问题- 测试后会精准捕获两个目标内容:
bgcolor=GREEN和/bgcolor,如果需要包含方括号本身,去掉括号捕获即可:\[^\]]*color[^\]]*\]
需求2:仅匹配[之后、color之前的内容(比如bg和/bg)
使用惰性匹配结合非右括号限定:
\[([^\]]*?)color
([^\]]*?)惰性匹配当前方括号内color之前的所有字符,不会跨到其他括号- 捕获组会直接提取到你需要的目标片段
内容的提问来源于stack exchange,提问作者DotFX
相关产品推荐
相关产品推荐

