美文网首页
汉字数字(简写)一千以内正则表达式

汉字数字(简写)一千以内正则表达式

作者: 渊虹之百步飞剑 | 来源:发表于2019-01-10 18:14 被阅读0次

    汉字数字基本字符:

    像零、一、二、三十、一百八十、九百九十九等都是属于汉字数字,组成这些数据的汉字字符集为:['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十']
    本文的内容是关于一千以内(零-九百九十九)的汉字数字正则表达的匹配问题

    数字分类

    个位

    数字:零、一、二、九...
    正则表达式:^[零一二三四五六七八九十]\$
    

    十位

    数字: 十、十一、二十、三十五...
    正则表达:
      1. ^十[一二三四五六七八九]\$
      2. ^[二三四五六七八九]十\$
      3. ^[二三四五六七八九]十[一二三四五六七八九]\$
    

    百位

    数字:一百、一百零五、一百三十五...
    正则表达式:
      1. ^[一二三四五六七八九]百\$
      2. ^[一二三四五六七八九]百零[一二三四五六七八九]\$
      3. ^[一二三四五六七八九]百[一二三四五六七八九]十\$
      4. ^[一二三四五六七八九]百[一二三四五六七八九]十[一二三四五六七八九]\$
    

    结果

    版本一

    把上面各个正则通过|拼起来就得到最终结果,最简单也最长
    /^[零一二三四五六七八九十]$|^十[一二三四五六七八九]$|^[二三四五六七八九]十$|^[二三四五六七八九]十[一二三四五六七八九]$|^[一二三四五六七八九]百$|^[一二三四五六七八九]百零[一二三四五六七八九]$|^[一二三四五六七八九]百[一二三四五六七八九]十$|^[一二三四五六七八九]百[一二三四五六七八九]十[一二三四五六七八九]$/

    版本二

    ^[零一二三四五六七八九十]$|^十[一二三四五六七八九]|[二三四五六七八九]十([一二三四五六七八九])?$|^[一二三四五六七八九]百(零[一二三四五六七八九]|[一二三四五六七八九]十([一二三四五六七八九])?)?$

    版本x

    水平有限,目前没有更好的结果了,后续有所进步再行更新

    相关文章

      网友评论

          本文标题:汉字数字(简写)一千以内正则表达式

          本文链接:https://www.haomeiwen.com/subject/fgvarqtx.html