Вот попытка (даже если я не знаю, работает ли она в C #):
[A-Z]+#\(([A-Za-z0-9]+,?)*,*\)
Объяснение: использование CORR#(arg1, arg2, arg3)
[A-Z]+#
соответствует названию функции, здесь CORR#
\(
соответствует открывающим скобкам (
. Обратите внимание, что я избежал (
, чтобы сказать движку не принимать его как конструкцию группировки.
([A-Za-z0-0]+,?)*
соответствует arg1, arg2,
. Обратите внимание, что это немного странно из-за ,?
, который указывает, что в конце может быть ,
, но это не обязательно.
,*
соответствует "пустым запятым".
\)
соответствует закрывающим скобкам. Обратите внимание, что я избежал )
, чтобы сказать двигателю не принимать его как конструкцию группировки.