同じ結果で多くの言語でこれを試しました。
JavaScript の例:
/[A-z]/.test("_"); // => true
/[A-z]/.test("0"); // => false
/[A-z]/.test("-"); // => false
/[A-z]/.test("A"); // => true
最初のケースが返されないのはなぜfalse
ですか?
同じ結果で多くの言語でこれを試しました。
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-z
にA-Za-z
.