一、正则表达式和Python语言(方法笼统介绍)

本文详细介绍了Python中re模块的功能与用法,包括核心函数如match、search、findall等,以及正则表达式对象的方法如group、groups等。此外还列举了re模块常用的属性,例如re.I用于不区分大小写的匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、re模块:核心函数和方法

1. 仅re模块函数

函数名描述
compile(pattern, flags=0)使用任何可选的标记来编译正则表达式的模式,返回返回一个正则表达式对象。

2. re模块函数和正则表达式对象的方法

函数名描述
match(pattern, string, flags=0)尝试使用带有可选的标记的正则表达式的模式来匹配字符串。如果匹配成功,就返回匹配对象,如果失败,就返回None。
search(pattern, string, flags=0)使用可选标记搜索字符串中第一次出现的正则表达式模式。如果匹配成功,则返回匹配对象,如果失败,就返回None.
findall(pattern, string[, flags])查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表
finditer(pattern, string[, flags])与findall相同,不是返回列表而是返回一个迭代器。对于每次匹配,迭代器都返回一个匹配对象。
split(pattern, string, max=0),根据正则表达式的模式分割符,split函数将字符串分割为列表,然后返回成功匹配的列表,分割最多操作max次(默认分割所有匹配成功的位置)

3. re模块函数和正则表达式对象方法

函数名描述
sub(pattern, repl, string, count=0)使用repl替换所有正则表达式的模式在字符串中出现的位置,除非定义count,否则替换所有出现的位置
subn(pattern, repl, string, count=0)返回替换操作的条目
purge()清除隐式编译的正则表达式模式

4.匹配对象常用的方法

函数名描述
group(num=0)返回整个匹配对象,或者编号为num的特定子组
groups(default=None)返回一个包含所有匹配子组的元组(如果没有匹配成功,则返回一个空元组)
groupdict(default=None)返回一个包含所有匹配的命名子组的字典,所有的子组名称作为字典的键(如果没匹配成功,返回一个空字典)

5.re模块常用的属性

属性名描述
re.I, re.IGNORECASE不区分大小写
re.L, re.LOCALE根据所使用的本地语言环境通过\w,\W,\b,\B,\s,\S 实现匹配
re.M, re.MULTILINE^,$分别匹配目标字符串中行的起始和结尾,而不是严格匹配整个字符串本身的起始和结尾。
re.S, re.DOTALL使’.’匹配全部字符串
re.X, re.VERBOSE通过反斜线转义,不明白

Tips:

 1. 是否需要预编译,就是使用compile() 进行预编译
 2.  purge() 函数能够清除预编译缓存。
 3.  标记,可以通过 '|' 进行合并
Python 爬虫中,正则表达式是非常常用的技术,可以帮助我们从网页中提取出需要的信息。下面是些常用的正则表达式符号方法: 1. ".":匹配任意单个字符,除了换行符。 2. "^":匹配字符串的开始位置。 3. "$":匹配字符串的结束位置。 4. "*":匹配前个字符出现 0 次或多次。 5. "+":匹配前个字符出现 1 次或多次。 6. "?":匹配前个字符出现 0 次或 1 次。 7. "{m}":匹配前个字符出现 m 次。 8. "{m,n}":匹配前个字符出现 m 到 n 次。 9. "(...)":分组匹配,匹配括号内的表达式。 10. "[...]":匹配括号内的任意个字符。 11. "[^...]":匹配不在括号内的任意个字符。 12. "\d":匹配数字,等同于 [0-9]。 13. "\D":匹配非数字,等同于 [^0-9]。 14. "\s":匹配空白字符,包括空格、制表符、换行符等。 15. "\S":匹配非空白字符。 16. "\w":匹配单词字符,包括字母、数字、下划线。 17. "\W":匹配非单词字符。 在 Python 中,使用 re 模块进行正则表达式的匹配。常用的方法包括: 1. re.compile(pattern):将正则表达式编译成个对象,提高匹配效率。 2. re.search(pattern, string):在字符串中搜索匹配正则表达式的第个位置。 3. re.findall(pattern, string):在字符串中搜索匹配正则表达式的所有位置,并返回个列表。 4. re.sub(pattern, repl, string):将字符串中所有匹配正则表达式的字符替换为指定的字符串。 以上是些常用的正则表达式符号方法,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值