Windows の機種依存文字を正規表現を使って検出する方法

Windows の機種依存文字を正規表現を使って検出する方法

Windows の機種依存文字を検出する方法は様々な方法がありますが、正規表現を使って検出すると便利です。文字化け対策としては是非使いたい正規表現です。

機種依存文字を検出する場合、文字コードが Shift_JIS の場合と EUC-JP とで異なるのでそれぞれ以下に正規表現を記載します。

(文字コードが Shift_JIS の場合)

[NEC 特殊文字]
\x87[\x40-\x5d\x5f-\x75\x7e\x80-\x9c]

[NEC 選定 IBM 拡張文字]
\xed[\x40-\x7e\x80-\xfc]|\xee[\x40-\x7e\x80-\xec\xef-\xfc]

[IBM 拡張文字]
[\xfa-\xfb][\x40-\x7e\x80-\xfc]|\xfc[\x40-\x4b]

(文字コードが EUC-JP の場合)

[NEC 特殊文字]
\xAD[\xA1-\xBE\xC0-\xD6\xDF\xW0-\xFC]

[NEC 選定 IBM 拡張文字]
\xED[\xA1-\xDF\xE0-\xFE]|\xFB[\xA1-\xDF\xE0-\xEE\xF1-\xFE]