我想写一个正则表达式来提取func1(parameter1,parameter2)
的parameter1
和parameter2
,的长度>parameter1
和 parameter2
范围从 1 到 64。
(func1) (\() (.{1,64}) (,\\s*) (.{1,64}) (\))
我的版本无法处理以下情况(嵌套函数)
func2(func1(ef5b, 7dbdd))
对于parameter2
,我总是得到“7dbdd)”。我该如何解决这个问题?
最佳答案
使用“除右括号外的任何内容”([^)]
),而不是简单的“任何内容”(.
):
(func1) (\() (.{1,64}) (,\s*) ([^)]{1,64}) (\))
关于Java正则表达式匹配函数内的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39035318/