我正在尝试编写一个正则表达式,它将匹配两位数不相同的两位数字。
我使用了以下表达式:
^([0-9])(?!\1)$
然而,两个字符串" 11"和" 12"不匹配。我想" 12"会匹配。谁能告诉我哪里出错了?
答案 0 :(得分:5)
您需要允许匹配2位数字。您的正则表达式^([0-9])(?!\1)$
仅允许1位数字符串。请注意,前瞻不消耗字符,仅检查当前位置之后某事物的存在或不存在。
使用
^(\d)(?!\1)\d$
^^
请参阅demo
模式说明:
^
- 字符串开头(\d)
- 匹配并捕获第1组数字(?!\1)
- 确保下一个字符与第1组\d
- 一位数$
- 字符串结束。