我有一些单词,如何只匹配一个数字的正则表达式,而匹配所有单词,反之亦然?
YV932X6R
V5R67HD1
5R3XPD61
57342D61
CRHXPDV2
12345678
CDHKPQRV
我试过用这种方式,但这不是我想要的
^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$
输出
YV932X6R
V5R67HD1
5R3XPD61
57342D61
CRHXPDV2
预期输出
CRHXPDV2
或
57342D61
如果你不在乎长度,那么你可以只对一个数字或一个字母使用以下模式:
^[A-Za-z]*[0-9][A-Za-z]*$
^[0-9]*[A-Za-z][0-9]*$
如果你也有8个字符的长度要求,你可以通过积极的前瞻性来强制执行。例如,一个数字和其余字母的模式将变为:
^(?=.{8}$)[A-Za-z]*[0-9][A-Za-z]*$