2016-03-28 18 views
0

パターンがありますので、任意の数の単語の後に正規表現が一致しない

/a/b/c/Dont Want This /タグのようなパターンがあります。

  1. /A/B/C/D /いけない。この/タグ
  2. /Aが欲しい:

    今パターンだから、いくつかの他のパタ​​ーンは次のようになります/ B/ 後に任意の文字を持つことができます

これ/ランダムなもの/タグをしたい/b/c/d/e/.../x/Dont私の正規表現は、文字列に表示されない「いけないこれが欲しい」ことを確認するために、負の先読みを使用すると、また、文字列が "tag"で終わっていることを確認してください。 ?。Pythonのreモジュールを使用して

私の問題は、どのように「いけないこれが欲しい」前および/ a/bの

PS」の後に表示されるすべての可能なもののためできるようにするとして、私は立ち往生していますということです事前に

おかげ

+1

だから、与えられた 'これをしたい/a/b/c/d/e/.../x/Dont /ランダムなもの/ tag'、あなたが一致させたいん'/C/D/E /.../x/'? –

+0

は、私が「/a/b/c/d/../tag」を持っていますが、どこでも「/ A/B」および「/タグ」間「いけない。このウォント」ではない任意のパターンにマッチする正規表現をしたいです。また、 "/ 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 '意味するか(?!。* \ /いけないこれが欲しい)。* \ /タグ$'あなたは '\' –

+0

をエスケープする必要があるとして、私は怖いです、私は私がされていないと思います要件が明記されていなければならない。 "Dont Want This"が "/ a/b"と "/ tag"の間にあれば、正規表現は一致しません。したがって、 "/ a/b"で始まり "/ tag"で終わり、 "Dont Want This"が間にない文字列はすべて問題ありません。 – amrx

+1

@Harsh:この正規表現はすでにこれをやっていないです:Pythonであなたが '/' – anubhava

関連する問題