こんにちは、hachi8833です。久しぶりに正規表現についての記事を書いてみました。 一応Ruby(Onigmo)を対象にしましたが、なるべく他の正規表現ライブラリでも通用する一般的な記述を心がけました。エッジケースを扱っているためシンタックスハイライトがついていけてない部分がありますのでご了承ください。 ⚓ 文字クラス[ ]内のエスケープ 正規表現でのエスケープ、特に記号のエスケープは何かと面倒になりがちです。記号が出てくるたびに片っ端からバックスラッシュ\でエスケープしてばかりだと疲れてしまいます。 しかしつい忘れがちですが、正規表現の中でも文字クラス[ ]の中だけは別世界になっていて、文字クラスの外よりもエスケープが少なくてすみます。 あくまで原則としてですが、文字クラス[ ]の中に限り、以下の4つの記号だけがメタキャラクタ(=機能を持つ記号)として扱われます。 \ バックスラッシ
![正規表現: 文字クラス [ ] 内でエスケープしなくてもよい記号|TechRacho by BPS株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/f148416a5cc49119b1e419fed39d4ad841c1c08b/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2020%2F10%2Fregexp_signs_no_need_to_escape_in_braces_eyecatch-min.png)