gpt4 book ai didi

java正则表达式 [A-Z]{6}-[A-Z]{4}-[A-Z]{4}

转载 作者:行者123 更新时间:2023-12-01 17:08:03 27 4
gpt4 key购买 nike

我正在尝试用 Java 编写一个正则表达式:

"/[A-Z]{6}-[A-Z]{4}-[A-Z]{4}/"

但是它不起作用。例如

"AASAAA-AAAA-AAAA".matches("/[A-Z]{6}-[A-Z]{4}-[A-Z]{4}/")

返回false

正确的做法是什么?

最佳答案

Java != JavaScript,这里你不需要用 / 包围正则表达式,所以尝试使用

"AASAAA-AAAA-AAAA".matches("[A-Z]{6}-[A-Z]{4}-[A-Z]{4}")

否则你的正则表达式将搜索在开始和结束处也有 / 的子字符串。

顺便说一句,您需要知道 matches 检查正则表达式是否匹配整个字符串,所以

"aaa".matches("aa")

相同
"aaa".matches("^aa$")

这将返回false,因为正则表达式无法完全匹配字符串。

<小时/>

如果您想查找与正则表达式匹配的子字符串,则需要使用

String input = "abcd";
Pattern regex = Pattern.compile("\\w{2}");
Matcher matcher = regex.matcher(input);
while (matcher.find()){//this will try to find single match
System.out.println(matcher.group());
}

输出:

ab
cd

关于java正则表达式 [A-Z]{6}-[A-Z]{4}-[A-Z]{4},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24491764/

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