我试图用正则表达式匹配并提取URL的一部分,除非它是给定的单词。
以下是一些已经可以使用的测试数据:
/api/add --> no match
/api/add/view --> no match
/api/user1 --> matches and extracts "user1"
/api/user1/profile/ --> matches and extracts "user1"
不起作用:
/api/aaa/profile/ --> matches and extracts "aaa"
这是我当前使用的正则表达式:
/^\/api\/(?:([^\/(add)]+?))\/.*?$/i
我可以按自己的意愿工作,除非它包含“ a”或“ d”而不是整个“ add”一词。
答案 0 :(得分:0)
您可以使用此正则表达式:
/^\/api\/(?!add(?:\/|$))([^\/]+)/i
在正则表达式中,当您使用[^\/(add)]+
时,表示除/
之外的任何字符。 (
,a
,d
,)
个字符,因为在字符类即[...]
中没有分组。
答案 1 :(得分:-1)
如果您希望匹配“ / api / * / whatever”并返回为*找到的内容,除非它是“ add”
Replicate