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