我在c#(ship|sub)(?<!^(shipment|subway)$)
用于在数据未发货或地铁时检查给定数据是否包含ship或sub。
我想在java脚本中编写相同的表达式。我试着使用javascript negetive look后面的几个选项..但它们不符合我的目的:例如: 当我发货到正则表达式时,它不应该退货(因为我在正则表达式中排除货物)..但是,当我给予会员资格时,它应该给出船舶和匹配结果为真。
请你们中的任何人帮助我。
答案 0 :(得分:1)
您的正则表达式也不应该在.NET中起作用。一旦你匹配“ship”或“sub”,负面的lookbehind断言总是是真的:你匹配“ship”或“sub”,所以前面的字符可能从不是“精神”或“摆脱”,因此总是传递断言。相反,你必须意味着:
\b(ship(?!ment)|sub(?!way))\b
这也适用于Javascript,因为它只使用否定 lookahead 断言。