常见的正则表达式
2016-11-23 19:01
232 查看
我们在项目中是经常用到正则表达式的,其中用户名
邮箱
等校验居多。我们在晚上一百度好多关于正则表达式的总结都可以出来。
今天还是想总结一下正则表达式,虽然正则表达式不需要我们自己手敲,百度即可,但是一些最基本的东西,我想我们还是应该知道和了解的。一些常用的正则表达式总结下来,以后做项目的过程中我们可以随时用。
在String类中有几个方法是和正则表达式有关的
第一个是mathes
需求:以检验手机号是否合法进行举例:手机号检验条件
:1开头
第二位
可以是34578其他位 0-9
位数固定11位
boolean b =telNumber.matches("1[34857][\\d]{9}");
[]代表了一个字符,匹配了一个字符。是对字符位的限制
[348]表示这个字符位只能输入 3或是4或是8
[3-5]表示这个字符位只能输入3到5的数
[0-9]表示这个字符可以输入0到9的数
这个的效果和[\\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);
邮箱
等校验居多。我们在晚上一百度好多关于正则表达式的总结都可以出来。
今天还是想总结一下正则表达式,虽然正则表达式不需要我们自己手敲,百度即可,但是一些最基本的东西,我想我们还是应该知道和了解的。一些常用的正则表达式总结下来,以后做项目的过程中我们可以随时用。
在String类中有几个方法是和正则表达式有关的
第一个是mathes
需求:以检验手机号是否合法进行举例:手机号检验条件
:1开头
第二位
可以是34578其他位 0-9
位数固定11位
boolean b =telNumber.matches("1[34857][\\d]{9}");
[]代表了一个字符,匹配了一个字符。是对字符位的限制
[348]表示这个字符位只能输入 3或是4或是8
[3-5]表示这个字符位只能输入3到5的数
[0-9]表示这个字符可以输入0到9的数
这个的效果和[\\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);
相关文章推荐
- 常见正则表达式
- 常见正则表达式【记录】
- 【转】常见的65种正则关系表达式
- Python中文文本信息抽取中常见的正则表达式
- 常见正则表达式汇总【一】
- RegularExpressionValidator控件中常见正则表达式用法
- 常见的正则表达式问题
- 正则表达式常见字符及含义总结
- 几种常见的正则表达式验证
- java常见正则表达式
- 常见正则表达式匹配
- 常见的正则表达式验证
- 常见正则表达式
- JS正则表达式常见用法实例详解
- 常见对象_正则表达式的组成规则
- Linux grep命令正则表达式的常见用法
- [转载]常见正则表达式大全
- 常见正则表达式集合
- 正则表达式中一些常见的使用方式
- JavaScript正则表达式——预定义类匹配常见的字符类