我正在尝试编写一个正则表达式,它将匹配两位数不相同的两位数字.
我使用了以下表达式:
^([0-9])(?!\1)$
Run Code Online (Sandbox Code Playgroud)
但是,字符串"11"和"12"都不匹配.我认为"12"会匹配.谁能告诉我哪里出错了?
您需要允许匹配2位数.你的正则表达式^([0-9])(?!\1)$只允许1位数的字符串.请注意,前瞻不消耗字符,它只检查当前位置之后是否存在某些内容.
使用
^(\d)(?!\1)\d$
^^
Run Code Online (Sandbox Code Playgroud)
见演示
模式说明:
^ - 字符串的开头(\d) - 匹配并捕获第1组数字(?!\1) - 确保下一个字符与第1组中的字符不同\d - 一位数$ - 字符串结尾.