Java正则表达式匹配模式及实例
正则表达式 | 匹配 | 示例 |
---|---|---|
x | 单个字符 | Java匹配Java |
. | 任意单个字符 | Java匹配J..a |
(ab|cd) | ab或cd | ten匹配t(en|im) |
[abc] | a或b或c | Java匹配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到p | Java匹配 [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?Java 和J?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
: 如果字符串匹配模式,返回truereplaceAll(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
次