我似乎无法找到一种方法让 javascript 正则表达式匹配整个文本,而不是逐行匹配。我希望正则表达式引擎不要将 '\n' 视为文本的结尾,而是将其视为任何其他字符。
这是问题的一个例子:
var string = "Aaa\nbb";
console.log(/^A(.*)/g.exec(string)[1]);
控制台中的结果:
aa
我似乎无法找到一种方法让 javascript 正则表达式匹配整个文本,而不是逐行匹配。我希望正则表达式引擎不要将 '\n' 视为文本的结尾,而是将其视为任何其他字符。
这是问题的一个例子:
var string = "Aaa\nbb";
console.log(/^A(.*)/g.exec(string)[1]);
控制台中的结果:
aa
.不匹配换行符,不幸的是 JavaScript 也没有一个s开关来使它匹配换行符。因此,您不能使用.或仅与以下内容一起使用[\n\r]:
/(.|[\n\r])+/
.使用like以外的表达式会更简单[^],它将匹配任何字符。所以:
/[^]+/