前言:
前几天在Python最强王者交流群【群除我佬】问了一个Python
正则表达式处理的问题,这里拿出来给大家分享下。
解决方案:
这个还是不太难的,学点正则表达式基础的话,应该就可以写出来了。
import re # 定义输入文本 text = "【豫剧】(打金枝)在宫院我领了万岁的旨意" # 使用正则表达式提取小括号内的内容 match = re.search(r'\((.*?)\)', text) if match: result = match.group(1) # 提取匹配到的内容 print("提取到的小括号内的内容:", result) else: print("没有找到小括号内的内容")
代码解析:
- 导入
re
模块:用于处理正则表达式。 - 定义文本:将待处理的字符串赋值给
text
变量。 - 正则表达式:
r'\((.*?)\)'
:
\(
和\)
:匹配左小括号(
和右小括号)
。反斜杠(\)
用来转义,因为括号在正则表达式中有特殊含义。
(.*?)
:这是一个捕获组,.*?
表示非贪婪模式匹配任意字符(包括中文),直到遇到下一个右括号为止。
- 执行匹配:使用
re.search()
在文本中搜索匹配项。 - 提取结果:如果找到了匹配项,使用
match.group(1)
提取括号内的内容。 - 输出结果:打印提取到的内容。
运行结果:
总结:
如果文本中有多个小括号,你可以使用re.findall()
来找到所有匹配项。
# 找到文本中所有小括号内的内容 results = re.findall(r'\((.*?)\)', text) print("提取到的小括号内的内容:", results)
如果在文本中有多个小括号内容,这样的方式会返回一个列表,包含所有提取到的内容。
有兴趣的可以自己尝试下~~