正则表达式小结
Posted Maynor大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式小结相关的知识,希望对你有一定的参考价值。
正则表达式总结
正则表达式:正确规则的表达式
boolean matches(String regex) 当前字符串是否匹配给定的正则表达式
String replaceAll(String regex,String replacement) 使用 replacement 替换当前字符串中所有符号正则表达式的内容
String[] split(String regex) 根据给定的正则表达式拆分当前字符串
注意: .的正则写法必须为\\.
正则表达式 规则 规则: x 含义:代表的是字符 x
规则: \\\\ 含义:代表的是斜线字符’\\’
规则: \\t 含义:制表符
规则: \\n 含义:换行符
规则: \\r 含义:回车符
规则: [abc] 含义:代表的是字符 a、 b 或 c
规则: [^abc] 含义:代表的是除了 a、 b 或 c 以外的任何字符
规则:[a-zA-Z] 含义:代表的是 a 到 z 或 A 到 Z,两头的字母包括在内
规则:[0-9] 含义:代表的是 0 到 9 数字,两头的数字包括在内
规则:[a-zA-Z_0-9]含义:代表的字母或者数字或者下划线(即单词字符)
规则: . 含义:代表的是任何字符
规则: \\d 含义:相当于[0-9]。代表的是 0 到 9 数字, 0 和 9 包括在内。
规则: \\w 含义:相当于[a-zA-Z_0-9]。 代表的字母或者数字或者下划线
边界匹配器: ^ 含义:代表以某些内容开头
边界匹配器: $ 含义: 代表以某些内容结尾
边界匹配器: \\\\b 含义:代表的是单词边界。? 注意:不能单独使用,几乎不使用
数量词: X? 含义:代表的是 X 出现 0~1 次
数量词: X* 含义:代表的是 X 出现 次数≥0
数量词: X+ 含义:代表的是 X 出现 次数≥1
数量词: Xn 含义:代表的是 X 出现 次数= n
数量词: Xn, 含义:代表的是 X 出现 至少 n 次
数量词: Xn,m 含义:代表的是 X 出现至少 n 次,但是不超过 m 次
逻辑运算符: XY 含义:代表的是 X 后紧跟着 Y
逻辑运算符: X|Y 含义:代表的是 X 或 Y
逻辑运算符: (X) 含义:代表的是() 括号内的数据作为一个整体出现
常用
1.3 常见正则表达式
表达式 描述
^[a-z0-9_-]3,16$
用户名
^[a-z0-9_-]6,18$
密码
^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]2,6)$
电子邮箱
[\\u4e00-\\u9fa5]
匹配中文字符的正则表达式
练习:
练习:
1、
举例:校验 qq 号码.
1:要求必须是 5-15 位数字
2:0 不能开头
代码演示:
String qq = “604154942”;
String regex = “[1-9][0-9]4,14”;
boolean flag2 = qq.matches(regex);
2、
举例:校验手机号码
1:要求为 11 位数字
2:第 1 位为 1,第 2 位为 3、4、5、7、8 中的一个,后面 9 位为 0 到 9 之间的任意数字。
代码演示:
String phone = “18810022666”;
String regex = “1[34578][0-9]9”;
boolean flag = phone.matches(regex);
3、
举例:将字符串中的数字全部替换成!号
String str = “1a2b3c4d”;
str = str.replaceAll("\\d", “!”);
System.out.println(str);
4、
//根据空格切割字符串
String str = “我 很 帅”;
String[] arr = str.split(" “);
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
5、注意:. .的正则写法必须为\\ \\ . .
//根据.切割 IP 地址
String str = “192.168.11.88”;
String[] arr = str.split(”\\.");
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
以上是关于正则表达式小结的主要内容,如果未能解决你的问题,请参考以下文章