PhpStorm Find & Replace regex



我对regex很反感,需要将所有只有一个参数的函数替换为该参数。如果只有1个参数,则删除函数调用并保留参数,否则忽略它。

Some.functionName( OneParameter );
Some.functionName( OneParameter, TwoParameter );

所以用上面的Some.functionName(OneParameter(;将成为

OneParameter

我唯一的想法是:

^Some.functionName([!,])

所以基本上找到所有类似的函数都没有逗号,并删除它周围的函数调用

替换:Some.functionname(([^,)]*))

带:$1

[^,)]*匹配任何不包含逗号或右括号的序列。因此,如果不包含任何逗号,这将与参数列表的内部相匹配。

请注意,如果您有嵌套的函数调用,例如,这将不起作用

Some.functionname(otherfunc(1));

因为内部CCD_ 4将结束匹配。正则表达式不擅长匹配平衡分组。

最新更新