17站长网

17站长网 首页 编程 ASP编程 查看内容

使用正则表达式匹配罗马数字

2022-11-28 18:31| 查看: 2188 |来源: 互联网

罗马数字是欧洲在阿拉伯数字传入之前使用的一种数码,现在应用较少。它的产生晚于中国甲骨文中的数码,更晚于埃及人的十进制数字。

罗马数字是欧洲在阿拉伯数字传入之前使用的一种数码,现在应用较少。它的产生晚于中国甲骨文中的数码,更晚于埃及人的十进制数字。

罗马数字是阿拉伯数字传入之前使用的一种数码。其采用七个罗马字母作数字、即I(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。罗马数字的记数方法是:相同的数字连写,所表示的数等于这些数字相加得到的数;小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数;小的数字在大的数字的左边,所表示的数等于大数减小数得到的数。

在程序设计的时候,有时候会出现使用正则表达式匹配罗马数字的问题,这里给一下解决方案:

未经验证的罗马数字:

^[MDCLXVI]+$

严格验证罗马数字:

^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{ 0,3})$

灵活验证罗马数字:

^(?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*)$

简单的罗马数字:

^(?=[MDCLXVI])M*D?C{0,4}L?X{0,4}V?I{0,4}$

以上正则表达式适用的编程语言: .NET、Java、JavaScript、PCRE、Perl、Python、Ruby


tag标签:罗马数字 编程
本文最后更新于 2022-11-28 18:31,某些文章具有时效性,若有错误或已失效,请在网站留言或联系站长:17tui@17tui.com
·END·
站长网微信号:w17tui,关注站长、创业、关注互联网人 - 互联网创业者营销服务中心

免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!

17站长网微信二维码

始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!

扫一扫,关注站长网微信

大家都在看

    热门排行

      最近更新

        返回顶部