我需要将函数的参数与特定名称匹配。 (在这种情况下,让我们说出函数名称function
)
所以基本上如果文件中出现类似function(my_argument)
的情况,我想从中提取参数my_argument
。 (基本上我需要的是收集传递给该文件中function()
的所有参数)
到目前为止,我想出了一个正则表达式
(([;][ ]{0,})|([ ]{1,})|(\n))function[(](([^()]*)*)[)]
但是如果function(my_argument)
是文件的第一行,它似乎无法捕获它。 check example in regex101.com。
是否有任何方法可以捕获该实例。或者如果有更好的方法可以做到这一点,我也可以接受建议,并高度赞赏它。
答案 0 :(得分:1)
好像你想要
(^|;?[ ]+|\r?\n)function[(]([^()]*)[)]
请参阅regex demo
<强>详情:
(^|;?[ ]+|\r?\n)
- 第1组捕获
^
- 字符串开头|
- 或;?[ ]+
- 可选;
后跟1 +空格|
- 或\r?\n
- 换行符(可选的CR跟随LF)function
- 文字字符序列[(]
- 文字(
([^()]*)
- 第2组捕获除(
和)
以外的0 +字符[)]
- 文字)
。