我已经在Java中实现了下面的测试正则表达式,但我看不到任何匹配项。我是正则表达式的新手,但它看起来应该找到匹配。我在这里做错了什么?
public static void main(String[] args) {
// TODO Auto-generated method stub
String process= "SSHD is running: PID:12506, Wrapper:STARTED, Java:STOPPPED";
Pattern patternFileToScan = Pattern.compile("SSHD is running: PID:[d]{1,5}, Wrapper:STARTED, Java:STARTED");
Matcher matcherFileToScan = patternFileToScan.matcher(process);
System.out.println("TEST");
if(matcherFileToScan.matches()) {
System.out.println(matcherFileToScan.group());
}
}
答案 0 :(得分:6)
将PID:[d]{1,5}
更改为PID:\\d{1,5}
。
[d]{1,5}
会尝试匹配字符d
而非数字。