我正在尝试使用 Regex 模式(在 Java 中)来查找 3 位数字的序列,并且连续只有 3 位数字。4位不匹配,2位不匹配。
对我来说明显的模式是:
"\b(\d{3})\b"
这与许多源字符串案例相匹配,例如:
">123<"
" 123-"
"123"
但它不会与“abc123def”的源字符串匹配,因为 c/1 边界和 3/d 边界不算作 \b 类所期望的“单词边界”匹配。
我本来希望解决方案是添加一个包含非数字 (\D) 和单词边界 (\b) 的字符类。但这似乎是非法的语法。
"[\b\D](\d{3})[\b\D]"
有谁知道我可以使用什么表达式来为源字符串情况提取“123”,例如:
"abc123def"
我会很感激任何帮助。是的,我意识到在 Java 中必须将 \b 之类的代码双重转义为 \b,但这不是我的问题,我不想将其限制为 Java 人员。