首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式,匹配包括多行

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

Stack Overflow用户
提问于 2019-04-25 14:21:56
回答 2查看 46关注 0票数 0

如果有多行,我的正则表达式就不起作用。我正在尝试匹配/#- #/ symbols中的所有内容。在一行代码中,它工作得很好。你可以在这里查看:https://regex101.com/r/yZTXwh/3

代码:

代码语言:javascript
复制
highlightMessage(message) {
    return message.replace(
      /\/#\s*(.*?)\s*#\//g,
      (_, g) => `<span class='highlited-message'>${g}</span>`,
    )
  }

文本:

代码语言:javascript
复制
Hello
 /# my name
is
Mike
nice to meet you

 #/ 
EN

回答 2

Stack Overflow用户

发布于 2019-04-25 14:41:18

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

请尝试以下操作:

代码语言:javascript
复制
function highlightMessage(message) {
    return message.replace(
      /\/#\s*([^]*)\s*#\//g,
      (_, g) => `<span class='highlited-message'>${g}</span>`,
    )
  }
票数 0
EN

Stack Overflow用户

发布于 2019-04-25 14:43:08

看起来您正在尝试匹配/#...#/块的重要字符:

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

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55842974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档