Regex 正则表达式与名称不匹配
因此,我的论坛允许我使用正则表达式来允许某些用户名注册,但我想做相反的事情,阻止任何非匹配项,这是系统本身不允许的 我怎么能不匹配Regex 正则表达式与名称不匹配,regex,Regex,因此,我的论坛允许我使用正则表达式来允许某些用户名注册,但我想做相反的事情,阻止任何非匹配项,这是系统本身不允许的 我怎么能不匹配[a-zA-Z]+[0-9]{4}的模式 这意味着它将返回false,比如 FOobar1234 bar5678 我已经试过了,但没能成功 有点像[^a-zA-Z]+会为foobar(匹配a-Z)返回false,但结尾也有4位数字。使用负前瞻: ^(?![a-zA-Z]+\d{4}) 请注意,这实际上并不匹配文本,如果字符串符合您的条件,它只返回一个零宽度匹配。
[a-zA-Z]+[0-9]{4}
的模式
这意味着它将返回false,比如
FOobar1234
bar5678
我已经试过了,但没能成功
有点像
[^a-zA-Z]+
会为foobar
(匹配a-Z
)返回false,但结尾也有4位数字。使用负前瞻:
^(?![a-zA-Z]+\d{4})
请注意,这实际上并不匹配文本,如果字符串符合您的条件,它只返回一个零宽度匹配。如果还要匹配文本,请使用:
^(?![a-zA-Z]+\d{4}$).+$
使用负前瞻:
^(?![a-zA-Z]+\d{4})
请注意,这实际上并不匹配文本,如果字符串符合您的条件,它只返回一个零宽度匹配。如果还要匹配文本,请使用:
^(?![a-zA-Z]+\d{4}$).+$
您可以使用负先行断言:
^(?![a-zA-Z]+[0-9]{4}$)
一般而言:
^(?!<pattern>$)
^(?!$)
仅匹配与正则表达式不匹配的字符串
您可以使用否定先行断言:
^(?![a-zA-Z]+[0-9]{4}$)
一般而言:
^(?!<pattern>$)
^(?!$)
仅匹配与正则表达式不匹配的字符串