文字の正規表現

# 半角スペース
$spc = '\x20';
# 全角スペース
$eSpc = '(?:\xA1\xA1)'; # EUC-JP
$sSpc = '(?:\x81\x40)'; # SJIS
# 全角数字 [0-9]
$eLng = '(?:\xA3[\xB0-\xB9])'; # EUC-JP
$sLng = '(?:\x82[\x4F-\x58])'; # SJIS
# 全角小英字 [a-z]
$estr = '(?:\xA3[\xE1-\xFA])'; # EUC-JP
$sstr = '(?:\x82[\x81-\x9A])'; # SJIS
# 全角大英字 [A-Z]
$eStr = '(?:\xA3[\xC1-\xDA])'; # EUC-JP
$sStr = '(?:\x82[\x60-\x79])'; # SJIS
# 全角ひらがな [ぁ-ん]
$eHira = '(?:\xA4[\xA1-\xF3])'; # EUC-JP
$sHira = '(?:\x82[\x9F-\xF1])'; # SJIS
# 全角カタカナ [ァ-ヶ]
$eKana = '(?:\xA5[\xA1-\xF6])'; # EUC-JP
$sKana = '(?:\x83[\x40-\x96])'; # SJIS
# 半角カタカナ [ヲ-゜]
$ekana = '(?:\x8E[\xA6-\xDF])'; # EUC-JP
$skana = '[\xA6-\xDF]'; # SJIS
# EUC-JP文字
$euc1 = '[\x00-\x7F]'; # 1byte EUC-JP文字
$euc2 = '(?:[\x8E\xA1-\xFE][\xA1-\xFE])'; # 2byte EUC-JP文字
$euc3 = '(?:\x8F[\xA1-\xFE][\xA1-\xFE])'; # 3byte EUC-JP文字
$euc = "(?:$euc1|$euc2|$euc3)"; # EUC-JP文字