gpt4 book ai didi

java - 正则表达式否定整个词?

转载 作者:行者123 更新时间:2023-12-04 13:09:23 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Regular Expressions and negating a whole character group [duplicate]

(9 个回答)


7年前关闭。



  String test1 = "This is my test string";

我想匹配一个不包含“test”的字符串

我可以做到
 Pattern p = Pattern.compile(".*?^(test).*?")

它可以工作,但在大多数网站如 Regular Expressions and negating a whole character group
^(?!.*test).*$建议这对我不起作用。

据我了解 ^(test)就足够了,为什么 ^(?!.*test).*$是必须的?

最佳答案

您想要以下内容。

^(?:(?!test).)*$

正则表达式:
^               the beginning of the string
(?: group, but do not capture (0 or more times)
(?! look ahead to see if there is not:
test 'test'
) end of look-ahead
. any character except \n
)* end of grouping
$ before an optional \n, and the end of the string

随着使用 ^(test) , 它只是在字符串的开头寻找 test ,而不是否定它。

否定 ^操作符只能在字符类中工作 [^ ] ,但整个单词在字符类中不起作用。例如 [^test]匹配任何字符,除了: ( t , e , s , t )

关于java - 正则表达式否定整个词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23724661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com