Matcher headerMatcher = Pattern.compile("([a-zA-Z]+[a-zA-Z\\s]*)[\\s]+(\\d+)")
.matcher("jumping around 9");
Run Code Online (Sandbox Code Playgroud)
因此,第一个捕获组应该是具有至少一个字母字符的任何字符串.以下是这方面的例子:
第二个捕获组只是数字.
所以,这是我尝试捕获这两组:
System.out.println(headerMatcher.group(1));
System.out.println(headerMatcher.group(2));
Run Code Online (Sandbox Code Playgroud)
这是结果:
run:
Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:485)
at Main.main(Main.java:51)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)
在http://www.regexplanet.com/advanced/java/index.html上测试后
这是我的预期:

有些东西不对,我不知道为什么.
java.lang.IllegalStateException如果你不打电话Matcher#matches或Matcher#find打电话,你会得到Matcher#group(int)
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |