正規表現のコツ
About
正規表現のコツについてメモしておきます。特に重要な内容はありません。
半角スペースや改行などの見えない文字を対象とするとき
半角スペースや改行、タブなどを含めた文字列を対象とする正規表現は、それらを視認できない環境下ではトラブルを起こしやすいです。上手くいかない時は、それらを視認できるテキストに置き換えてから正規表現を実験するとミスに気が付くかもしれません。例えば改行コード '\n' を '@' に置き換えるなどです。
半角スペース文字列のマッチ
半角スペース文字列は単純に " " としてもマッチできる正規表現が多いです。エスケープコードを利用して、半角スペースを \s と表記することはありますが、正規表現における \s は殆どの場合に空白文字列を意味します。したがって、半角スペース以外にも、改行やタブなどの文字列をマッチしてしまいます。
ユニコードでは実は半角スペースは2つあります。また、正規表現文字列として直接半角スペースを用いることが出来ない場合には、半角スペース文字を直接指定する必要があります。(単に気持ちが悪いので半角スペースを使わない場合も、仕組み的に無理な場合も両方考えられます。)
半角スペースは、ユニコードでは、u0020 および、u00A0 です。これらの文字列をユニコードとして指定すると、半角スペースとして扱われます。