bunty's blog

ググったこととか勉強したことのメモ

JS の正規表現の [] 内の . はエスケープしなくて良い

JS の `.match` を使う際に知ったのですが、[] の中の . はエスケープをしなくて良いそうです。

こちらを参考にさせてもらいました。

techracho.bpsinc.jp

 

念の為こちらで動作の確認をしてみたところ想定どおり不要でした。

> ".".match(/[.]/)
[ '.', index: 0, input: '.', groups: undefined ]
> "".match(/[.]/)
null
> "".match(/./)
[ '', index: 0, input: '', groups: undefined ]

 

実際に phpstorm を使って書いたのですが、エスケープを行うとその箇所がハイライトされて、

エスケープが不要だよという表示がされます。

ただ書いていて思ったのですが、少しわかりにくい仕様だなと思うので

必要に応じてコメントを入れるなどして、パッとみてわかるようにするのが良いと思いました。