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>$)
^(?!$)
仅匹配与正则表达式不匹配的字符串