我正在尝试构建一个正则表达式来匹配以下行样式:
123 warehouse
124 token warehouse.
153token token abc123; etc. - warehouse
223abdc token abc green warehouse
但不是这些行:
53red warehouse.
323 green token token etc warehouse.
我构建的正则表达式使用负前瞻,但在 https://regex101.com/ 上测试它匹配所有行:
\d+(?!( ?red| ?green)).*(\bwarehouse\b)
是什么错误,应该如何修改?如果重要的话,正则表达式应该在 Java 下编译(在转义必要的字符之后)。
最佳答案
如果您使用 possessive quantifier,您的模式有效防止回溯:
\d++
而不是 \d+
Here is a demo at regex101这是 pcre,但 Java 正则表达式也应该支持这些。
关于java - 正则表达式用于匹配没有特定模式的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56399120/