Regex 为什么字符范围类[A-z]与下划线匹配?

Regex 为什么字符范围类[A-z]与下划线匹配?,regex,Regex,在多种语言中尝试此方法,结果相同 JavaScript示例: /[A-z]/.test("_"); // => true /[A-z]/.test("0"); // => false /[A-z]/.test("-"); // => false /[A-z]/.test("A"); // => true 为什么第一个案例不返回false?字符范围没有那么智能。它们基于ascii码。退房大写A-Z和小写A-Z范围之间存在特殊字符,即: [ \ ] ^ _ ` 因此,它应

在多种语言中尝试此方法,结果相同

JavaScript示例:

/[A-z]/.test("_"); // => true
/[A-z]/.test("0"); // => false
/[A-z]/.test("-"); // => false
/[A-z]/.test("A"); // => true

为什么第一个案例不返回
false

字符范围没有那么智能。它们基于ascii码。退房大写
A-Z
和小写
A-Z
范围之间存在特殊字符,即:

[
\
]
^
_
`

因此,它应该是
A-Za-z
,而不是
A-z

+1用于记录alpha集合之间的字符。方便的参考资料。