| 正则表达式 | 匹配 |
|---|---|
| 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"匹配 “Javas2” |
| 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 匹配 “Jp{P}a” J?a 不匹配 “Jp{P}a” |
正则表达式需要通过频繁的运用才能够更加熟练地掌握



