正则表达式,匹配包括多行

时间:2019-04-25 06:21:56

标签: javascript regex reactjs

如果有多行,我的正则表达式不起作用,我正在尝试匹配/#-----#/符号中的所有内容。在一行中,它可以正常工作。您可以在此处检查它:https://regex101.com/r/yZTXwh/3

代码:

highlightMessage(message) {
    return message.replace(
      /\/#\s*(.*?)\s*#\//g,
      (_, g) => `<span class='highlited-message'>${g}</span>`,
    )
  }

文本:

Hello
 /# my name
is
Mike
nice to meet you

 #/ 

2 个答案:

答案 0 :(得分:0)

您可以使用[^] *匹配包括换行符在内的任何内容

请尝试以下操作:

For demo check here
https://plnkr.co/edit/xrqdQvbUTNgKFn38nl1b?p=preview

答案 1 :(得分:0)

您似乎要匹配/#...#/块的有效字符:

/\/#\s*((?:.|\n)*?)\s*#\//gm

let s = `Hello
 /# my name
is
Mike
nice to meet you

 #/ 
 bar
 /# single-line #/
 foo
 /#
 
 multi-line
 
 #/
 baz
 `;
 
 let r = /\/#\s*((?:.|\n)*?)\s*#\//gm;
 let a;
 while ((a = r.exec(s)) !== null)
   console.log(a[1]);

这里是regex101