对于我来说,我有多个网址,我需要匹配一些既不包含abc
也不包含xyz
的网址。例如,给定的网址如下-
-安全/ api / abc / sometext
-安全/ api / xyz / sometext
-安全/ api /必填/ sometext
-不安全/ api / sometext / sometext
预期结果
网址必须以secure/api/
答案 0 :(得分:0)
我认为这可以解决您的问题
^secure\/api\/(?!.*(abc|xyz|\/{2,})).+\/sometext$
说明
^secure
-它与字符串开头的安全单词匹配。
\/
-它与文字字符/
相匹配。
(?!.*(abc|xyz|\/{2,})).+
-此处?!
表示负面的提前预测。
-This complete sentence means match any thing except word abc and xyz and '//'.
$
-这表示字符串的结尾。
我认为这是另一个版本,它将表现更好
^secure\/api\/(?:(?!.*(abc|xyz|\/{2,})).+)\/sometext$
详细信息-
?:
将组成一个非捕获组,这将有助于提高性能
PS - 在发布任何问题之前,我认为您应该阅读行为准则并做一些作业,或者显示一些有关指定输入和所需输出的有效示例,以及边缘案例。