【数据处理】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']

【匹配字符说明】

  1. 点号(.):在正则表达式中,点号是一个特殊字符,它匹配除换行符 \n 之外的任何单个字符(在默认情况下,具体行为可能因正则表达式的模式和标志而异)。例如,a.c 可以匹配 abca1ca#c 等。

  2. 星号(*):星号是一个量词,它表示前面的元素(在这里是点号 .)可以在字符串中出现零次或多次。因此,.* 匹配零个或多个任意字符(除了换行符,除非使用了特定的标志来改变这种行为)。

  3. \w 匹配任何字母数字字符,包括下划线(等价于 [A-Za-z0-9_]
  4. + 表示前面的字符(在这个例子中是 \w)可以连续出现一次或多次

   

1 # 常用组合
2 .* 就表示匹配任意长度的字符串(包括空字符串),其中可以包含任何字符(除了换行符)

 

posted on   张凌赫_帅  阅读(29)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示