java正则表达式判断手机号_正则表达式学习之简单手机号和邮箱练习

正则表达式的组成规则

在java中,正则表达式的编译是类

java.util.regex.Pattern

83d8111b558d8baf8e497c1004c705dd.png

正则表达式的构造摘要

1.字符x

包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号的普通字符。

比如之前的例子

decedf49e55c448942eb5d38cba5ce65.png

可以将[1-9][0-9]{4,12}改成

1[0-9]{4,12}或者a[0-9]{4,12}

此时就表示以1开始或者以a开始的字符,就表示一个任意的普通字符。

06c51d572e78d181236f4d38a5034822.png

2. 反斜线字符

表示一个反斜线,更改下之前的代码

22684a1a6dec49ac9e34839baa25488d.png

3、[abc] a,b或者c(简单类),任选一个,只能在abc中

0cdc61fa97060d2d5ca310332d36d32e.png

4、[^abc] 任何字符,除了a,b,c(否定),不是abc的任意字符

e2752174e49e2934d381cde08efb7c0c.png

5.[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

6510903635a508e1bbe2963bb83dce97.png

6. d 数字:[0-9]

D 非数字: [^0-9]相对于d是取反,不是数字的就可以

d523b634fadde0c1e933555205c51a58.png

7. w 单词字符:[a-zA-Z_0-9]匹配字母或数字或下划线或汉字,W是取反:[^w]

9f22a771bcd47fdb0537f840371daa9c.png

上面这些有助于我们理解正则表达式,建立概念,实际上正则有很多构造,需要可以百度搜索,现在我们多做些练习,补充理解学习。

练习:判断手机号是否满足需求

准备手机号例子:

18372345676

18372345673

18372345672

18372345671

13469830000

15926943333

18727244444

13901657081

规则:

1. 首位是1

2. 第二位是[358]

3. 后续数字 表示数字:[0-9]

X{n} X,表示恰好 n 次,后续位数为9位,所以X是[0-9],n是9,结合起来是[0-9]{9}

那么正则就是1[358][0-9]{9}

编写代码

50f063ee4129e037a8ea6afb1f2c419b.png
187071a4d76e27f155e7af2f85c6042f.png

运行结果

0bfa1119ca14b91258a5dceb31952f20.png

练习:邮箱判断

下面邮箱例子(实际邮箱正则很复杂):

1233213123@qq.com

zoushdiasd@163.com

heis_321@126.com

guaojpod@sina.com.cn

daioyasodi@tencent.cn

规则:

1.以@符合分为三个部分

2. @以前的部分:w{8,10}

3.@

此时的正则是: w{8,10}@

4. @后面的部分可以依据.(点)进行划分

5. .以前的部分[a-z1-9]{2,7}

6. .本身表示任何字符,所以需要转义.

此时的正则是: w{8,10}@[a-z1-9]{2,7}.

7. .后面的部分可以暂时表示宽泛一些[a-z]{2,3}

此时的正则是: w{8,10}@[a-z1-9]{2,7}.[a-z]{2,3}

8. 多个com和cn可以将点及后面的部分一起,看做一个整体(.[a-z]{2,3}){1,2}

此时的正则是:

w{8,10}@[a-z1-9]{2,7}(.[a-z]{2,3}){1,2}

编写代码

59076b50663ac780e15db6086abd41a9.png

结果

4f80e11b551cb3a88be71f525e5fb4b3.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值