【发布时间】:2010-12-24 19:05:14
【问题描述】:
我对正则表达式很陌生,我正在尝试创建一个正则表达式来验证发票格式。
模式应该是: JjYy(所有 4 个字符都是合法的),使用了 0、2 或 4 次 例如根本没有 Y 是有效的,YY 是有效的,YYYY 是有效的,但是 YYY 应该会失败。 随后是一系列 0 重复 3 到 10 次。 整体不得超过 10 个字符。
例子: JyjY000000 是有效的(虽然很奇怪) YY000 有效 000000 有效 jjj000 无效 jjjj0 无效
我从here 学到了一些基础知识,但是我的正则表达式在不应该的时候失败了。有人可以帮忙改进吗?
到目前为止,我的正则表达式是:[JjYy]{0}|[JjYy]{2}|[JjYy]{4}[0]{3,10}。
以下也失败了:[JjYy]{0|2|4}[0]{3,10}
【问题讨论】:
-
jJyY 部分的最大长度限制是 10 吗?
-
+1 因为你快到了,你向我们展示了你到目前为止所做的事情
-
谢谢,PP :)。 JjYy 确实是长度限制 10 的一部分。顺便说一句,我需要在 C# 项目中使用正则表达式,但我不知道正则表达式引擎之间的差异在哪里。
-
您能否发布一个示例,其中我的正则表达式在
jJyY部分之前允许0?
标签: regex