我正在尝试使用正则表达式来抓取 2 段完整的字符串。我的正则表达式在http://gskinner.com/RegExr/上运行良好
这是一个示例字符串:
Regex is fun when it works 99
这是我的正则表达式
(.*)\\s+(\\d+)$
这些是我在使用 Java 的匹配器 (matches()) 和模式时得到的组:
1: Regex is fun when it works 99
2: Regex is fun when it works
使用普通的正则表达式(在 RegExr 上),我得到了我真正期望的结果:
1: Regex is fun when it works
2: 99
将 Regex 放入 Java 时有什么需要注意的警告吗?我已经有特殊字符的 \\ 。也许使用 . ?
如果您想要复制和粘贴示例应用程序:
String str = "Regex is fun when it works 33";
String regx = "(.*)\\s+(\\d+)$"
Pattern p = Pattern.compile(regx);
Matcher m = p.matcher(str);
if (m.matches()) {
for (int i = 0; i < m.groupCount(); i++) {
System.out.println(i + ": " + m.group(i));
}
}