正则表达式
查阅API Pattern类
部分非捕获组构造摘要
字符
x 字符x
\\ 反斜线字符
\n 换行符
\r 回车符
\e 转义符
字符类
[abc] a、b或c
[^abc] 除了a、b、c之外的任何字符
[a-zA-Z] a到z或A到Z,包括两头的字母
预定义字符类
. 任何字符
\d 数字0-9
\D 0-9除外的数字
\s 空白字符
\S 非空白字符
\w 单个字符[a-zA-Z0-9_]
\W 非单词字符
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\z 输入的结尾
Greedy 数量词
X? X一次或一次也没有
X* X零次或多次
X+ X一次或多次
X{n} X恰好n次
X{n,} X至少n次
X{n,m} X至少n次,但是不超过m次
判断功能
- public boolean matches(String regex) 结果为true或false
分割功能
- public String[] split(String regex) 结果为数组,调用时需按照调用数组的方法调
替换功能
- public String replaceAll(String regex,String replacement)
获取功能
- Pattern和Matcher结合使用,通过API查阅Pattern类的说明
- 典型的调用顺序是
Pattern p = Pattern.compile(“a*b”);
Matcher m = p.matcher(“aaaaab”);
boolean b = m.matches(); - 再通过使用find()方法和group()方法,得到获取的效果
当我们需要某些正则表达式去爬一些数据时,可以自行百度^^