简单的正则表达式使用
Greedy 数量词
构造 | 匹配 |
---|---|
X? X | 一次或一次也没有 |
X* X | 零次或多次 |
X+ X | 一次或多次 |
X{n} X | 恰好 n 次 |
X{n,} X | 至少 n 次 |
X{n,m} X | 至少 n 次,但是不超过 m 次 |
X{n}\丨X{m} | 出现n次或者m次 |
字符类
构造 | 匹配 |
---|---|
[abc] | a、b 或 c(简单类) |
[^abc] | 任何字符,除了 a、b 或 c(否定) |
[a-zA-Z] | a 到 z 或 A 到 Z,两头的字母包括在内(范围) |
[A-z] | a 到 z 或 A 到 Z,两头的字母包括在内(范围) |
预定义字符类
构造 | 匹配 |
---|---|
. | 任何字符(与行结束符可能匹配也可能不匹配) |
\d | 数字:[0-9] |
\D | 非数字:[^0-9] |
\s | 空白字符:[ \t\n\x0B\f\r] |
\S | 非空白字符:[^\s] |
\w | 单词字符:[a-zA-Z_0-9] |
\W | 非单词字符:[^\w] |
反斜线、转义
- 反斜线字符 ('') 用于引用转义构造,如上表所定义的,同时还用于引用其他将被解释为非转义构造的字符。
- 用法
- 以X{n}\丨X{m}为例
public static void main(String[] args) {
String str = "aa";
String regex = "a{2}|a{4}";
System.out.println(str.matches(regex));
}
以上仅简单常用的少部分表达,参见JDK6.0API中文参考手册 Pattern类。
网友评论