13

同じ結果で多くの言語でこれを試しました。

JavaScript の例:

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

最初のケースが返されないのはなぜfalseですか?

4

1 に答える 1

23

文字範囲はそれほどインテリジェントではありません。それらはASCIIコードに基づいています。アスキーテーブルをチェックしてください。大文字A-Zと小文字のa-z範囲の間に特殊文字が存在します。つまり、次のとおりです。

[
\
]
^
_
`

したがって、代わりA-zA-Za-z.

于 2013-11-09T03:09:31.827 に答える