我有一个要求检查字符串是否以<i
开头并且紧随其后不是mg
,并且应该以>
结尾
我已经尝试了以下正则表达式,但是没有用。
<[iI][^(mg|MG)][^>]*>
<i>
:应匹配并返回true<ind value="abc">
:应匹配并返回true<img/src=x onerror=alert("stack..!")>
:不应该匹配并返回false请一些帮助我,在此先感谢。
最佳答案
您可以将此正则表达式与否定的超前使用:
(?i)<i(?!mg)[^>]*>
RegEx Demo
RegEx说明:
(?i)
:忽略大小写的修饰符<i
:匹配文字<i
(?!mg)
:负向超前断言我们在下一个位置没有mg
[^>]*
:匹配0个或多个非>
字符>
:匹配文字>