我有这个正则表达式,我的输出似乎匹配每个单独的空格但捕获组只是alpha字符。我一定错过了什么。
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);
}
答案 0 :(得分:1)
没有捕获组,但您需要使用+
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());
}