是否可以在python中的另一个正则表达式子组中对组执行正则表达式子?我想删除所有方括号并用下划线替换方括号内的所有空格。我可以毫无问题地删除方括号,但我无法弄清楚如何从括号内的那些文本块中删除空格(不删除方括号外的空格)。
foo = 'select [table name].[column name] from [table name]'
re.sub('\[(.*?)\]', re.sub('\s', '_',r'\1'), foo)
结果:
'从表名'
我想要实现的输出是:
'select table_name'column_name from table_name'
我正在尝试做什么?
答案 0 :(得分:2)
您可以在lambda
中使用replace()
和re.sub()
。
re.sub(r'\[(.*?)\]', lambda m: m.group(1).replace(" ", "_"), text)
输出:
select table_name.column_name from table_name
答案 1 :(得分:-1)
您可以使用.replace功能(要替换的内容,以及要替换的内容)。