在IDE中进行搜索替换(在本例中为PyCharm)时,我想做的一件事是避免将表达式或语句减少一半。
例如,假设我想修复我使用python-2样式的print语句这一事实。我可以写:
搜索:print (.+)
,替换:print($1)
但这会对多行语句做错事:
print 'one' \
'two'
通常,识别多行语句很复杂。您需要检查尾随\ ns,并为多种类型的括号执行括号匹配。这样做有内置的功能吗?某种语句结束/表达结束转义序列?
答案 0 :(得分:0)
你可能会这样做。
查找print((?:.+?(?:\\\r?\n)?)+)
替换print($1)
扩展
print
( # (1 start)
(?:
.+?
(?: \\ \r? \n )? # Possible line-continuation
)+
) # (1 end)