正则表达式认识
- 正则表达式通常用来校验,检查字符串是否符合规则的
正则表达式语法-字符类
- 字符类
- 方括号被用于指定字符
- 语法示例
- [abc] :代表a或者b,或者c字符中的一个
- [^abc]:代表除a,b,c以外的任何字符
- [a-z] :代表a-z的所有小写字符中的一个
- [A-Z] :代表A-Z的所有大写字符中的一个
- [0-9] :代表0-9之间的某一个数字字符
- [a-zA-Z0-9]:代表a-z或者A-Z或者0-9之间的任意一个字符
- [a-dm-p]:a 到 d 或 m 到 p之间的任意一个字符
- 字符串正则匹配方法
- boolean matches(正则表达式) :如果匹配正则表达式就返回true,否则返回false
-
验证str是否以h开头,以d结尾,中间是a,e,i,o,u中某个字符
-
"h[aeiou]d"
-
-
验证str是否以h开头,以d结尾,中间不是a,e,i,o,u中的某个字符
-
"h[^aeiou]d"
-
-
验证str是否a-z的任何一个小写字符开头,后跟ad
-
"[a-z]ad"
-
-
验证str是否以a-d或者m-p之间某个字符开头,后跟ad
-
"[a-dm-p]ad"
-
正则表达式语法-逻辑运算符
- 逻辑运算符
- && : 并且
- | : 或 (一般都省略掉了)
-
要求字符串是除a、e、i、o、u外的其它小写字符开头,后跟ad
-
"[a-z&&[^aeiou]]ad"
-
-
要求字符串是aeiou中的某个字符开头,后跟ad
-
"[a|e|i|o|u]ad"
-
正则表达式-预定义字符
- 预定义字符 : 简化字符类的书写
-
"." : 匹配任何字符
-
"\d":任何数字[0-9]的简写
-
"\D":任何非数字[^0-9]的简写
-
"\s" : 空白字符:[ \t\n\x0B\f\r] 的简写
-
"\S" : 非空白字符:[^\s] 的简写
-
"\w" :单词字符:[a-zA-Z_0-9]的简写
-
"\W":非单词字符:[^\w]
-
正则表达式: 量词
X? : 0次或1次
X* : 0次到多次
X+ : 1次或多次
X{n} : 恰好n次
X{n,} : 至少n次
X{n,m}: n到m次(n和m都是包含的)
验证str是否3位数字
"\d{3}"
验证str是否是多位数字
"\d+"
验证qq号码:1).5--15位;2).全部是数字; 3).第一位不是0
"[1-9]\d{4,14}"
正则表达式-分组括号
将要重复使用的正则用小括号括起来,当做一个小组看待
分为5组,每组之间使用 - 隔开,每组由5位A-Z或者0-9的字符组成
"([A-Z0-9]{5}-){4}[A-Z0-9]{5}"
字符串中常用含有正则表达式的方法
public String[] split ( String regex ) | 可以将当前字符串中匹配regex正则表达式的符号作为"分隔符"来切割字符 |
public String replaceAll ( String regex , String newStr ) |
可以将当前字符串中匹配regex正则表达式的字符串替换为newStr |