gpt4 book ai didi

java - 我怎样才能使 Java 正则表达式全有或全无?

转载 作者:行者123 更新时间:2023-11-29 10:06:52 31 4
gpt4 key购买 nike

我正在尝试使正则表达式全有或全无,因为给定的单词必须完全匹配正则表达式 - 如果不匹配,则找不到匹配项。

例如,如果我的正则表达式是:

^[a-zA-Z][a-zA-Z|0-9|_]*

然后我想匹配:

cat9
cat9_
bob_____

但我不想匹配:

cat7-
cat******
rango78&&

我希望我的正则表达式尽可能严格,采用全有或全无的方法。我该怎么做呢?

编辑:为了使我的正则表达式绝对清晰,模式必须以字母开头,后跟任意数量的数字、字母或下划线。不允许使用其他字符。下面是我用来测试正则表达式的相关程序。

Pattern p = Pattern.compile("^[a-zA-Z][a-zA-Z|0-9|_]*");

Scanner in = new Scanner(System.in);
String result = "";


while(!result.equals("-1")){

result = in.nextLine();

Matcher m = p.matcher(result);

if(m.find())
{
System.out.println(result);
}
}

最佳答案

我认为如果您使用 String.matches(regex),那么您将获得您正在寻找的效果。文档说 matches() 只有当 entire 字符串与模式匹配时才会返回 true。

关于java - 我怎样才能使 Java 正则表达式全有或全无?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5574650/

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