[英]RegEx for matching digits not followed by specific pattern
我试图建立一个正则表达式来匹配以下样式的线条:
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下编译(转义必要的字符后)。
拥有123red warehouse.
您的正则表达式匹配1个或多个数字12
然后不匹配红色或绿色3red
然后匹配warehouse
a space
的任何字符。
在前几个数字后添加负前瞻:
\d+(?!\d)(?! ?(?:red|green)).*(\bwarehouse\b)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.