我似乎无法找到一种方法让 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以外的表达式会更简单[^]
,它将匹配任何字符。所以:
/[^]+/