PCRE - 负面前瞻

时间:2014-10-05 11:16:34

标签: regex pcre

我想匹配整行,这里是一个示例集:

/jome/stat/d-heme-sdfsdf/ertert ***# NOT wanted***
/jome/stat/d-heme-sdfsdf # WANTED
/jome/stat/d-gome-sdfsdf/qeqwe # NOT wanted

所以我做了:

(e|d|b)-(heme|gome|jome)-(.+)(?!\/)

不幸的是,它仍然与不需要的线匹配。错误在哪里?

2 个答案:

答案 0 :(得分:2)

你不需要消极的向前看。 .也匹配/

(e|d|b)-(he|go|jo)me-[^\/]+$

答案 1 :(得分:1)

如果您想使用否定前瞻,请将其放在(.+)之前,并且不要忘记在否定前瞻中添加.*?

(e|d|b)-(heme|gome|jome)-(?!.*?\/)(.+)

DEMO