2012-11-05 44 views
2

应该是什么正则表达式匹配像一个重复模式:正则表达式匹配一个repetitve模式其中之一至少含有一个一个数字

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*)+ 

这基本上说,后来重复部分应包含数字,这是不正确的,因为如果只有一个重复部分包含一个数字就没有问题任何人都可以帮忙吗?

+0

请注意'\ w'包含下划线。 –

回答

1

但肯定不是最漂亮的解决方案,在这里是一种可能性:

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

注意,我在(/\w+)*两个实例添加。基本上我只是加入了“可以出现更多不需要数字的斜杠 - 字母”。

+0

谢谢,修改了一下。 [A-Za-z] \ w *(/ \ w +)*(/ \ w * [0-9] \ w *)+(/ \ w +)* – user1801163

+0

已更新。这对你有用吗? – ean5533

+0

迄今为止的作品。我会做更多的测试。如果我有任何疑问,我会发表评论。谢谢! – user1801163

相关问题