У меня проблемы с необязательной группой в регулярном выражении (синтаксис .NET, и я использую RegexOptions.Singleline).
"function (\w*).*?{(?:.*?\((.*?)\))?.*?}"
Также пробовал, безрезультатно:
"function (\w*)[^{]+{(?:.*?\((.*?)\))?.*?}"
Похоже, что группа не является обязательной, потому что, если я просто добавлю две скобки в FunctionWithNoParameters, то все будет работать нормально. Цель состоит в том, чтобы иметь две группы: имя функции и их необязательные параметры. Кто-нибудь может мне помочь?
Текст, который я пытаюсь разобрать, выглядит примерно так:
function test1
{
param ([int]$parm2, [bool]$parm3)
}
function FunctionWithNoParameters {
return "nothing"
}
function test2 {
param([string]$parm1,
[int]$parm2,
[bool]$parm3)}
Спасибо,
Alex