正则表达式去除文本中括号()<>[]里的内容

一行文本中包含有各种括号,如()、<>、\[\],我们希望把括号及括号内的内容0去除,可以通过正则表达式来实现。

匹配()

python 复制代码
pattern = r'\([^)]*\)'  # 匹配()

匹配一个左括号(,然后匹配0个或多个不是右括号的任意字符\^)*,最后匹配一个右括号())。这样就可以匹配出括号里的内容。

匹配<>

python 复制代码
pattern = r'\<[^>]*\>'  # 匹配<>

匹配\[\]

python 复制代码
pattern = r'\[[^]]*\]'  # 匹配[]

示例代码

python 复制代码
import re

text_1 = '(A)hello () world (end)'
text_2 = '<A>hello <> world <end>'
text_3 = '[A]hello [] world [end]'

pattern_1 = r'\([^)]*\)'  # 匹配()
pattern_2 = r'\<[^>]*\>'  # 匹配<>
pattern_3 = r'\[[^]]*\]'  # 匹配[]


valid_text_1 = re.sub(pattern_1, '', text_1).strip()
valid_text_2 = re.sub(pattern_2, '', text_2).strip()
valid_text_3 = re.sub(pattern_3, '', text_3).strip()

print(valid_text_1)
print(valid_text_2)
print(valid_text_3)

输出如下:

复制代码
hello  world
hello  world
hello  world
相关推荐
荣码3 分钟前
Java后端用LangChain搭大模型应用,我踩了5个坑
java
JAVA9653 分钟前
JAVA面试-并发篇 04-synchronized和ReentrantLock 的区别是什么
java·面试
我是一只码蚁4 分钟前
《别再死记面向对象了,我家咖啡机就是最好的老师》
java·后端
Jempo M5 分钟前
小品文:服务器并发模型深度详解:事件驱动、多线程、Actor模型全维度对比与工程实践
服务器·微服务
ZenosDoron6 分钟前
malloc规范
java·开发语言
codeejun6 分钟前
每日一Go-71、理论知识:CAP 、一致性原理 、Raft 机制(简化实现一个 Raft)
java·开发语言·golang
阿杰 AJie7 分钟前
ExcelUtils样式相关工具
java·后端
Aotman_8 分钟前
JavaScript数组对象中指定字段转换
java·开发语言·前端·javascript·vue.js·前端框架·es6
skywalker_1114 分钟前
Maven速通
java·maven
garmin Chen16 分钟前
Elasticsearch(4):Java Rest Client 搜索与聚合速查
java·分布式·elasticsearch