我一点都不熟悉,也从未真正使用过regex。我使用的某些软件需要使用正则表达式才能使用“高级过滤器”,并且花了2个小时的大部分时间进行研究并尝试使其正常工作...我发现了其他帖子似乎很相似,但终生对我来说,我无法根据我的特定需求调整这些答案。
要求:返回不包含以下排列的所有结果
ListView
List View
Listview
List view
listview
list view
listView
list View
...但是需要匹配超过0个字符的任何其他字符。在肯定的情况下,我有以下方法可以工作(例如,它成功地匹配了上面的字符串。现在我只需要取反它即可。
[Ll]ist[\s]?[Vv]iew
直觉上,这似乎应该很容易...我尝试过的事情:
(?![Ll]ist[\s]?[Vv]iew)
(?!([Ll]ist[\s]?[Vv]iew))
(?:(?!([Ll]ist[\s]?[Vv]iew)))
答案 0 :(得分:1)
这是一种似乎可行的模式:
^(?!.*\b[Ll]ist[ ]?[Vv]iew\b).*$
它使用否定前瞻来断言list
+ view
的排列没有发生。您处在正确的轨道上,但是断言某些单词WORD
不会在任何地方出现的一般模式是:
^(?!.*\bWORD\b)
.*
允许WORD
出现在任何地方。
请注意,如果您的正则表达式工具具有不区分大小写的模式,则该模式可以简化为:
^(?!.*\blist[ ]?view\b).*$