Re.sub regex删除嵌套括号python



我有一个字符串,我想在python中使用正则表达式替换,删除大括号的内容,除了位于#字符之后和.字符之前的括号内的任何数字(在下面的示例中为3),以及完全由字母组成的圆括号内的所有文本。(以下示例中的"信息")

我把这些放在一起是为了解决第一个问题,但它不起作用(我是regex的绝对初学者)。

string = 'Name, Other "Else" (2000) (info) {empty (#3.99)}'
r= re.sub(r'(^?={))?{.+(#(d+).d+)}','',string)
print r

理想的输出应该是:

Name, Other "Else" (2000) (3)

任何帮助都将不胜感激

试试这个:

re.sub(r'(d*D+d*)s+','',re.sub(r'{.+?#(d+).d+)}',r'(1)',s))

这样做的目的是匹配大括号内的数字,然后使用捕获(括号内的部分)来获得所需的字符串。

注意:最好不要使用字符串作为变量的名称,因为这可能与"字符串"模块冲突。

最新更新