正则表达式:
![](https://i-blog.csdnimg.cn/blog_migrate/88fb5d99c22b60f0f839af512ac99a8b.png)
在java中,两个\才表示\,所以使用时需要用\\ ;
![](https://i-blog.csdnimg.cn/blog_migrate/bfc5077453c908df0ce4e2f7db31efa0.png)
在API文档的Pattern类中可以查询;
用小括号()可以分组;
(?i)可以忽略后面的大小写,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/92bad24b0b45e241212e3af995c8f85f.png)
可以忽略bc的大小写;
![](https://i-blog.csdnimg.cn/blog_migrate/a0847ae22d486c07d503e3de2cd56f13.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f9b72a00fa6afbf03d2b13443c47df7c.png)
爬虫:
本地爬取:
![](https://i-blog.csdnimg.cn/blog_migrate/83bdeae976af88a32d50f7d2341518a7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c7968ea59f6e9ad3f3be369988421f15.png)
m.find()方法用来查找(指针查找),m.group()方法用来返回查找到的字符串;
当find方法查找到字符串末尾时跳出循环;
网络爬取:
![](https://i-blog.csdnimg.cn/blog_migrate/be1e8df2a09f0110743a5d6ec0dbec20.png)
有条件的爬取:
![](https://i-blog.csdnimg.cn/blog_migrate/3efc88eb710ff6f3d82685220e916c22.png)
在输出时只会输出前面的Java;
如果是?: 会在获取的时候获取全部内容;
如果是?! 会去除!后面这份数据,获取其他?的内容;
贪婪爬取和非贪婪爬取:
![](https://i-blog.csdnimg.cn/blog_migrate/2a6f9ee4da5466c2a922cdbf48b2c472.png)
正则表达式在字符串方法中的使用:
![](https://i-blog.csdnimg.cn/blog_migrate/28653d9a583d2cbb95c282c8c1d08113.png)
正则表达式的捕获分组:
![](https://i-blog.csdnimg.cn/blog_migrate/26e604bac1dd7f8c4d7b1dccfd29fca2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4cec49c4ea5303a555b0ba67fddec01d.png)
捕获分组用于需要使用前面的内容;
![](https://i-blog.csdnimg.cn/blog_migrate/aec724ad85865e472dd83576896c9feb.png)
非捕获分组:
![](https://i-blog.csdnimg.cn/blog_migrate/7f8409a01cb80b4393f00c068172b886.png)
这样做不占用组号;