2006年2月 8日(水) 17時13分31秒 [Perl/CGI] マッチングでエラー「Unmatched [ in regex; marked by~」 正規表現を使ったマッチングで、「Unmatched [ in regex; marked by~」という謎のエラーメッセージが出てしまうことがあります。これは、マッチング対象の日本語文字列の文字コードがSHIFT-JISだった場合に発生します。この問題を解決するには、問題のある文字の前に「\」を付けるか、文字コードをUnicodeなどに変えてから処理を行う必要があります。 WindowsではSHIFT-JISが標準だし、UTF-8はNetscape4が読まないし…という感じで、CGIの文字コードは大抵SHIFT-JISで作ってるんですけども、SHIFT-JISの問題でまた煮詰まりました。(^^;;; 正規表現で文字列の比較を行ってる箇
![マッチングでエラー「Unmatched [ in regex; marked by~」](https://cdn-ak-scissors.b.st-hatena.com/image/square/e75dfdd7f7239ec1834d9ef8307d46e0939f1d69/height=288;version=1;width=512/https%3A%2F%2Fwww.nishishi.com%2Fcommon%2Fimg%2Fset1%2Fsiteimage-broad.png)