2016-03-27 9 views
1

を見つけない非常に簡単な正規表現は、私は、この正規表現文字列を持っている私の検索テキスト

prodcssstart 
<!--<link href="content/bundles/css.min.css" rel="stylesheet" />--> 
prodcssend 

をしかし、私はそれを実行したときには、式を見つけることができません。

誰かが私が間違っているかもしれないと示唆することができます、私はそれをあまり単純化しましたが、多分私はすべてにマッチするために使用する。*に問題があると考えています。どんな助けでも大歓迎です。

+2

どの正規表現システムを使用していますか?かっこは文字またはリテラルをグループ化することを意図していますか?あなたのテキストに ''、xx' 'はありません。あなたが何をしようとしているのかは分かりません(関数呼び出しのカッコで文字列を検索して置き換えない限り)。あなたが何をしているのかがはっきり分かります)。また、あなたの正規表現システムはデフォルトで改行の間でマッチしますか? –

+1

ほとんどの正規表現では、ドットは改行にマッチしません。 – Gene

+0

https://meta.stackoverflow.com/questions/285733/should-give-me-a-regex-that-does-x-questions-be-closedも参照してください。 – sashoalm

答えて

2

まず、you can't parse HTML with regex

しかし、あなたのケースでは、デフォルトではドットが改行に一致しないので、問題は改行によって引き起こされる可能性が最も高いです。これを無効にするには、適切なスイッチを渡す必要があります(Pythonではre.DOTALL、Perlではsなど)。

1

あなたはtempered greedy token solutionを思い付くことができます:

prodcssstart 
(?:(?!prodcssend).)* 
prodcssend 

内訳:prodcssstart

  • ため

    • 表情は、それがprodcssend
    • 続い ないあるとして任意の文字にマッチ
    • と一致するprodcssend

    (異なる修飾子を気に!)a demo on regex101.comを参照してください。

  • 関連する問題