解析红宝石字符串以提取方法名称



我有一个字符串,例如

str1='f(x)myfunction1("a",1,"b"),f(x)myfunction2("c","d",4),
f(x)myfunction3("e","f","g",3)'

我想使用扫描或匹配来创建数组和提取功能名称和关联的参数。

myFunctionArry[0]='myfunction1("a",1,"b")'
myFunctionArry[1]='myfunction2("c","d",4)'
myFunctionArry[2]='myfunction3("e","f","g",3)'

正确提取的正确方法是什么?我尝试了正面和负面的lookaheads,但是我无法正确地分配每个功能名称

str1.scan(/(?<=f(x))(.*)(?=))/)似乎给了我错误的结果。

您差点正确。

使*非怪兽,并将闭合括号包括在比赛中。

(?<=f(x))(.*?))

https://regex101.com/r/8sem9g/1

最新更新