gpt4 book ai didi

Java REGEX 模式问题

转载 作者:行者123 更新时间:2023-12-02 03:25:47 25 4
gpt4 key购买 nike

我正在开发一个通话记录应用程序,我遇到了一个问题,我的模式不匹配,但我解决了这个问题。仍然不是最好的解决方案。

String subject = "d20160812215452p38762620479tincomingmfalse.3gp";

String pattern = "^d[\\d]{14}p[\\d]{11}t[\\w]{8}m[\\w]*\\.3gp";

if(subject.matches(pattern)){
System.out.print("Matching");
}else{
System.out.print("Not maching");
}

问题是电话号码String subject****p38762620479****可能大于 8 个字符,另外我如何分割它显示的模式:日期、数字......

最佳答案

添加到@kolboc的答案中,为了获取您匹配的组,请执行以下操作:

String subject = "d20160812215452p38762620479tincomingmfalse.3gp";
String pattern = "^d([\\d]{14})p([\\d]{11})t([\\w]{8}m[\\w]*\\.3gp)";
Pattern r = Pattern.compile(pattern);

// create a matcher object
Matcher m = r.matcher(subject);
if (m.find( )) {
System.out.println("Found all: " + m.group(0) );
System.out.println("Found date: " + m.group(1) );
System.out.println("Found phone: " + m.group(2) );
System.out.println("Found title: " + m.group(3) );
} else {
System.out.println("NO MATCH");
}

关于Java REGEX 模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38934522/

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