为什么下面的代码只给我“abc”而不是“abc \ nef”?正则表达式如何处理新线?感谢。
var input = "abc\nef",
pattern = /.*/g,
result = pattern.exec(input),
i = 0;
for (i = 0; i < result.length; i++) {
console.log(result[i]);
}
答案 0 :(得分:4)
在Javascript中,您需要使用[\s\S]
来匹配任何字符(包括换行符),因为dot与newline不匹配且Javascript没有s
(DOTALL)正则表达式开关。
所以如果你使用:
/[\s\S]*/.exec("abc\nef");
你会得到:
["abc
ef"]