它应该是java正则表达式不匹配

Axo*_*ren 1 java regex

Matcher headerMatcher = Pattern.compile("([a-zA-Z]+[a-zA-Z\\s]*)[\\s]+(\\d+)")
                               .matcher("jumping around 9");
Run Code Online (Sandbox Code Playgroud)

因此,第一个捕获组应该是具有至少一个字母字符的任何字符串.以下是这方面的例子:

  • 例一
  • ABC
  • 一个bcde ff ee ggg aaa

第二个捕获组只是数字.

  • 1
  • 22
  • 333

所以,这是我尝试捕获这两组:

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上测试后
这是我的预期:

http://www.regexplanet.com/advanced/java/index.html

有些东西不对,我不知道为什么.

anu*_*ava 6

java.lang.IllegalStateException如果你不打电话Matcher#matchesMatcher#find打电话,你会得到Matcher#group(int)