Grep for python try except 通过反模式

Grep for python try except 通过反模式

我正在尝试 grep 查找各种 python 编码反模式,以便可以在我们的构建过程中捕获它们。我很难利用 grep 在新行上进行匹配。

要搜索的反模式:

except:
  pass

下面的模式在 Intellij 中工作得很好,但在与 grep 一起应用时不起作用。

except:\s+pass

请建议如何实现这一目标。

答案1

一种pcregrep代表 Perl 兼容正则表达式 GREP 的解决方案。

pcregrep -M "^except:\n\s+pass$" file

where-M, --multiline允许模式匹配多行。

正则表达式匹配行开头的文字:except:,后跟换行符、0 个或多个空格(匹配尽可能多的空格)以及pass行末尾的文字。

相关内容