如何在我的代码中找到未记录的方法?

Cip*_*agă 6 python pycharm

我正在为一个项目编写文档,我想确保我没有错过任何方法.代码是用Python编写的,我使用PyCharm作为IDE.

基本上,我需要一个REGEX来匹配以下内容:

def method_name(with, parameters):
    someVar = something()
    ...
Run Code Online (Sandbox Code Playgroud)

但它不应该匹配:

def method_name(with, parameters):
    """ The doc string """
    ...
Run Code Online (Sandbox Code Playgroud)

我尝试使用带有REGEX功能的PyCharm搜索模式,):\s*[^"']因此它会匹配任何行,之后:不会以空格开头"'之后,但它不起作用.知道为什么吗?

Tho*_*zco 6

您提到您使用的是 PyCharm:您可以启用检查“缺少、空或不正确的文档字符串”,并将为您执行此操作。

请注意,您随后可以更改严重性以使其或多或少地突出显示。

在此处输入图片说明


Kat*_*Kat 2

我不知道 python,但我知道我的正则表达式。

而且你的正则表达式有问题。首先,正如评论所提到的,您可能必须转义右括号。其次,您不匹配函数声明后面的新行。最后,您在行的开头查找单引号或双引号,但行的开头包含空格。

我能够将您的示例文件与\):\s*\n\s*["']. 这是一个多行正则表达式。并非所有程序都能够匹配多行正则表达式。例如grep,您必须使用此方法

对该正则表达式匹配内容的快速解释:它查找右括号,后跟分号。其后可以有任意数量的可选空格。然后应该有一个新行,后跟任意数量的空格(在本例中为缩进)。最后,必须有单引号或双引号。请注意,这与有注释的函数匹配。你想颠倒它来找到那些没有的。