正则表达式^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{
答案:3 悬赏:10 手机版
解决时间 2021-03-22 11:11
- 提问者网友:謫仙
- 2021-03-22 06:49
正则表达式^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-03-22 07:02
^表示字符串开头的位置,可以理解为前面不能再有任何内容
$表示字符串结尾的位置,可以理解为后面不能再有任何内容(当匹配多行内容时,$后面只能是换行符或是所有内容的结尾处)
小括号即可以进行获取,同时也表示一个部分,比如上面正则表达式中的
([-.\w]*[0-9a-zA-Z])*
后面的*代表的实际上是前面小括号里的内容匹配0次或多次,如果没有这个括号,如
[-.\w]*[0-9a-zA-Z]*
那该*代表的就是[0-9a-zA-Z]匹配0次或多次.
你的这个正则看上去应该就是用来检测EMail地址合法性的.
$表示字符串结尾的位置,可以理解为后面不能再有任何内容(当匹配多行内容时,$后面只能是换行符或是所有内容的结尾处)
小括号即可以进行获取,同时也表示一个部分,比如上面正则表达式中的
([-.\w]*[0-9a-zA-Z])*
后面的*代表的实际上是前面小括号里的内容匹配0次或多次,如果没有这个括号,如
[-.\w]*[0-9a-zA-Z]*
那该*代表的就是[0-9a-zA-Z]匹配0次或多次.
你的这个正则看上去应该就是用来检测EMail地址合法性的.
全部回答
- 1楼网友:青尢
- 2021-03-22 08:32
看下!
- 2楼网友:渡鹤影
- 2021-03-22 08:17
^([0-9a-zA-Z] 表示以字母数字开头
([-.\w]*[0-9a-zA-Z])* 表示在@前可是以字母数字下划线减号或点号
([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])* 这句其实写的有点多余,可以简写成[0-9a-zA-Z][-.\w]*,对于后面的括号,如果不是想进行捕获数据就没必要括号了
@ 表示中必须有@符号
(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+ 表示 以字母数据开头,中间可以是字母数字下划线减号或点号,这个和上面的一样,可简写成[0-9a-zA-Z][-.\w]*
[a-zA-Z]{2,9})$ 表示必须以字母结尾,而且字母最少要两个,其实这里的9没有什么意义了,因为这里虽然限制了字母长度最长为9,但在前面却是不限制字母个数的.
最后,这个表示式,可以简写成
^([0-9a-zA-Z][-.\w]*@([0-9a-zA-Z][-.\w]*[a-zA-Z]{2}$
([-.\w]*[0-9a-zA-Z])* 表示在@前可是以字母数字下划线减号或点号
([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])* 这句其实写的有点多余,可以简写成[0-9a-zA-Z][-.\w]*,对于后面的括号,如果不是想进行捕获数据就没必要括号了
@ 表示中必须有@符号
(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+ 表示 以字母数据开头,中间可以是字母数字下划线减号或点号,这个和上面的一样,可简写成[0-9a-zA-Z][-.\w]*
[a-zA-Z]{2,9})$ 表示必须以字母结尾,而且字母最少要两个,其实这里的9没有什么意义了,因为这里虽然限制了字母长度最长为9,但在前面却是不限制字母个数的.
最后,这个表示式,可以简写成
^([0-9a-zA-Z][-.\w]*@([0-9a-zA-Z][-.\w]*[a-zA-Z]{2}$
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯