日文UTF-8编码

UTF-8范围(PHP正则):
UTF-8のエンコード方法

 UTF-8は、UnicodeとASCIIコードを混在させるための規格です。Unicodeでは、0x0000-0x007Fの文字コードは、ASCIIコードの0x00-0x7Fと同じとなっていることを利用して変換します。
 UTF-8では、ASCIIコードは、1バイトで表しますが、0x0800から0xFFFFまでのマルチバイト文字は、3バイトで表します。
 UTF-8では、各文字の先頭ビットにより、文字の種類を簡単に判定できます。

http://www.rikai.com/library/kanjitables/kanji_codes.unicode.shtml

0、ASCII: 00-ff \x{00}-\x{ff}
1、日式标点: 3000 - 303f \x{3000}-\x{303f}
2、平假名: 3040 - 309f \x{3040}-\x{309f}
3、片假名: 30a0 - 30ff \x{30a0}-\x{30ff}
4、全角标点和半宽片假名:
ff00 - ffef \x{ff00}-\x{ffef}
5、中日韩unifed象形文字-汉字常见和罕见:
4e00 - 9faf \x{4e00}-\x{9faf}
6、中日韩统一表意文字扩展区A -罕见汉字
3400 - 4dbf \x{3400}-\x{4dbf}

正则表达式:/(.*)/u
1、非半角字符(非ASCII码字符)
/([^\x{00}-\x{ff}]+)/u
2、非半角字符、日式标点、全角标点和半宽片假名
/([^\x{00}-\x{ff}\x{3000}-\x{303f}\x{ff00}-\x{ffef}]+)/u
3、半角字符、日式标点、全角标点和半宽片假名
/([\x{30a0}-\x{30fa}\x{30fc}-\x{30ff}\x{4e00}-\x{9faf}\x{3400}-\x{4dbf}0-9a-zA-Z]+)/u

你可能感兴趣的:(PHP,正则表达式)