我正在为一个项目编写文档,我想确保我没有错过任何方法.代码是用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*[^"']因此它会匹配任何行,之后:不会以空格开头"或'之后,但它不起作用.知道为什么吗?
我不知道 python,但我知道我的正则表达式。
而且你的正则表达式有问题。首先,正如评论所提到的,您可能必须转义右括号。其次,您不匹配函数声明后面的新行。最后,您在行的开头查找单引号或双引号,但行的开头包含空格。
我能够将您的示例文件与\):\s*\n\s*["']. 这是一个多行正则表达式。并非所有程序都能够匹配多行正则表达式。例如grep,您必须使用此方法。
对该正则表达式匹配内容的快速解释:它查找右括号,后跟分号。其后可以有任意数量的可选空格。然后应该有一个新行,后跟任意数量的空格(在本例中为缩进)。最后,必须有单引号或双引号。请注意,这与有注释的函数匹配。你想颠倒它来找到那些没有的。
| 归档时间: |
|
| 查看次数: |
737 次 |
| 最近记录: |