记录一个正则表达式的区别
在正则表达式中,.
和 [^]
是两个不同的字符类别,有一些区别:
.
:
表示匹配除了换行符(\n、\r)之外的任意字符。
不匹配换行符,所以在默认情况下,. 不会匹配换行符。
示例:/a.b/
可以匹配 “a+b”、”a@b”,但不匹配 “a\nb”。
[^]
:
表示匹配任意字符,包括换行符。
[^] 中的 ^ 在字符类中表示取反的意思,但由于没有指定具体字符,它实际上匹配任意一个字符,包括换行符。
示例:/a[^]b/
可以匹配 “a+b”、”a@b”、”a\nb”。
在一般情况下,如果你想匹配除了换行符之外的任意字符,通常使用 . 就足够了。如果需要匹配包括换行符在内的任意字符,可以使用 [^] 或 [\s\S](匹配任意空白字符或非空白字符的组合)。