java中的中文数字正则表达式

时间:2014-02-19 16:57:24

标签: java regex utf-8

正则表达式\p{N}无法识别中文数字。

请为此建议在Java中使用正确的正则表达式。

1 个答案:

答案 0 :(得分:1)

我的回答是基于维基百科上的这篇文章Chinese numerals

  • 常用数字:0到10,数千,数千,数万,数百万

    零〇一二三四五六七八十九百千:\u96f6\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d\u5341\u767e\u5343

    (简体)万亿:\u4e07\u4ebf
    (繁体)万亿:\u842c\u5104

  • 财务用途

    (简体)零壹贰叁肆伍陆柒捌玖拾佰仟万亿:\u96f6\u58f9\u8d30\u53c1\u8086\u4f0d\u9646\u67d2\u634c\u7396\u62fe\u4f70\u4edf\u842c\u5104
    (繁体)零壹贰参肆伍陆柒捌玖拾佰仟万亿:\u96f6\u58f9\u8cb3\u53c3\u8086\u4f0d\u9678\u67d2\u634c\u7396\u62fe\u4f70\u4edf\u842c\u5104

    2个版本在2,3和6处有所不同。其中一些版本与常用数字重叠。

  • 大于10 12 且最多10 44

    (繁体)兆京垓秭穰沟涧正载:\u5146\u4eac\u5793\u79ed\u7a70\u6e9d\u6f97\u6b63\u8f09
    (简体)兆京垓秭穰沟涧正载:\u5146\u4eac\u5793\u79ed\u7a70\u6c9f\u6da7\u6b63\u8f7d

    2个版本的第6,第7和第9个字符不同。

    (其他一些选择)经经杼壤:\u7d93\u7ecf\u677c\u58e4

  • 区域用途

    (繁体)两:\u5169
    (简体)两:\u4e24

    值得注意的是上面的字符。其他不常用。