点我

正则表达式

什么是正则表达式
  • 正则表达式由一些特定的字符组成,表示某个规则
有什么作用
  • 用来校验数据格式是否合法
  • 在一段文本中查找满足要求的内容
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
\d0-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):按照正则表达式匹配的内容进行分割字符串,反回一个字符串数组。

  1. abc
分类: JAVA

评论

-- 评论已关闭 --

目录