我需要匹配两个单词(“火腿”或“火鸡”)的第一个实例,只要其中一个单词跟在“三明治”后面,并且“三明治”和(“火腿”或“火鸡”)之间没有“禁止”这个单词。你知道吗
reuben sandwich with ham and turkey ham sandwich with cheese
reuben sandwich with forbidden ham and turkey ham sandwich with cheese
我使用的正则表达式仍然与第二句匹配。如何修改regex使其与第二句不匹配。提前谢谢!你知道吗
Tags:
你可以用
参见regex demo
sandwich
-匹配子字符串sandwich
((?:(?!forbidden).)*?)
-组1匹配任何没有开始forbidden
字的字符,零次或多次,尽可能少(ham|turkey)
-要么ham
要么turkey
。你知道吗以下是您可以考虑的场景的一些变体:
sandwich
之后匹配ham
和/或turkey
,请使用^{ham
然后turkey
或者turkey
然后ham
,可以在上面的正则表达式中添加一个负的lookahead:^{相关问题 更多 >
编程相关推荐