点我
正则表达式
正则表达式
什么是正则表达式
- 正则表达式由一些特定的字符组成,表示某个规则
有什么作用
- 用来校验数据格式是否合法
- 在一段文本中查找满足要求的内容
String 提供了匹配正则表达式的方法
方法名 | 说明 |
---|---|
public boolean matches(String regex) | 判断字符串是否匹配正则表达式,匹配返回true,不匹配返回false。 |
书写规则
字符类-只能匹配单个字符
字符规则 | 匹配说明 |
---|---|
[abc] | 只能是匹配a,b,c |
1 | 除了a,b,c之外的任何字符 |
[a-zA-Z] | a到z,A到Z,包括(范围) |
[a-d[m-p]] | a到d,或者m到p |
[a-z&&[def]] | d,e,或者f(交集) |
[a-z&&[^bc]] | a到z,除了b和c |
[a-z&&[^m-p]] | a到z,除了m到p |
预定义字符(只匹配单个字符)
字符规则 | 说明 |
---|---|
. | 任何字符 |
\d | 一个数字,[0-9] |
\D | 非数字[^0-9] |
\s | 一个空白字符 |
\S | 非空白字符 |
\w | [a-zA-Z0-9] |
\W | 一个非单词字符 |
数量词
字符规则 | 说明 |
---|---|
X? | X,一次或者0次 |
X* | X,零次或者多次 |
X+ | X,一次或者多次 |
X{n} | X,正好n次 |
X{n,} | X,至少n次 |
X{n,m} | X,至少n但是不超过m次 |
符号规则
符号 | 含义 | 举例 |
---|---|---|
? | 0次或1次 | \d? |
* | 0次或多次 | \d (abc) |
+ | 1次或多次 | \d+ (abc)+ |
{} | 具体次数 | a{7} \d{7,19} |
(?i) | 忽略后面字符的大小写 | (?i)abc |
a((?i)b)c | 只忽略b的大小写 | a((?i)b)c |
符号 | 含义 | 举例 | ||
---|---|---|---|---|
[] | 里面的内容出现一次 | [abc] | ||
^ | 取反 | [^abc] | ||
&& | 交集,不能写单个的& | [a-z&&m-p] | ||
. | 任意字符 | \n 回车符号不匹配 | ||
\ | 转义字符 | \\d | ||
\d | 0-9 | \\d+ | ||
\D | 非0-9 | \\D+ | ||
\s | 空白字符 | |||
\S | 非空白字符 | [^\s] | ||
\w | 单词字符 | [a-zA-Z_0-9] | ||
\W | 非单词字符 | [^\w] | ||
() | 分组 | a(bc)+ | ||
\ | 写在方括号外面表示并集 | ab\ | AB |
替换、分割方法
方法名 | 说明 |
---|---|
public String replaceAll(String regex , String newStr) | 按照正则表达式匹配的内容进行替换 |
public String[] split(String regex): | 按照正则表达式匹配的内容进行分割字符串,反回一个字符串数组。 |
- abc ↩
分类:
JAVA
版权申明
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论