2011-11-01 67 views
1

示例:在给定字符串中必须至少有两位数字,与它们的位置无关/[0-9]{2}/正则表达式不区分大小写

如果他们喜欢a1b2分离它不工作:

这IF他们在一起才有效。

编辑:谢谢你的回应,但我意识到这个例子太微不足道了。试试这个:必须至少有两个数字在一个给定的字符串和两个字母x和&两个字母和两个字母J.

不会在每个可能的排列之间添加*真的很漫长?有没有办法不关心命令?

+1

[regex:包含至少8位十进制数字]的可能重复(http://stackoverflow.com/questions/5416250/regex-contains-at-least-8-decimal-digits) –

+0

'[0-9] {2}'会匹配两个相邻的数字 - 所以只需测试该匹配。我错过了什么吗? –

+1

也许这给你的灵感:http://stackoverflow.com/questions/5950756/regex-for-checking-that-at-least-3-of-4-different-character-groups-exist –

回答

2

“感谢您的答复,但这应该是一个简单的例子 ,如果它所更像”

嗯,是因为你有更多的规则,你的正则表达式会变得更加冗长。这是不可避免的。一般来说,当你想检查是否有至少你应该使用positive lookahead assertions

/^(?=.*\d.*\d)(?=.*x.*x).*$/ 

此帐户至少有两个数字,至少有两个X的。剩下的我留给你。

+0

谢谢!我选择了我最初的例子,但这是我寻找的解决方案 – captainclam

+0

@captainclam很高兴为您提供帮助。 – FailedDev

1

你可以说一个数字,然后按任何(或没有),然后一个数字:/[0-9].*[0-9]/

3

下面会为你工作:

/\d.*\d/ 
相关问题