多行的JavaScript正则表达式?

时间:2016-07-27 09:07:29

标签: regex

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

嗨,我想使用reg表达式来获取每个(START)和(END)中的文本,其中(START)和(END)中可以有换行符。

我尝试使用这个表达式

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

但它会突出显示所有文本,包括那些不在(START)和(END)内的文本。

如何在每个(START)和(END)中获取文本,其间有换行符?

1 个答案:

答案 0 :(得分:0)

.*部分在您的模式中是重复的,因为[\s\S]*匹配相同的文字。

此外,您需要在*?之后使用延迟量词[\s\S],以便在STARTEND之间匹配尽可能少的字符。详细了解greedy trap at rexegg.com

使用

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

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

请参阅regex demo