我有这个正则表达式,我的输出似乎与每个空格匹配,但捕获组只是字母字符。我一定错过了什么。
String regexstring = new String("1234567 Mike Peloso ");
Pattern pattern = Pattern.compile("[A-Za-z]*");
Matcher matcher = pattern.matcher(regexstring);
while(matcher.find())
{
System.out.println(Integer.toString(matcher.start()));
String someNumberStr = matcher.group();
System.out.println(someNumberStr);
}
最佳答案
没有捕获组,但需要使用+
quantifier (意味着 1
或更多次)。 *
量词与前面的元素匹配零次次或多次,并且 creates a disaster of output...
Pattern pattern = Pattern.compile("[A-Za-z]+");
然后打印匹配结果:
while (matcher.find()) {
System.out.println(matcher.start());
System.out.println(matcher.group());
}
关于Java正则表达式组匹配空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25129084/