Regex 在pycharm中搜索时匹配python语句/表达式边界

Regex 在pycharm中搜索时匹配python语句/表达式边界,regex,pycharm,Regex,Pycharm,在IDE中执行搜索替换(在本例中为PyCharm)时,我想做的一件常见事情是避免将表达式或语句一分为二 例如,假设我想修复我的系统正在使用python-2样式的打印语句这一事实。我可以这样写: 搜索:print(+),替换:print($1) 但这对于多行语句来说是错误的: print 'one' \ 'two' 一般来说,识别多行语句是复杂的。您需要检查尾随\s,并对多种类型的括号进行括号匹配。是否有内置的功能来执行此操作?某种类型的语句结束/表达式结束转义序列?您可能可以这样做

在IDE中执行搜索替换(在本例中为PyCharm)时,我想做的一件常见事情是避免将表达式或语句一分为二

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

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

但这对于多行语句来说是错误的:

print 'one' \
      'two'

一般来说,识别多行语句是复杂的。您需要检查尾随\s,并对多种类型的括号进行括号匹配。是否有内置的功能来执行此操作?某种类型的语句结束/表达式结束转义序列?

您可能可以这样做

查找
打印((?:.+?(?:\\\r?\n)?)+)

替换
打印($1)

扩大

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