[英]Negative look ahead regex
如何匹配不带有@
符号的字符串?
/(?!@)(somestring|someotherstring)/
不会产生预期的结果。 我在Sublime:Regular Expressions.cheatsheet之后的 sublime文本中对此进行测试
您需要使用lookbehind :
(?<!@)(somestring|someotherstring)
(?!@)
前瞻将检查以下符号是否不是@
。
更多细节 :
后视具有相同的效果[ VS :与前瞻 ],但向后工作 。 它告诉正则表达式引擎暂时向后退字符串,以检查后面的内部文本是否可以匹配。
(?<!a)b
相匹配的b
不是由一个前面a
,使用负回顾后发 。 它与cab
不匹配,但与bed
或debt
中的b
(仅b
)匹配。后面的负向后写为
(?<!text)
,使用感叹号代替等号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.