2014-10-05 60 views
0

我想匹配整行,這裏的例子設置: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

您不需要反面查看。 .也與/匹配。

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

仍然符合不想要的 – royskatt 2014-10-05 11:36:39

+0

@royskatt現在不 – 2014-10-05 11:42:23

+0

http://regex101.com/r/sC6hD7/1 – 2014-10-05 11:42:52

1

如果你想使用負前瞻然後(.+)之前將其放置,不要忘記添加.*?負前瞻內。

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

DEMO