У меня есть этот класс Tokinizer, который разбивает строковый ввод:
public class Tokinizer
{
public static Regex r = new Regex(
"(?<Equals>=)" +
"|(?<Plus>\\+)" +
"|(?<Minus>\\-)" +
"|(?<Divide>\\/)" +
"|(?<Multiply>\\*)" +
"|(?<Exclamation>\\!)" +
"|(?<GreaterThan>\\>)" +
"|(?<SmallerThan>\\<)" +
"|(?<OpenParenthesis>\\()" +
"|(?<CloseParenthesis>\\))" +
"|(?<OpenBracket>\\[)" +
"|(?<CloseBracket>\\])" +
"|(?<OpenBrace>\\{)" +
"|(?<CloseBrace>\\})" +
"|(?<Colon>\\:)" +
"|(?<SemiColon>\\;)" +
"|(?<Comma>\\,)" +
"|(?<FullStop>\\.)" +
"|(?<Quatation>\\\")" +
"|(?<Char>[a-zA-Z0-9])" +
"|(?<space>\\s+)", RegexOptions.ExplicitCapture);
public static void GetTokens(string input)
{
foreach (var t in r.Matches(input))
{
Console.WriteLine("Named Group : Token Value");
}
}
Я хочу распечатать имя группы захвата, а также значение из списка совпадений, возможно ли это do?
Например, когда я даю ввод "var ++", он должен вывести:
Char : v
Char : a
Char : r
Plus : +
Plus : +