【数据处理】re 正则表达式
【re.compile】
是 Python 中 re
(正则表达式)模块的一个函数,它用于将一个字符串形式的正则表达式编译成一个 Pattern 对象。这样做的好处是可以提高正则表达式的匹配效率,尤其是当你需要多次使用同一个正则表达式时。
当你调用 re.compile
时,你传递一个字符串作为参数,这个字符串包含了你要编译的正则表达式。然后,re.compile
会返回一个 Pattern 对象,你可以使用这个对象来调用各种匹配和搜索方法,如 match()
、search()
、findall()
、finditer()
等。
1 import re 2 3 # 编译一个正则表达式,用于匹配一个或多个数字 4 pattern = re.compile(r'\d+') 5 6 # 使用 Pattern 对象的 search 方法在字符串中搜索匹配项 7 match = pattern.search("There are 123 apples and 456 oranges.") 8 9 if match: 10 # 如果找到了匹配项,打印出匹配的内容 11 print("Found a match:", match.group()) 12 else: 13 # 如果没有找到匹配项,打印一条消息 14 print("No match found.")
【re.findall】
findall
是 re
模块中的一个函数,用于在字符串中查找所有与正则表达式匹配的子串,并返回一个列表。
1 import re 2 3 text = "Hello, world! This is a test: 123_abc." 4 matches = re.findall(r'\w+', text) 5 print(matches) 6 7 ['Hello', 'world', 'This', 'is', 'a', 'test', '123_abc']
【匹配字符说明】
-
点号(
.
):在正则表达式中,点号是一个特殊字符,它匹配除换行符\n
之外的任何单个字符(在默认情况下,具体行为可能因正则表达式的模式和标志而异)。例如,a.c
可以匹配abc
、a1c
、a#c
等。 -
星号(
*
):星号是一个量词,它表示前面的元素(在这里是点号.
)可以在字符串中出现零次或多次。因此,.*
匹配零个或多个任意字符(除了换行符,除非使用了特定的标志来改变这种行为)。 \w
匹配任何字母数字字符,包括下划线(等价于[A-Za-z0-9_]
)+
表示前面的字符(在这个例子中是\w
)可以连续出现一次或多次
1 # 常用组合 2 .* 就表示匹配任意长度的字符串(包括空字符串),其中可以包含任何字符(除了换行符)
分类:
python / 数据解析类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix