gpt4 book ai didi

java - 不以单词开头、不包含另一个单词但以第三个单词结尾的字符串的正则表达式

转载 作者:行者123 更新时间:2023-11-29 05:49:01 25 4
gpt4 key购买 nike

我必须详细说明一个正则表达式,它应该匹配具有以下限制的字符串:

  • 字符串不能foo开头
  • 字符串不得包含/foo
  • 字符串必须bar结尾

我想出了以下模式,但我很确定还有更优雅和/或更高效的解决方案:

String match = "quxfoobar";
String notMatch = "qux/foobar";
String notMatch2 = "fooquxbar";
String pattern = "(?!foo)(?!.+/foo).*bar";
boolean m = match.matches(pattern);

感谢您的投入。

注意:请注意,我使用 Java 和 String.matches() 方法来匹配我的模式和我的候选字符串。

最佳答案

为什么要使用正则表达式?对于固定字符串,已经有内置函数,这应该比正则表达式方法快得多。

if (!str.startsWith("foo") && str.endsWith("bar") && !str.contains("/foo")) {
// Do your stuff here
}

关于java - 不以单词开头、不包含另一个单词但以第三个单词结尾的字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14734724/

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