我正在尝试解析一些文本,但由于一些奇怪的原因,Java正则表达式不起作用.例如,我试过:
Pattern p = Pattern.compile("[A-Z][0-9]*,[0-9]*");
Matcher m = p.matcher("H3,4");
Run Code Online (Sandbox Code Playgroud)
当我试图得到数字m.group(1)和m.group(2)时,它只是给出了没有匹配的异常.我是否遗漏了Java正则表达式的工作原理?
是.
matches()或find()在匹配器上.例:
Pattern p = Pattern.compile("[A-Z](\\d*),(\\d*)");
matcher m = p.matcher("H3,4");
if (m.matches()) {
// use m.group(1), m.group(2) here
}
Run Code Online (Sandbox Code Playgroud)