私はこの文字や数字ではないものと一致するように正規表現を書くにはどうすればよいですか?
str = "bla";
/([^A-z]|[^0-9])/.test(str.charAt(0));
をしようとしているが、それは関係なく、私は、文字列に入れて何を私にtrue
を与えない
私はこの文字や数字ではないものと一致するように正規表現を書くにはどうすればよいですか?
str = "bla";
/([^A-z]|[^0-9])/.test(str.charAt(0));
をしようとしているが、それは関係なく、私は、文字列に入れて何を私にtrue
を与えない
あなたの正規表現は「いずれかない文字かではない何かを意味するので、それはです数。" すべて文字は、これらの条件の少なくとも1つを満たしています。私はあなたが本当にしたいことはこれです疑う:「手紙とない数両方ではない何かを」
/[^A-Za-z0-9]/
これは、違いを見ます?
補足として、[A-z]
は間違っています。 [A-Z]
と[a-z]
は2つの異なるキャラクタセットであり、は技術的にはです。いくつかの正規表現エンジンは、これで取り除くことができますが、いくつかはエラーを投げたり、意図しなかったことをしたりします。
"AからZまでの任意の文字を大文字小文字に関係なく"書く正しい方法は[A-Za-z]
です。それとも、あなたのケースにされるであろう、あなたの正規表現大文字と小文字を区別しないにするためにi
フラグを使用することができます。もちろん
/[a-z0-9]/i
+1完全な答え! –
、すべての文字が非文字や数字以外のいずれかであるため。それを試してみてください!ああ、「A-Z」はあなたの考えではありません。 :) –