正则表达式
匹配字符串
//String.matches()
"Java is fun".matches("Java.*);
上面语句返回 true, "Java.*"是一个正则表达式,描述以Java开始,后面跟0个或者多个字符串。
正则表达式语法
正则表达式由字面值字符和特殊符号组成。反斜杠是一个特殊的字符,在字符串中开始转义序列。
x 指定字符x Java匹配Java
. 任意单个字符 Java匹配J…a】
(ab|cd)ab或者cdten匹配t(en|im)
[abc]a,b或者cJava匹配 Ja[uvwx]a
[^abc]a,b,c除外的任意字符Java匹配 Ja[^ars]a[a-z]a到zJava匹配 [A-M]av[a-d]
[^a-z]除开a到z的任意字符Java匹配 Jav[^b-d]
[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个数位,等同于[0-9]Java2匹配 Java[\d]
\D一位非数字KaTeX parse error: Undefined control sequence: \D at position 9: Java匹配 [\̲D̲][\D]ava \w单词字符…Java匹配 [\W][\w]ava
\s空白字符Java 2匹配 Java\s2
\S非空字符Java匹配 [\S]ava
pp的0次或者多次aaaabb匹配 abb
p+p的1次或者多次出现a匹配 a+b
p?p的0次或者1次出现Java匹配 J?ava
p{n}p的n次出现Java不匹配 .{2}
p{n,}p的至少n次出现a不匹配 a{2,}
p{n,m}p出现次数位于[n,m)之间aaa匹配a{1,9}