繁体   English   中英

负向正则表达式

[英]Negative look ahead regex

如何匹配不带有@符号的字符串?

/(?!@)(somestring|someotherstring)/

不会产生预期的结果。 我在Sublime:Regular Expressions.cheatsheet之后的 sublime文本中对此进行测试

您需要使用lookbehind

(?<!@)(somestring|someotherstring)

(?!@)前瞻将检查以下符号是否不是@

更多细节

后视具有相同的效果[ VS :与前瞻 ],但向后工作 它告诉正则表达式引擎暂时向后退字符串,以检查后面的内部文本是否可以匹配。 (?<!a)b相匹配的b不是由一个前面a ,使用负回顾后发 它与cab不匹配,但与beddebt中的b (仅b )匹配。

后面的负向后写为(?<!text) ,使用感叹号代替等号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM