[英]pick 3rd number in String
给定此字符串:“ a001212a a1212a a00333a a00334a abvbv”;
我试图通过更改正则表达式来选择第三个数字。 但我不知道。 我只允许更改正则表达式。 如果我将参数更改为matcher.group(2),但不适用于group(1),则下面的代码有效。
救命?
String nthNumber(String string) {
Pattern pat = Pattern.compile(
"(\\D+0*(\\d+)\\D+){3,}.*"
);
Matcher matcher = pat.matcher(string);
matcher.matches();
return matcher.group(1);
}
您可以将第一个群组设为非捕获群组,如下所示。 然后,group(1)应该起作用。
String nthNumber(String string) {
Pattern pat = Pattern.compile(
"(?:\\D+0*(\\d+)\\D+){3,}.*"
);
Matcher matcher = pat.matcher(string);
matcher.matches();
return matcher.group(1);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.