繁体   English   中英

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

[英]regex , match including multiple lines

如果有多行,我的正则表达式不起作用。我正在尝试匹配/#-----#/ symbols中的所有内容。 在一行中它工作正常。 您可以在此处查看: 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

 #/ 

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

请试试这个:

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

看起来你正试图匹配/#...#/块的重要字符:

/\\/#\\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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM