我有一个正则表达式:
\*777\*[0-9]{10,}\*\d+\*(5|10|20|25|50|100)\*\d+#
这就是我迄今为止所拥有的。
它可以处理输入:* 777 * 9283928839 * 89 * 5 * 9090#。
格式如下:*777*phone*Qty*Item Code*pin#
问题是某些时候输入会像这样:
*777*phone*Qty*Item Code*Qty*Item Code*Qty*Item Code*pin#
它将在Qty *项目代码重复。但是Item代码应该是这些5,10,20,25,50,100
之一我在制作正则表达式检查Qty *项目代码时感到困惑。
有人可以提示吗?
感谢。
答案 0 :(得分:0)
您可以使用以下内容:
\*777\*[0-9]{10,}\*(\d+\*(5|10|20|25|50|100)\*)+\d+#
重复的部分似乎是这样的:
\d+\*(5|10|20|25|50|100)\*
如果将其括在括号中并在其后添加+
,它将告诉正则表达式匹配括号中的内容一次或多次:
(\d+\*(5|10|20|25|50|100)\*)+