侧边栏壁纸
  • 累计撰写 135 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

正则表达式

正则表达式

什么是正则表达式

  • 正则表达式由一些特定的字符组成,表示某个规则

有什么作用

  • 用来校验数据格式是否合法
  • 在一段文本中查找满足要求的内容

String 提供了匹配正则表达式的方法

方法名 说明
public boolean matches(String regex) 判断字符串是否匹配正则表达式,匹配返回true,不匹配返回false。

书写规则

字符类-只能匹配单个字符

字符规则 匹配说明
[abc] 只能是匹配a,b,c
[^abc] 除了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): 按照正则表达式匹配的内容进行分割字符串,反回一个字符串数组。
0
博主关闭了所有页面的评论