RegEx For 4位唯一字符串

时间:2013-06-11 19:13:12

标签: regex numbers unique digit

我需要RegEx来检查我的字符串是一个数字,是4位数。也不是从0开始,不重复任何数字。

e.g:

  • 1234是正确的
  • 0123不正确
  • 234不正确
  • 2334不正确
  • 7890是正确的

1 个答案:

答案 0 :(得分:0)

这种问题使用正则表达式是如此困难,所以很容易用其他任何东西

尽管如此,你可以使用一堆前瞻和捕捉小组来完成这项工作,这有点像:

([1-9])(?!.*\1)([0-9])(?!.*\2)([0-9])(?!.*\3)([0-9])(?!.*\4)

如果您只关心这四个数字,并且不关心在线/输入的其余部分找到的任何内容,除了这四个数字之外,您可以控制前瞻的长度,例如:

([1-9])(?!.{0,2}\1)([0-9])(?!.{0,1}\2)([0-9])(?!\3)([0-9])