正则表达式
正则表达式不局限于语言,可以让我们方便的去匹配字符串,只需要按它的语法规则书写表达式。
单个匹配
.
,表示匹配任意一个字符\d
,匹配0-9的数字\D
,匹配非数字\w
,匹配一个word,字母、数字、下划线\s
,匹配一个空格字符,java中可以用它匹配\t
多个匹配
\d*
,表示匹配多个数字,0-n\d+
,至少一个数字,1-n\d?
,最多一个数字,0-1\d{n}
,n个数字\d{n,m}
,n-m范围个数字
复杂匹配
^
,开头$
,结尾,^A\d{3}$
,以A开头三个数字结尾\d
可以匹配0-9这个范围,如果想自定义范围可以用[1-9]
,表示一个1-9的数字可以取反[^1-9]
,[^1-9]{n}
表示不是1-9的n个数字|
,表属或()
,分组匹配,"123000"
对于这个字符串可以用\d+
匹配,我们想匹配末尾0的个数,可以考虑分组(\d+)(0*)
,但是这样第一组就可以匹配整个串,所以要加?让第一组尽可能少的匹配(非贪婪匹配)(\d+?)(0*)
使用日志
1 | [^\.]+\.(net|com)//匹配顶级域名 |