ホームページ  >  記事  >  バックエンド開発  >  “[a-zA-Z0-9_-]”为什么没有长度限制

“[a-zA-Z0-9_-]”为什么没有长度限制

PHPz
PHPzオリジナル
2016-06-06 20:43:104637ブラウズ

“[a-zA-Z0-9_-]”没有长度限制是因为正则中没有匹配字符串首尾的“^”和“$”,所以相当于只匹配到了字符串中的“3@gmail.com”部分,解决办法就是需要匹配完整的email字符串。

“[a-zA-Z0-9_-]”为什么没有长度限制

“[a-zA-Z0-9_-]”为什么没有长度限制?

具体问题:

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

企业微信截图_15924488902275.png

回答:

原po图片中

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

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

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

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

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

更多相关技术文章,请访问PHP中文网

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。