Pycharm中利用正则表达式为print添加括号() 支持Python3
从Python2.x迁移到Python3.x最容易出现的一个问题是,之前写的没加括号的print语句全部报错了。
逐个加括号效率太低,考虑使用正则表达式批量替换。
以Pycharm为例,利用Ctrl+R批量替换,输入如下图所示表达式:
表达式解析:
>print (.*?);?$ 这句查找匹配的模式:
. 代表匹配除“\n”之外的任何单个字符。
* 代表匹配前面的子表达式零次或多次。
?代表匹配前面的子表达式零次或一次。
()代表匹配括号中的,并获取这一匹配
;代表分号(虽然Python中可以在表达式结尾不加分号,但是难免有人会加)
$代表匹配输入字符串的结束位置
这句整体的意思是:匹配print语句的所有部分,并将print的内容获取到第一个括号里(注意,此处抛弃掉分号了)
>print \($1\) (注意:这句以截图为准,特殊符号触发了****的公式编辑器规则) 替换目标:
$1 表示匹配第一个圆括号里的内容
这句整体的意思是:替换,并且替换后的括号中的内容就是之前获取到的第一个括号里的内容