正则表达两位数不相同的两位数字

时间:2015-12-11 08:46:04

标签: regex

我正在尝试编写一个正则表达式,它将匹配两位数不相同的两位数字。

我使用了以下表达式:

^([0-9])(?!\1)$

然而,两个字符串" 11"和" 12"不匹配。我想" 12"会匹配。谁能告诉我哪里出错了?

1 个答案:

答案 0 :(得分:5)

您需要允许匹配2位数字。您的正则表达式^([0-9])(?!\1)$仅允许1位数字符串。请注意,前瞻不消耗字符仅检查当前位置之后某事物的存在或不存在

使用

^(\d)(?!\1)\d$
           ^^

请参阅demo

模式说明

  • ^ - 字符串开头
  • (\d) - 匹配并捕获第1组数字
  • (?!\1) - 确保下一个字符与第1组
  • 中的字符不同
  • \d - 一位数
  • $ - 字符串结束。
相关问题