此问题已在此处有答案:
Matching all words except one(8个回答)
A regular expression to exclude a word/string(8个回答)
Need to find a regular expression for any word except word1 or word2(4个回答)
上个月关门了。
这里有一个简单的正则表达式:
([a-zA-Z_0-9]+)
然而,我希望它不捕获它,如果它等于一个特定的词,所以我找到了一个像这样的解决方案,它不应该包含这个:
([a-zA-Z_0-9]+)?\b(?<!this)
回想起来这很好,但是如果我有一个例子,我有一个像this_that的词,它不会捕获它,因为this在那个词里面,但是,我希望它捕获它,除非它完全等于this,没有别的,有意义吗?
我做了一些研究,我找不到一个非操作符在正则表达式,只是消极的前瞻性。有人有什么想法吗?
很多东西,如上所述。
1条答案
按热度按时间xytpbqjk1#
如果你想捕获单词,除非单词是this,你可以这样做:
Demo
或者,您可以执行以下操作:
Demo
顺便说一句:
[a-zA-Z_0-9]
与PCRE、Ruby、Java、ECMA和其他re风格中的\w
相同,其中\w
是许多计算机语言中法律的变量名的快捷方式。\w
在Python、Rust、C#和其他使用Unicode意义的字母中匹配àbç
。