正则表达式和爬虫

1.正则表达式的作用

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

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

2.正则表达式

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

abc 只能是a,b,或c
\^abc 除了a,b,c之外的任何字符
a-zA-Z a到zA到Z,包括(范围)
a-d\[m-pll 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) 按照正则表达式的规则切割字符串
相关推荐
echome8881 小时前
Python 正则表达式:5 个日常够用的模式
python·正则表达式
yivifu2 天前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
全栈陈序员2 天前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
BruceXu8 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L9 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆67510 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing0311 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦13 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦15 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
MoRanzhi120315 天前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理