Javascript匹配分隔符的所有内容,包括换行符

时间:2016-08-02 15:35:18

标签: javascript regex

以下代码正确匹配{{{}}}之间的所有内容,但示例为'line3',因为括号内容包含换行符。如何匹配呢?

const testcase = `
    line1: {{{ content1 }}}
    line2: {{{ content2 }}}
    line3: {{{
        content3
    }}}
    line4: {{{ content4 }}}
`;

const regex = /^(\s+)(.*?)(\{\{\{ [^]*? \}\}\})/gm;

let match;
while ( ( match = regex.exec(testcase) ) != null ) {
    console.log(match);
}

1 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:

/^(\s+)(.*?)({{{[^]*?}}})/gm

RegEx Demo

问题是正则表达式中{{{之后是否存在空格,因为line3之后有一个换行符,所以它不匹配{{{行。