([a-zA-Z0-9_-])表示什么?

正则表达式,([a-z][A-Z][0-9])代表三个字符,但是([a-zA-Z0-9_-])为什么没有长度的限制? abc可以,abcdef也可以?

请输入图片描述

阅读 20.7k
3 个回答

原po图片中

用了/[a-zA-Z0-9]@gmail\.com/i去匹配2abcDEF123@gmail.com

由于正则中没有匹配字符串首尾的^$

所以相当于:只匹配到了字符串中的3@gmail.com部分

匹配完整的email字符串的正则:

/^[a-z0-9_-]+@[a-z0-9_-]+\.[a-z]+$/i

你那样写是子串匹配啊,匹配整个字符串的话,应该写成/^[a-zA-Z0-9_-]@gmail\.com$/i

正则中的方括号是指满足方括号中要求的“一个字符”。

  1. [a-z]是指小写字母中的一个字符
  2. [A-Z]是指大写字母中的一个字符
  3. [0-9]是指数字中的一个字符
  4. [a-zA-Z0-9_-]是指大小写字母、数字、下划线、横线中的一个字符
  5. [a-z][A-Z][0-9]是指三个字符,其中第一个是小写字母,第二个是大写字母,第三个是数字
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题