Regex 正则表达式匹配字符串不';不包含单词,但包含其他单词
我想搜索包含某个单词的行,例如,Regex 正则表达式匹配字符串不';不包含单词,但包含其他单词,regex,Regex,我想搜索包含某个单词的行,例如,book,前面不包含car 我试着这样写: [?!car].*book 但它不起作用,因此在以下几行中: this car is a book this is a book book car 第一个不应该匹配,另两个应该匹配。我做错了什么 给你 我使用了一个非捕获组来为正则表达式创建一个完整匹配,但是您可以根据需要使用它 您使用的正则表达式在该行中搜索字符集中任何字符的第一个匹配项[?!car];这意味着?和被视为单个字符,而不是您可能希望的非捕获组。除非遇
book
,前面不包含car
我试着这样写:
[?!car].*book
但它不起作用,因此在以下几行中:
this car is a book
this is a book
book car
第一个不应该匹配,另两个应该匹配。我做错了什么
给你
我使用了一个非捕获组来为正则表达式创建一个完整匹配,但是您可以根据需要使用它
您使用的正则表达式在该行中搜索字符集中任何字符的第一个匹配项
[?!car]
;这意味着?
和代码>被视为单个字符,而不是您可能希望的非捕获组。除非遇到book
,否则将贪婪地捕获以下字符。这就是为什么您的正则表达式没有给出所需的结果。似乎您不理解正则表达式的含义。您的正则表达式与?
,匹配
,c
,a
或r
字符后跟任意数量的非换行字符,后跟book
。看看