如何改进我的RegEx,以禁止仅在电子邮件中输入数字。
我的RegEx:
^([a-z0-9а-я_.-]{4,20})@([a-zа-я_]{2,5})\\.([a-zа-я]{2,5})(\\.[a-zа-я]{2,5})?$
无效:
1111@gmail.com
有效:
check@gmail.com
答案 0 :(得分:1)
您可以在正则表达式中的(?![0-9]+@)
之后添加^
:
^(?![0-9]+@)([a-z0-9а-я_.-]{4,20})@([a-zа-я_]{2,5})\\.([a-zа-я]{2,5})(\\.[a-zа-я]{2,5})?$
^^^^^^^^^^^
在所有具有1个或多个数字的情况下,负向超前查询都会失败,并在字符串的开头加上@
。
请参见regex demo。