正则表达式总结
正则表达式:正确规则的表达式
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 数量词: X{n} 含义:代表的是 X 出现 次数= n 数量词: X{n,} 含义:代表的是 X 出现 至少 n 次 数量词: X{n,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 System.out.println(arr[i]); }
5、
注意:. .的正则写法必须为\ \ . . //根据.切割 IP 地址 String str = “192.168.11.88”; String[] arr = str.split(”\."); for(int i=0;i System.out.println(arr[i]); }