正则表达式和爬虫

1.正则表达式的作用

作用一:校验字符串是否满足规则

作用二:在一段文本中查找满足要求的内容(爬虫)

2.正则表达式

(1)字符类(只匹配一个字符):

abc\] 只能是a,b,或c \[\^abc\] 除了a,b,c之外的任何字符 \[a-zA-Z\] a到zA到Z,包括(范围) \[a-d\[m-pl\]l a到d,或m到p \[a-z\&\&\[def\]\] a-z和def的交集。为:d,e,f \[a-z\&\&\[\^bc\]\] a-z和非bc的交集。(等同于\[ad-z\]) \[a-z\&\&\[\^m-p\]\] a到z和除了m到p的交集。(等同于\[a-lq-z\]) **(2)预定义字符(只匹配一个字符):** . 任何字符 \\d 一个数字:\[0-9

\D 非数字:[^0-9]
\s 一个空白字符:[\t\n\x\0B\f\r]
\S 非空白字符:[^\s]
\w [a-zA-Z_0-9]英文、数字、下划线
\W [^\w]一个非单词字符

(3)数量词

X? X,一次或0次
X* X,零次或多次
X+ X,一次或多次
X{n} X,正好n次
X{n,} X,至少n次
X{n,m} X,至少n但不超过m次

例子:

3.爬虫

(1)基础爬取

实例:

(2)有条件爬取
  • 需求1:
  • 需求2:

((?!)Java)

//意思是java忽略大小写

  • 需求3:
(3)贪婪爬取和非贪婪爬取

只写+或*表示贪婪匹配

+?非贪婪匹配

*?贪婪匹配

贪婪爬取:在爬取数据的时候尽可能的多获取数据

非贪婪匹配:在爬取数据的时候尽可能的少获取数据

ab+:

非贪婪匹配: abbbbbbbbbbbbbbbbb

贪婪匹配:ab

(4)正则表达式在字符串方法中的使用
方法名 说明
public String[ ] matches(String regex) 判断字符串是否满足正则表达式的规则
public String replaceAll(String regex,String newStr) 按照正则表达式的规则进行替换
public String[ ] split(String regex) 按照正则表达式的规则切割字符串
相关推荐
XMYX-02 天前
33 - Go 文本模板 template:从入门到原理深挖
golang·正则表达式
XMYX-02 天前
32 - Go 正则表达式:从匹配字符串到理解 RE2 引擎
golang·正则表达式
程序员榴莲3 天前
Python 正则表达式入门:从匹配手机号到提取文本内容
python·正则表达式
红茶要加冰5 天前
七、正则表达式
linux·运维·正则表达式·shell
Pocker_Spades_A5 天前
Python快速入门专业版(五十八)——正则表达式(re):爬虫文本提取利器(从语法到实战)
爬虫·python·正则表达式
红茶要加冰5 天前
九、文本处理三剑客——sed
linux·运维·服务器·正则表达式·shell
Bug-制造者6 天前
正则表达式 vs Shell通配符:彻底分清,告别命令行踩坑
linux·正则表达式
剑神一笑7 天前
Linux top 命令深度解析:进程监控的性能优化实战
linux·运维·正则表达式
jayson.h7 天前
正则表达式:从文件名提取器件编号
开发语言·python·正则表达式
水木流年追梦8 天前
大模型入门-应用篇3-Agent智能体
开发语言·python·算法·leetcode·正则表达式