Javascript 为什么括号中的点符号表示它自己,而不是除换行符或行终止符以外的任何单个字符

Javascript 为什么括号中的点符号表示它自己,而不是除换行符或行终止符以外的任何单个字符,javascript,regex,Javascript,Regex,对于javascript,我发现点符号有三种使用方法。例如: /./.test('1'); //true /\./.test('.'); //true /[.]/.test('1'); //false /[.]/.test('.'); //true 这是因为括号代表一个,它定义了一组要匹配的字符。在字符类中,字符的含义通常是字符本身 正则表达式。信息: 在大多数正则表达式风格中,字符类中唯一的特殊字符或元字符是右括号(])、反斜杠()、插入符号(^)和连字符(-)。字符是字符类中的普通字符,不

对于javascript,我发现点符号有三种使用方法。例如:

/./.test('1'); //true
/\./.test('.'); //true
/[.]/.test('1'); //false
/[.]/.test('.'); //true

这是因为括号代表一个,它定义了一组要匹配的字符。在字符类中,字符的含义通常是字符本身

正则表达式。信息:

在大多数正则表达式风格中,字符类中唯一的特殊字符或元字符是右括号(])、反斜杠()、插入符号(^)和连字符(-)。字符是字符类中的普通字符,不需要反斜杠转义


在正则表达式中,有两种使用点的方法。元字符,与除….之外的任何其他字符匹配。。。。或者你想逐字匹配一个点,然后你通常会转义它或者把它放在一个字符类中。许多人在正则表达式中使用
[.]
而不是
\.
来匹配文字点,因为他们说文字点更可读。

这不是特定于JavaScript的,这是regex的工作方式。使用“regex点含义”可以很容易地搜索它。如给定链接文档
中所述,点匹配单个字符,不管这个角色是什么。唯一的例外是换行符。
这应该可以回答您在主题中提出的问题。如果在字符类中它仍然表示“任何字符”,那么它将无法实现将其放入字符类的目的,不是吗?