windowsで入力した「~」とmacで入力した「〜」はUnicode文字コードが異なる
「〜」をwindowsで入力するとUnicode文字コードはU+FF5Eになり、macで入力するとU+301Cになる。
数値実体参照で言えばwindowsは~
、macは〜
となる。ドウシテコウナッタ…
詳しい説明は以下の記事にあった。
Oracleデータベースで、波ダッシュの文字化けはなぜ起きるのか?
今回ハマったのは、windowsで入力した「〜」を含む文字列を正規表現で抽出する際、正規表現をmacで書いていたため「〜」の文字コードがOS間で異なり、正しく抽出されないことだった。
解決策としてはwindowsで入力した「〜」をコピペして正規表現に記載した。すごくダサいので、もう少しスマートなやり方があれば良いのだが… 見た目には変わらないのでなぜ抽出できないのか小一時間悩んだためみなさんもお気をつけください。