Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在函数调用中使用可选值进行解析_Regex - Fatal编程技术网

Regex 在函数调用中使用可选值进行解析

Regex 在函数调用中使用可选值进行解析,regex,Regex,我有一个如下形式的函数调用: myFunc(X,Y,Z=c("1","2","3")) { .. code .. } 我能够将外部参数声明提取为:X,Y,Z=c(“1”,“2”,“3”) 我试图使用正则表达式来提取变量名;但是,对“,”的简单拆分不起作用,因为变量Z具有与之关联的默认值。我可以使用什么正则表达式来获取这三个参数(Z可以使用另一个正则表达式将其与默认值分开,稍后使用“=”字符作为进一步的步骤) 有什么想法吗?这不是正常工作的代码。请研究编写R函数,也许是从@hadley's

我有一个如下形式的函数调用:

myFunc(X,Y,Z=c("1","2","3")) {
   .. code ..
}
我能够将外部参数声明提取为:
X,Y,Z=c(“1”,“2”,“3”)

我试图使用正则表达式来提取变量名;但是,对“,”的简单拆分不起作用,因为变量
Z
具有与之关联的默认值。我可以使用什么正则表达式来获取这三个参数(Z可以使用另一个正则表达式将其与默认值分开,稍后使用“=”字符作为进一步的步骤)


有什么想法吗?

这不是正常工作的代码。请研究编写R函数,也许是从@hadley's,一本很好的读物。哦,是的,我删除了“R”标记,因为这个问题很一般,可能在其他编程语言环境中有所帮助,很抱歉专门强加在“R”论坛上。你需要注意打开“东西”,如引号、括号、记号、括号,在查找下一个逗号之前,再次查找结束形式。试试看,或者。@GG\u Python:这个怎么样:
(\w+)(=(?:,|\s*=)
+1、作品很棒;后续尝试使其包含实际的默认参数(即匹配Z=c(“1”、“2”、“3”),而不仅仅是Z…)。快速修复?尝试在不同的位置添加括号,但大多数情况下它与“=”。。我猜这与捕获组和非捕获组有关?