[英]java regular expression between characters java
我的Java代码:
String subjectString = "BYWW4 AterMux TP 46[_221] \n"
+ "FHTTY TC AterMux TP 9 \n"
+ "TUI_OO AterMux TP 2[_225] \n"
+ "F-UYRE TC AterMux TP 2 \n"
+ "RRRDSA AterMux TP 31[_256] ";
String textStr[] = subjectString.split("\n");
for (int i = 0; i < textStr.length; i++) {
String ResultString = null;
try {
Pattern regex = Pattern.compile("????????");
Matcher regexMatcher = regex.matcher(textStr[i]);
if (regexMatcher.find()) {
ResultString = regexMatcher.group();
System.out.println(ResultString); ///
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}
}
我希望程序在此代码上打印单词 (TP) 之后和 ([) 之前的值,以获得如下结果:
46
9
2
2
31
您可以使用 regexp TP\\s*(\\d+)\\[
(Java 代码中的双反斜杠)并使用regexMatcher.group(1)
获取值。 但是您不应该在循环的每次迭代中重新创建它,您应该为每个正则表达式使用Pattern.compile
一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.