搜索的正则表达式是什么word
后面不跟的字符串@
symbol?
例如:
mywordLLD OK
myword.dff OK
myword@ld Exclude
The (?!@)
消极的展望 http://www.regular-expressions.info/lookaround.html将使word
仅当以下情况时才匹配@
没有出现之后立马 word
:
word(?!@)
如果您需要在比赛中失败word
后面跟着一个字符/字符串右边某处,您可以使用以下三个中的任何一个
word(?!.*@) # Note this will require @ to be on the same line as word
(?s)word(?!.*@) # (except Ruby, where you need (?m)): This will check for @ anywhere...
word(?![\s\S]*@) # ... after word even if it is on the next line(s)
See demo https://regex101.com/r/vY3pY3/1
这个正则表达式匹配word
子串和(?!@)
确保没有@
就在它之后,如果它在那里,则word
不作为匹配返回(即匹配fails).
From 正则表达式.info http://www.regular-expressions.info/lookaround.html:
负前瞻如果你想匹配某个东西而不是后面跟着别的东西,这是必不可少的。解释时字符类 http://www.regular-expressions.info/charclass.html, 本教程解释了为什么不能使用否定字符类来匹配q
后面没有一个u
。负前瞻提供了解决方案:q(?!u)
。负向先行结构是一对括号,左括号后跟一个问号和一个感叹号。
And on 字符类 http://www.regular-expressions.info/charclass.html page:
重要的是要记住,否定的字符类仍然必须与字符匹配。q[^u]
并不意味着:“一个q
后面没有一个u
”。它的意思是:“一个q
后跟一个不是字符的字符u
”。这与q
在字符串中Iraq
。它确实匹配q
以及后面的空格q
伊拉克是一个国家。确实:空间成为整体匹配的一部分,因为它是“不是一个角色的角色”。u
" 与上述正则表达式中的否定字符类匹配。如果您希望正则表达式匹配q
,并且只有q
,在两个字符串中,您需要使用负前瞻: q(?!u)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)