2016-07-27 5 views
0
START Curabitur mollis, dolor ut rutrum consequat, arcu nisl ultrices diam, adipiscing aliquam ipsum metus id velit. Aenean vestibulum gravida felis, quis bibendum nisl 

euismod ut.END 

1 START xxx END 

2 START xxx END 

3 START xxx END 

4 START xxx END 

5 START xxx END 

6 START xxx END 

こんにちは、(START)と(END)内に改行がある場合は、それぞれの(START)と(END)内のテキストを取得するためにreg式を使用します。複数行にわたるJavaScriptの正規表現ですか?

私はこの表現に

(START)(.*[\S\s]*)(END) 

を使用してみましたが、それは(START)内のものでないと(END)を含め、すべてのテキストをハイライト表示します。

どのようにして各(START)と(END)の間に改行を入れてテキストを取得できますか?

+0

ちょうど怠惰なマッチング使用を参照してください - 'START(?[\ S \ S] *)END'を。 –

+0

http://www.rexegg.com/regex-quantifiers.html#greedytrapをご覧ください。 –

答えて

0

[\s\S]*は同じテキストと一致しているため、.*の部分はパターンに還元されています。

はまた、あなたはそれがSTARTENDの間で可能な限りの数文字を一致させるために[\s\S]後怠惰な数量詞*?を使用する必要があります。 greedy trap at rexegg.comについてもっと読む。

使っ

/START([\s\S]*?)END/g 

または

/START([^]*?)END/g 
regex demo