gpt4 book ai didi

Java长正则表达式

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

我正在尝试表达这样的模式212425762_CHECK_08182014_1_美国

9 个数字,后跟一个下划线,然后是 5 个字母,另一个下划线,一个 8 位日期,以及“_1_USA”。

这就是我到目前为止所得到的

String regex = "/^([0-9]{9})_([A-Z]{5})_(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])(20\\d\\d)(_1_USA)$/"

但它就是行不通。我猜“_1_USA”部分有问题。有什么想法吗?

最佳答案

数量[1_USA]{1}告诉Java匹配1中的任何单个字符、下划线、USA。相反,只需使用文字字符串:

String input = "212425762_CHECK_08182014_1_USA";
String regex = "^([0-9]{9})_([A-Z]{5})_([0-9]{8})_(1_USA)$";
if (input.matches(regex)) {
System.out.println("The input matches.");
}

此外,您的正则表达式还有一些其他拼写错误,例如前导和尾随正斜杠以及不正确的闭合字符类。与其他一些语言不同,Java 在其正则表达式模式中不使用正斜杠(除非您按字面意思理解)。

Demo

关于Java长正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44511642/

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