所以我的论坛允许我使用正则表达式来允许某些用户名注册,但我想反过来阻止任何不匹配,系统本身不允许这样做。
我如何不匹配[a-zA-Z]+[0-9]{4}
的模式?
意味着它会返回false,比如
FOobar1234
bar5678
我已经尝试但无法使其发挥作用。
[^a-zA-Z]+
对foobar
(匹配a-z
)返回false的方式排序,但最后也有4位数。
答案 0 :(得分:3)
使用否定前瞻:
^(?![a-zA-Z]+\d{4})
请注意,这实际上与文本不匹配,如果字符串符合您的条件,它只会返回单个零宽度匹配。如果您还想匹配文本,请使用:
^(?![a-zA-Z]+\d{4}$).+$
答案 1 :(得分:2)