正则表达式

简单的正则表达式使用

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类。

你可能感兴趣的:(正则表达式)