JAVA 正则表达式
正则表达式 | 匹配 |
---|---|
x | 指定字符x |
. | 任意单个字符,出了换行符之外 |
ab or cd | ab或cd |
[abc] | a、b或者c |
[^abc] | 出了a、b或者c外的任意字符 |
[a-z] | a到z |
[^a-z] | 除了a到z外的任意字符 |
[a-e[m-p]] | a到e或者m到p |
[a-e&&[[c-p]] | a到e与c到p的交集 |
\d | 一位数字,等同于[0,9] |
\D | 一位非数字 |
\w | 字符单词 |
\W | 非字符单词 |
\s | 空白字符 |
\S | 非空白字符 |
p* | 0或者多次出现模式p |
p+ | 1次或者多次出现模式p |
p? | 0或者1次出现模式p |
p{n} | 刚好出现n次模式p |
p{n,} | 至少出现n次模式p |
p{n,m} | [n,m)次数出现模式p |
\p{P} | 一个标点字符!“#¥%&‘()*+,-。/:;<=>?@[]^_’{}~ |
下面举例说明
正则表达式 | 示例 |
---|---|
x | Java匹配Java |
. | Java匹配J…a |
ab or cd | ten匹配t(en or im) |
[abc] | Java 匹配 Ja[uvwx]a |
[^abc] | Java 匹配 Ja[^ars]a |
[a-z] | Java 匹配[A-M]av[a-d] |
[^a-z] | Java 匹配 Jav[^b-d] |
[a-e[m-p]] | Java 匹配 [A-G[I-M]]av[a-d] |
[a-e&&[[c-p]] | Java 匹配 [A-P&&[I-M]]av[a-d] |
\d | Java2 匹配 “Java[\d]” |
\D | &Java 匹配“[\D][\ D]ava” |
\w | Java1 匹配“[\w]ava[\d]” |
\W | $Java 匹配"[\W][\ w]ava[\d]" |
\s | "Java 2"匹配 “Java\s2” |
\S | Java 匹配 “[\S]ava” |
p* | aaaa 匹配 “a*” abab 匹配“(ab)*” |
p+ | a 匹配 “a+b*” able 匹配“(ab)+.*” |
p? | Java 匹配 “J?Java” ava 匹配 ”J?ava“ |
p{n} | Java 匹配”Ja{1}.*“ Java 不匹配”.{2}“ |
p{n,} | aaaa 匹配 ”a{1,}“ a不匹配”a{2,}“ |
p{n,m} | aaaa 匹配 ”a{1,9}“ abb不匹配”a{2,9}bb“ |
\p{P} | J?a 匹配 “J\p{P}a” J?a 不匹配 “J\p{P}a” |
正则表达式需要通过频繁的运用才能够更加熟练地掌握