Java正则表达式匹配模式及实例

最后编辑于 2019-04-09
正则表达式匹配示例
x单个字符Java匹配Java
.任意单个字符Java匹配J..a
(ab|cd)ab或cdten匹配t(en|im)
[abc]a或b或cJava匹配J[abc]va
[^abc]abc外的字符Java匹配J[^efg]va
[a-z]a-z的任意字符Java匹配[A-Z]av[a-z]
[^a-z]除a-z的任意字符Java匹配Jav[^b-z]
[a-e[m-p]]a到e或m到pJava匹配 [A-G[I-M]]av[a-d]
[a-e&&[c-p]]a到e与c到p的交集Java匹配 [A-P&&[I-M]]av[a-d]
\d一个数字123 匹配\\d
\D一个非数字$Java匹配[\\D][\\D]ava
w单词字符Java1匹配 [\\w]ava[\\w]
W非单词字符$Java匹配[\\W][\\w]ava
s空白字符Java 2匹配Java\\s2
p*p模式出现0次或任意多次(贪婪匹配)aaaaab匹配a*b
p+p模式出现1次或任意多次a匹配a+b*, able匹配(ab)+.*
p?p出现0或1次(非贪婪匹配,尽量少地匹配)Java匹配J?JavaJ?ava
p{n}p正好出现n次aaaa匹配a{4}
p{n,}p至少出现n次aaaa匹配a{1,},a不匹配a{2,}
p{n,m}p出现次数在n到m次之间aaaa匹配a{1,9},abb不匹配a{2,9}bb
  • matches(regex:String) : boolean : 如果字符串匹配模式,返回true

  • replaceAll(regex: String, replacement: String): String: 将所有匹配模式的子串更换为replacement的字符串并返回新的字符串

  • replaceFirst(regex: String, replacement: String): String: 将匹配模式的第一个子串更换为replacement的字符串并返回新的字符串

  • split(regex: String):String[]:通过将匹配模式的子串去除分隔字符串并将分割的几段字符串存入字符串数组并返回

  • split(regex: String, limit: int): String:作用同上,limit参数控制匹配次数,传入小于等于0时功能等同于split(String),大于等于0时匹配分隔limit-1