加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

常见的正则表达式

发布时间:2020-12-13 22:03:15 所属栏目:百科 来源:网络整理
导读:我们在项目中是经常用到正则表达式的,其中用户名 邮箱 等校验居多。我们在晚上一百度好多关于正则表达式的总结都可以出来。 今天还是想总结一下正则表达式,虽然正则表达式不需要我们自己手敲,百度即可,但是一些最基本的东西,我想我们还是应该知道和了解

我们在项目中是经常用到正则表达式的,其中用户名 邮箱 等校验居多。我们在晚上一百度好多关于正则表达式的总结都可以出来。

今天还是想总结一下正则表达式,虽然正则表达式不需要我们自己手敲,百度即可,但是一些最基本的东西,我想我们还是应该知道和了解的。一些常用的正则表达式总结下来,以后做项目的过程中我们可以随时用。


String类中有几个方法是和正则表达式有关的

第一个是mathes

需求:以检验手机号是否合法进行举例:手机号检验条件 1开头 第二位 可以是34578其他位 0-9 位数固定11

boolean b =telNumber.matches("1[34857][d]{9}");

[]代表了一个字符,匹配了一个字符。是对字符位的限制

[348]表示这个字符位只能输入 3或是4或是8

[3-5]表示这个字符位只能输入35的数

[0-9]表示这个字符可以输入09的数 这个的效果和[d]是一样的

{} 大括号表示出现的次数

[0-9]{9}表示 这个位上可以出现0-9的数字,并且在这个位置之后还可以出现九次

第二个是:slipt对字符串进行切割

对空格进行切割

String str ="18    22     40         65";
String[]strArr = str.split(" +");
System.out.println("数组的长度"+strArr.length);
for(inti = 0 ; i < strArr.length ; i++){
System.out.println(strArr[i]);
}

++号表示一个或多个空格

IP地址进行切割

String ip ="192.168.105.27";
String[]strArr = ip.split(".");
for(inti = 0 ; i < strArr.length ; i++){
System.out.println(strArr[i]);
}

因为正则表达式中.是匹配任意字符,所以要加上转义字符

第三个是:replaceAll 对字符进行替换

"Hello12345World6789012"将所有数字替换掉

str.replaceAll("[d]+","#"); 或是replaceAll("[0-9]","*")


常用正则表达式


校验qq号码.

1: 要求必须是5-15位数字

2: 0不能开头

String qq ="604154942";

String regex ="[1-9][0-9]{4,14}";

boolean flag2 =qq.matches(regex);

//也可以写 booleanb=QQ.matches("[1-9][d]{4,9}");

举例:校验手机号码

1:要求为11位数字

2:第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。

代码演示:

Stringphone = "18800022116";

Stringregex = "1[34578][0-9]{9}";

booleanflag = phone.matches(regex);

//或者boolean matches = s.matches("1[34578][d]{9}");

匹配合法的邮箱

需求:@前 数字字母_ 个数不能少于1个

@后 数字字母 个数不能少于1个

. :后面字母

Stringemail ="abc123@sina.com";

booleanb = email.matches("[a-zA-Z0-9_]+@[0-9a-z]+(.[a-z]+)+");

System.out.println(b);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读