首页 > 解决方案 > Python:正则表达式并替换随机子字符串

问题描述

我需要一些关于python中正则表达式的帮助。

例如:

我有字符串:" "substring 1" + ("substring 2" | "substring 3") "...带有子字符串的数量和任何运算符。

我想将此字符串转换为:f (a) + (f (b) | f (c))

即用包含参数的函数替换子字符串,就是保持运算符顺序的字符串。

有没有办法做到这一点?谢谢

标签: pythonregexreplace

解决方案


您可以尝试查找和替换 2 个引号之间的任何子字符串:

import re
s = ' "substring 1" + ("substring 2" | "substring 3") '

print(re.sub(r'("[^"]*")', r'f(\1)', s))

推荐阅读