我的代码(不起作用)
(?!setFeature)[^\n]*"(?:http|ftp):\/\/[\w\d]
因此,我希望阻止setFeature("http://xyz")
的匹配,但允许匹配其他任何内容,例如setUrl("http://xyz")
。谢谢!
答案 0 :(得分:1)
改变你的前瞻,将它锚定起来,让它在任何地方匹配:
^(?!.*setFeature)[^\n]*"(?:http|ftp):\/\/[\w\d]
答案 1 :(得分:1)
问题是你的[^ \ n] *匹配" etFeature"因为这在技术上符合您的标准。您需要添加单词边界以指示它必须是单词的开头或字符串的开头,所以:
\b(?!setFeature)\w+[^\n]*"(?:http|ftp):\/\/[\w\d]
您可以看到a live test here。