清理 Python 注释的正则表达式
背景
项目推行国际化,除了代码中变量、字符串常量外,注释也要求全部使用英文,因此需要使用正则表达式将这些注释、文档字符串定位出来,加上上下文信息(如哪个文件哪一行)汇总、统一进行翻译,再替换到原来的位置,当然如果原来注释已经过时,则重新订正。
正则表达式
清除文件头的注解或者函数注解
^\s*"""(.|[\r\n])*?\s*"""[\r\n]+
清除#开头的注释
允许行首有缩进。
^\s*#.*[\r\n]+
清除代码块内的单行注释
包括行尾的注释。
(?<=[^#])#[^'"]+?$`
小结
从上而下,执行完三个命令后,所有的注释和 doc-string 都会被清理干净。