2016-05-05 9 views
4

! から始まる全文の行をregexとマッチさせようとしています:/(!\w+\s+\S+)/igこれはかなり近似していますが、2ワードだけです。私は新しい行まで単語をマッチさせたいと思います。また、私は文章の途中でスポイラーの問題を参照してください。実際の例:あなたはちょうどupdated regex demoregex matching whole line

^を参照してください

^!.* 

必要http://www.rubular.com/r/MXmholsDwE

答えて

4

は(Rubyで)行の先頭、!が一致するリテラル!.*がゼロに一致するかに一致します改行以外の文字(Rubyを使用している場合は、Rubular Webサイトを使用していると仮定します)。

JS、PHP、または.NETなどのRuby以外の正規表現フレーバーを使用している場合は、/m - マルチライン修飾子(JavaScriptで/^!.*/gmなど)を指定する必要があります。

+1

が魔法のように作業する:)が、一つのこと - 追加する必要があります!!
例外: '^ !. [^ <] *' – Szmerd

1

あなたは、行の最後にすべてを一致させたい場合は:

/(!.+)/ 

あなたはそれが形式!word---次のことを確認するには:

/!\w.+/ 
0

追加したい場合に<br>の例外は、肯定の先読み演算子を使用する必要があります。正規表現を使用してHTML文書を解析することは、通常はうまく行かないことに注意してください。

<br />もお考えください。だから、最終的REG-EXは、次のようになります

^!.+?(?=\<br\>|\<br\s*\/\>|$) 

これは、以下のサンプルの強調表示部分一致します!

をスポイラーサンプル
無スポイラー
スポイラー
! !スポイラーもっと見る <br>言葉

サンプルの途中で新しい < BR/>ライン

スポイラー件までスポイラー:https://regex101.com/r/nZ0oY9/3