我有一个正则表达式匹配列表中的一系列字符,但我想阻止它匹配一个单词.
我的正则表达式是:
^widget/([\w\d~]+)/?(?:[\w\d~]+)/?$
Run Code Online (Sandbox Code Playgroud)
我希望它像这样匹配:
widget/JQYHHU - 视图小部件,应该匹配widget/JQYHHU/ - 视图小部件,应该匹配widget/JQYHHU/bag-of-screws - 视图小部件,应该匹配widget/JQYHHU/bag-of-screws/ - 视图小部件,应该匹配widget/add-查看部件,应该不匹配widget/add/-查看部件,应该不匹配是否可以添加条件以匹配字符,但是如果它们拼写单词"add"则不能?
^widget/(?!add)([\w\d~]+)/?(?:[\w\d~]+)/?$
Run Code Online (Sandbox Code Playgroud)
这是一个零宽度的负前瞻断言 ; 基本上它说:"站在我在哪里,现在,确保如果我期待我没有看到这个模式add,但是当我做不移动光标位置."
请在此处阅读:http://www.regular-expressions.info/lookaround.html