Python 函数签名的 Python 正则表达式

标签 python regex

我尝试编写一个 python 正则表达式,它与简单 python 函数的签名相匹配。 喜欢:

def _func1_(arg1, arg2):

我创建了这个正则表达式:

"def ([^\W\d]+\w*)(\(( *[^\W\d]+\w* *,? *)*\)):"

不幸的是,这并不是很好。在我的正则表达式中,在参数列表中,变量名称中可以包含空格,参数列表的 and 处可以包含不必要的逗号。有人可以帮我解决这种情况的正确正则表达式吗?提前致谢!

最佳答案

事实上,我最近为函数头注释编写了一个简单的正则表达式(自动格式化我的 CS 类作业)。其要点如下:

"def (\w+)\s*\((.*?)\):"

对于参数,我会放弃使用 re,而是在捕获组 1 上使用 str.split(',')。没有必要让它变得更加复杂。

关于Python 函数签名的 Python 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10158403/

相关文章:

regex - 取消转义字符串中的 unicode

java - 使用正则表达式模式验证域和子域的正则表达式是什么?

python - Mypy 捕获 AttributeError

python - 为什么会出现 AttributeError : module 'networkx' has no attribute 'average_neighbor_in_degree' ?

Kotlin 的 when 语句中的正则表达式或通配符?

文件上传中的javascript正则表达式和文件类型

python - 将 Python 字典写入 CSV

python - SQLAlchemy:使用 `and` 和 `or` 时出现意外结果

python - 可以在 Google Datalab 中使用多个 CPU 内核吗?

java - 有人可以帮我澄清我对这个正则表达式的理解吗?