关于JavaScript正则表达式的交替和字符集

时间:2016-05-24 17:49:21

标签: javascript regex

也许我愚蠢,但这个问题让我感到困惑。

var text = "aaa\naaa\naaa";
console.log("A: " + text.match(/(.|[\r\n])+/)[0]);
console.log("B: " + text.match(/[\r\n.]+/)[0]);

输出:

A: aaa
aaa
aaa
B: 

我真的不明白为什么。我认为他们应该做同样的事情(除了分组的东西)。

可能有关的另一个问题:

我从Windows系统中创建的文件中读取字符串。我试图匹配所有东西。

/[\n\r.]+/匹配整个字符串。

/[\n\r.]+/g没有(我在返回的数组中得到了很多' \ r \ n')。

/[\s\S]+//[\s\S]+/g都匹配整个字符串。

问题是什么?

1 个答案:

答案 0 :(得分:0)

(.|[\r\n])这种模式意味着任何一个字符|回车/新线
[\r\n.]这个意味着回车/新行/文字点