搜索word未跟随@符号的字符串的正则表达式是什么?
例如:
mywordLLD OK
myword.dff OK
myword@ld Exclude
Run Code Online (Sandbox Code Playgroud)
Wik*_*żew 50
这里需要(?!@)负面的预测:
word(?!@)
Run Code Online (Sandbox Code Playgroud)
见演示
这个正则表达式匹配wordsubstring并(?!@)确保@它之后没有,如果它在那里,word则不会返回匹配(即匹配失败).
如果你想要匹配其他东西不匹配的东西,那么否定的先行是必不可少的.在解释字符类时,本教程解释了为什么不能使用否定字符类来匹配a
q后跟au.否定前瞻提供了解决方案:q(?!u).负前瞻构造是一对括号,左括号后跟一个问号和一个感叹号.
在Character classes页面上:
重要的是要记住,否定的字符类仍然必须与字符匹配.
q[^u]并不意味着:"一个q没有跟着u".这意味着:"aq后跟一个不是u" 的角色.它q与字符串中的不匹配Iraq.在伊拉克是一个国家q之后,它确实与之相匹配q.确实:空间成为整体匹配的一部分,因为它是"不是一个u"的字符,与上面的正则表达式中的否定字符类相匹配.如果你想让正则表达式匹配两个字符串中的,q只有q,那么你需要使用负向前瞻:q(?!u).