正则表达式匹配重复模式,其中一个重复模式应包含至少一个数字

时间:2012-11-05 19:47:17

标签: regex

正则表达式应该与重复模式相匹配,如:

AA12/AA/12/BC
A/BC/CD/8
A1/1/X/7

如果第一个字符必须是字母,后跟任意数量的字母数字字符,后跟模式“/ X”重复一次或多次,其中X是字母数字字符或多个字母数字字符,并且至少应重复一次一个数字。

有效模式:

A/B/C/D/1
A/1234/XYSX
PQ123/1
AB/CD1/PQ

无效模式:

12/AB/34
AB/CD/XY
AB/CD

到目前为止,我已提出:

[A-Za-z]\w*(/\w*[0-9]\w*)+

这基本上说后面的重复部分应该包含一个数字,这是不正确的,因为如果只有一个重复的部分包含一个数字就好了。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

虽然肯定不是最美丽的解决方案,但这是一种可能性:

[A-Za-z]\w*(/\w+)*(/\w*[0-9]\w*)+(/\w+)*

请注意,我添加了(/\w+)*的两个实例。基本上我只是补充说“可能会出现更多不需要数字的斜线字母”。