[英]Regular expression in java to parse a string
我有一个琴弦。 字符串是“ New England 12 Philidelphia 24(Final)”。 我需要一个表达式,我应该可以从中检索类似的内容。
下面是一个SSCCE,显示了如何使用正则表达式和组来提取所需的数据。
仅供参考,尽管此代码仅适用于您提供的输入,但此代码将扫描包含多个类似结果的输入,并在while
循环中将所有结果匹配。
public static void main( String[] args ) {
String input = "New England 12 Philidelphia 24 (Final)";
String regex = "([a-zA-Z ]+)\\s+(\\d+)\\s+([a-zA-Z ]+)\\s+(\\d+)\\s+\\((\\w+)\\)";
Matcher matcher = Pattern.compile( regex ).matcher( input);
while (matcher.find( )) {
String team1 = matcher.group(1);
String score1 = matcher.group(2);
String team2 = matcher.group(3);
String score2 = matcher.group(4);
String result = matcher.group(5);
System.out.println( team1 + " scored " + score1 + ", " + team2 + " scored " + score2 + ", which was " + result);
}
}
输出量
New England scored 12, Philidelphia scored 24, which was Final
用这个:
"(\\w+) (\\d+) (\\w+) (\\d+) \((\\w+)\)"
试试看
^[\D]*\s*\d*\s*[\D]*\s*\d*\s*\([\D]*\)$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.