本帖最后由 5i365 于 2022-10-20 07:41 编辑
xxx 表示函数名, 它的正则是 ^[a-zA-Z_][a-zA-Z0-9_]*$
先获取所有的 function xxx(
再把每个 function xxx( 去匹配 $xxx( 开头的行(该行前可能有tab或空格)
如果能匹配到: 则先将该行开头的 $ 还有后面的 , 和 ) 替换为空(即:删掉它们), 再将 ( 替换为一个空格
例如 function A( 能匹配到 $A( 开头的行, 则将该行由原来的 $A($p1, $p2) 改为 A $p1 $p2
___________________________________________处理前:
$A($p1, $p2)
$BB($p1)
$CCC()
function A($p1, $p2)
function BB($p1)
function CCC()
___________________________________________处理后:
A $p1 $p2
BB $p1
CCC
function A($p1, $p2)
function BB($p1)
function CCC()
___________________________________________代码:
- $s = @'
- $A($p1, $p2)
- $BB($p1)
- $CCC()
-
- function A($p1, $p2)
- function BB($p1)
- function CCC()
- '@
-
- # 表示 xxx 的正则是 ^[a-zA-Z_][a-zA-Z0-9_]*$
- # 先获取所有的 function xxx(
- # 再把每个 function xxx( 去匹配 $xxx( 开头的行(该行前可能有tab或空格,要保留)
- # 如果能匹配到: 则先将该行开头的 $ 还有后面的 , 和 ) 替换为空(即:删掉它们), 再将 ( 替换为一个空格
- # 例如 function A( 能匹配到 $A( 则将该行按上面规则改为 A $p1 $p2
- # 最终输出效果如下:
- <#
- A $p1 $p2
- BB $p1
- CCC
-
- function A($p1, $p2)
- function BB($p1)
- function CCC()
- #>
复制代码
|