python - 修改后用匹配替换python中的子字符串
问题描述
我正在尝试在python中将python中的子字符串替换为修改后的匹配项。我有#ma{Z} 并希望用#maZ 替换它。
re.sub(t=r'\#\{\w\}',t - 1 , line)
谢谢你。
解决方案
你不需要正则表达式,用空字符串str.replace
替换{
和}
就可以了:
In [855]: str_ = '#ma{Z}'
In [856]: str_.replace('{', '').replace('}', '')
Out[856]: '#maZ'
如果您坚持使用正则表达式,请为{
and使用字符类}
,然后再次替换为空字符串:
In [857]: re.sub(r'[{}]', '', str_)
Out[857]: '#maZ'
根据评论编辑:
由于您实际上想要删除 in 周围的大括号Q
,{<math>\\mathbb{Q}}
您可以使用\w+
匹配一个或多个字母数字或下划线并将匹配项放在捕获的组中以在替换中引用它re.sub
:
In [858]: str_ = '{<math>\\mathbb{Q}}'
In [859]: re.sub(r'\{(\w+)\}', r'\1', str_)
Out[859]: '{<math>\\mathbbQ}'
推荐阅读
- lua - 返回多个值的函数 Lua
- terraform - 有没有办法强制 AKS 将 kubelet 配置为使用 HTTPS 作为其指标端点?
- python - Python numpy 数组数学显示奇怪的结果
- sql-server - 使用 VSCode PowerShell 连接到 Docker SQL Server SMO PS Provider?
- python - 如何在 Python 中从 epub 中提取文本(来自 url 源)
- python - 如何从一个目录中读取多个文件并将它们附加到 python 中?
- visual-studio-code - 如何在 Visual Studio Code 中复制代码行的存储库 URL?
- laravel - 调用数组上的成员函数 getClientOriginalName()
- c# - 使积分收集并转到其他地方的脚本,使用“itrigger”标签影响所有内容
- mysql - 在 Windows 10 中使用 git bash 将 sql 转储备份文件导入我的 sql 服务器