import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test
{
private static String REGEX = "(\\d\\b\\D\\b\\d)";
private static String INPUT = "1 b 8";
public static void main(String[] args) {
boolean result;
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(INPUT);
result = matcher.matches();
System.out.println(result);
}
}
应该是因为\b这个来匹配空格导致未成功匹配,把\b 直接改为空格就好了,
即:private static String REGEX = "(\d \D \d)";
或者改为:private static String REGEX = "(\d\s\D\s\d)"; //这里\s也代表匹配空白字符。
(具体可以参考下Ben Forta的《正则表达式必知必会》(修订版)一书,里面有基础的入门正则表达式的知识。)
上面的斜杠后面的斜杠被网站去掉了,加上去就可以了。