Regex para combinar funções específicas e seus argumentos em arquivos

Estou trabalhando em um analisador de javascript gettext e estou preso no regex de análise.

Eu preciso pegar todos os argumentos passados para uma chamada de método específica_n( e_(. Por exemplo, se eu os tiver nos meus arquivos javascript:

_("foo") // want "foo"
_n("bar", "baz", 42); // want "bar", "baz", 42
_n(domain, "bux", var); // want domain, "bux", var
_( "one (optional)" ); // want "one (optional)"
apples === 0 ? _( "No apples" ) : _n("%1 apple", "%1 apples", apples) // could have on the same line two calls.. 

Isso refere esta documentação:http://poedit.net/trac/wiki/Doc/Keywords

Estou planejando fazer isso em duas vezes (e duas regex):

pegar todos os argumentos de função para_n( ou_( chamadas de métodopegar apenas os mais difíceis

Basicamente, eu gostaria de um Regex que pudesse dizer "pegue tudo depois_n( ou_( E pareno último parêntese) na verdade, quando a função é concluída. Não sei se é possível com regex e sem um analisador de javascript.

O que também pode ser feito é "pegar cada" string "ou 'string' depois_n( ou_( e pare no final da linha OU no início de uma nova_n( ou_( personagem.

Em tudo que eu fiz, eu fico preso_( "one (optional)" ); com seu parêntese interno ouapples === 0 ? _( "No apples" ) : _n("%1 apple", "%1 apples", apples) com duas chamadas na mesma linha.

Aqui está o que eu implementei até agora, com um regex não perfeito: umanalisador genérico e ajavascript one ou oguidão um

questionAnswers(6)

yourAnswerToTheQuestion