Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从python正则表达式组中去除空白_Python_Regex_String - Fatal编程技术网

如何从python正则表达式组中去除空白

如何从python正则表达式组中去除空白,python,regex,string,Python,Regex,String,是否可以从python中的另一个正则表达式子中对组执行正则表达式子?我想删除所有方括号,并用下划线替换方括号内的所有空格。我可以删除方括号,但如果不删除方括号外的空格,我就无法从括号内的文本块中删除空格 foo = 'select [table name].[column name] from [table name]' re.sub('\[(.*?)\]', re.sub('\s', '_',r'\1'), foo) 结果: '选择表名。从表名中选择列名' 我试图实现的输出是: '从表名称

是否可以从python中的另一个正则表达式子中对组执行正则表达式子?我想删除所有方括号,并用下划线替换方括号内的所有空格。我可以删除方括号,但如果不删除方括号外的空格,我就无法从括号内的文本块中删除空格

foo = 'select [table name].[column name] from [table name]'

re.sub('\[(.*?)\]', re.sub('\s', '_',r'\1'), foo)
结果: '选择表名。从表名中选择列名'

我试图实现的输出是: '从表名称中选择表名称。列名称'

我想做的是可能的吗?

您可以在re.sub中使用lambda和replace

输出:

select table_name.column_name from table_name

您可以使用函数.replace将要替换的内容替换为要替换的内容

@wp78de不适用于整个字符串。仍然需要更多的逻辑来获得正确的输出。这不起作用,因为OP只想用下划线替换括号内的空格。。。替换所有问题明确要求的正则表达式solution@S.Jovan我的缺点是,我认为可以用正则表达式来完成我的尝试:但是使用re.sub并不能像预期的那样工作,所以你的sol绝对是最好的!
select table_name.column_name from table_name