如果有多行,我的正则表达式就不起作用。我正在尝试匹配/#- #/ 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
#/ 发布于 2019-04-25 14:41:18
您可以使用^*匹配包括换行符在内的任何内容
请尝试以下操作:
function highlightMessage(message) {
return message.replace(
/\/#\s*([^]*)\s*#\//g,
(_, g) => `<span class='highlited-message'>${g}</span>`,
)
}发布于 2019-04-25 14:43:08
看起来您正在尝试匹配/#...#/块的重要字符:
/\/#\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
https://stackoverflow.com/questions/55842974
复制相似问题