Esl*_*tti 3 .net c# regex regex-lookarounds
我正在寻找创建RegEx模式
[a-zA_Z]我创建了这个模式:
^(?=.*[0-9].*[0-9])[0-9a-zA-Z]{8}$
Run Code Online (Sandbox Code Playgroud)
这种模式工作正常,但我只想要一个数字.例:
aaaaaaa6 match
aaa7aaaa match
aaa88aaa don't match
aaa884aa don't match
aaawwaaa don't match
Run Code Online (Sandbox Code Playgroud)
你可以改用:
^(?=[0-9a-zA-Z]{8})[^\d]*\d[^\d]*$
Run Code Online (Sandbox Code Playgroud)
第一部分断言匹配包含8个字母或数字.一旦确保这一点,第二部分确保匹配中只有一个数字.
编辑:说明:
^和$表示开始和字符串的结尾.(?=[0-9a-zA-Z]{8}) 断言该匹配包含8个字母或数字.[^\d]*\d[^\d]*意味着只有一个数字字符和剩余的非数字字符.由于我们已经断言输入包含数字或字母,因此这里的非数字字符是字母表.