如何匹配字符串直到两个换行符?

如何匹配字符串直到两个换行符?

我知道这里已经有很多类似的问答,但我就是无法将它们整合在一起。

我想要的是使用正则表达式匹配特定的函数调用,例如:

Lib.myfunction( arg0, arg1,
                arg2, arg3 )

我正在寻找Lib.myFunction特定的函数,它不必完全通用。每个这样的函数调用后面都有额外的空行。

稍微额外一点的是如果它可以用换行符来终止,然后是可选的空格,然后是换行符,因为编辑器倾向于添加空格来与前一行的文本对齐。

您是否知道正则表达式应该是什么样子的?

答案1

Lib\.myfunction\s*\(\s*\S+(?:,\s*\S+)*\s*\)

解释:

Lib\.myfunction     # literally
\s*                 # 0 or more spaces
\(                  # opening parenthesis
    \s*             # 0 or more spaces
    \S+             # 1 or more NON spaces
    (?:             # start non capturing group
        ,           # a comma
        \s*         # 0 or more spaces
        \S+         # 1 or more NON spaces
    )*              # end group, may appear 0 or more times
    \s*             # 0 or more spaces
\)                  # closing parenthesis

演示

相关内容