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-9]+@)
after ^
:
^(?![0-9]+@)([a-z0-9а-я_.-]{4,20})@([a-zа-я_]{2,5})\\.([a-zа-я]{2,5})(\\.[a-zа-я]{2,5})?$
^^^^^^^^^^^
如果字符串开头有 1 个或多个数字,则负前瞻将失败@
。
请参阅正则表达式演示。
推荐阅读
- if-statement - if 语句,比较变量和小写字母
- c++ - 如何快速有效地收集 BMP 中每个像素的 4 字节数据并将它们组装成一个结构?
- javascript - 无法读取反应 -js 中未定义的属性“地图”
- c - 包括在 C 中提前停止
- python - 如何解析嵌套的 json 对象?
- ios - 如何从子链接视图中在导航栏顶部显示视图
- database - hbase 用于存储游戏玩家的最后 1000 次击键
- php - exel调用失败imagick
- python - 使用 str.contains 在 CSV 文件列中搜索单词
- architecture - 基于主干的开发中的版本控制微服务