2016-03-28 76 views
0

所以我有一個模式,如正則表達式匹配任何數字後

/a/b/c /不要這樣/標記。

現在的模式可以有任何字符A/B/ 因此,一些其他的模式會像後:

  1. /A/B/C/d /不想這/標籤
  2. /A /b/c/d/e/.../x/Dont想要這個/隨機的東西/標記

我的正則表達式將使用負向前視來檢查「不想要這個」不會出現在字符串中,並且還要檢查字符串是否以「tag」結尾。

我的問題是,我堅持就如何允許在此之前,「不想要這個」後「/ A/B

PS出現在所有可能的東西:?使用Python的re模塊

在此先感謝

+1

所以給出'/a/b/c/d/e/.../x/Dont希望這個/隨機的東西/ tag',你想匹配'/ C/d/E /.../ X /'? –

+0

我想要一個匹配任何具有「/a/b/c/d/../tag」但不是「不想要這個」的模式的「/ a/b」和「/ tag」之間的任何模式的正則表達式。此外,在「/ a/b」之後和「/ tag」之前可以有任意數量的文字(前一行中提到的文字除外)。 – amrx

回答

1

您可以嘗試基於負前瞻這個表達式:

^/a/b(?!.*/Dont Want This).*/tag$ 

(?!.*/Dont Want This)將禁止/Dont Want This APPEA以/a/b開頭並以/tag結尾。

RegEx Demo

+0

你的意思是'^ \/a \/b(?!。* \/Dont Want This)。* \/tag $'你需要轉義'\' –

+0

恐怕,我想我沒有明確說明要求。如果「不想要這個」出現在「/ a/b」和「/ tag」之間的任何地方,那麼正則表達式不應該匹配。因此,任何以「/ a/b」開頭並以「/ tag」結尾並且沒有「不想要這個」的字符串都可以,並且應該匹配。 – amrx

+1

@Harsh:在Python中,你不需要轉義'/' – anubhava