正则表达式:正确规则的表达式 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]); }