在pycharm

时间:2017-03-20 16:24:53

标签: regex pycharm

在IDE中进行搜索替换(在本例中为PyCharm)时,我想做的一件事是避免将表达式或语句减少一半。

例如,假设我想修复我使用python-2样式的print语句这一事实。我可以写:

搜索:print (.+),替换:print($1)

但这会对多行语句做​​错事:

print 'one' \
      'two'

通常,识别多行语句很复杂。您需要检查尾随\ ns,并为多种类型的括号执行括号匹配。这样做有内置的功能吗?某种语句结束/表达结束转义序列?

1 个答案:

答案 0 :(得分:0)

你可能会这样做。

查找print((?:.+?(?:\\\r?\n)?)+)
替换print($1)

扩展

 print 
 (                             # (1 start)
      (?:
           .+? 
           (?: \\ \r? \n )?              # Possible line-continuation
      )+
 )                             # (1 end)