相关疑难解决方法(0)

如何只使用正则表达式匹配有效的罗马数字?

考虑到我的另一个问题,我决定甚至不能创建一个匹配罗马数字的正则表达式(更不用说将生成它们的无上下文语法)

问题是只匹配有效的罗马数字.例如,990不是"XM",它是"CMXC"

我为此制作正则表达式的问题是,为了允许或不允许某些字符,我需要回顾一下.例如,让我们花费成千上万.

我可以允许M {0,2} C?M(允许900,1000,1900,2000,2900和3000).但是,如果匹配在CM上,我不能允许跟随字符为C或D(因为我已经在900).

我怎样才能在正则表达式中表达这一点?
如果它在正则表达式中根本无法表达,它是否可以在无上下文语法中表达出来?

regex roman-numerals

152
推荐指数
6
解决办法
6万
查看次数

标签 统计

regex ×1

roman-numerals ×1