У меня есть следующая строка:Regex для синтаксического анализа функции и параметры
function(param1, param2, param3, param4, ..., paramN)
Мне нужен код Regex для разбора его как массив строк:
function
param1
param2
param3
param4
.
.
.
paramN
Я попытался несколько примеров в сеть, но никто из них, похоже, не работает для меня.
[EDIT]
Не WOKING с предложением. Проверьте код выше:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace TestRegex
{
class Program
{
static void Main(string[] args)
{
string Expression = String.Empty;
while (Expression.Trim() != "EXIT")
{
Expression = Console.ReadLine();
///
/// Get function name
///
var funcTags = Regex.Matches(Expression, @"b[^()]+\((.*)\)$");
Console.WriteLine("Matches: " + funcTags.Count);
foreach (var item in funcTags)
Console.WriteLine("FuncTag: " + item);
///
/// Get parameters
///
var paramTags = Regex.Matches(Expression, @"\b[^()]+\((.*)\)$");
Console.WriteLine("Matches: " + paramTags.Count);
foreach (var item in paramTags)
Console.WriteLine("ParamTag: " + item);
}
}
}
}
Выход:
function("a", "b", "c");
Matches: 0
Matches: 0
Что-то здесь не так ... Цените помощь.
Функция не получит комплекс. Парамы - это только одиночные строки. Я использую MVC. – Mendes
@Mendex, в этом случае простое регулярное выражение будет работать для вас. Так будет регулярное выражение в вопросе, который я связал: http://stackoverflow.com/questions/18906514/regex-for-matching-functions-and-capturing-their-arguments/18908330#18908330 – acarlon