-4

私は正規表現に取り組んでいますが、それを機能させることができません。

このようなテキストで:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ultricies congue feugiat. 

Tom wrote:
> blablabla
> this is very interesting 
> blabla blabla
> I ate a apple yesterday
> this is very interesting 
> blabla blabla

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ultricies congue feugiat. 

「Tomwritten:」で始まり、最後の行が「>」で終わるテキスト全体を一致させて、テキストを削除し、2つのloremipsum文のみを取得したいと思います。

はっきりしているのかわからない…

編集:「\ wwritten:」で始まるすべてに一致する正規表現について考えていました。これは、改行とそれに続く「>」ではない文字に一致すると停止します。

Edit2:解決策を見つけました:

\w+ wrote:(\n>[^\n]*)*
4

3 に答える 3

1

このようなツールで正規表現を練習します。正規表現が何をしているかを非常に簡単に視覚化できます。

これを試して、必要に応じて調整してください。

Tom wrote:(.|\s)*>.*

于 2012-10-30T15:27:05.377 に答える
1

複数行にわたる正規表現を照合するには、複数行照合を指定する必要があります。

詳細については、この回答を参照してください。 複数行のテキストブロックに一致する正規表現

于 2012-10-30T15:33:55.217 に答える
1

これはあなたが望むもののようです(システムの必要に応じて改行文字を調整してください)

\w+ wrote:\n(>.*\n)*(>.*)

http://regexr.com?32l21

于 2012-10-30T15:42:15.460 に答える