我正在编写一个正则表达式来捕获URL REST操作的参数。我写了以下内容:
(?:'/folder)?'/?([a-zA-Z0-9]+)+
它对/folder/one/two/three
非常有效,结果我得到了一个,两个三个件夹,但我不想捕获它。我希望得到一个空的结果。
在这种情况下,我怎么能否定这个词呢?
这里你需要使用PCRE动词(*SKIP)(*F)
,
(?:^(?:'/folder'/?)|^.*$)(*SKIP)(*F)|([a-zA-Z0-9]+)
演示
这是因为您正在捕获文件夹
尝试
'/folder'/?([a-zA-Z0-9]+)+
(?:'/folder)?'/?|([a-zA-Z0-9]+)+
试试这个。请参阅演示。
http://regex101.com/r/zR2tR4/10