using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^{.} ?(?:(?:\[ ?(.+?) ?\]|\< ?(.+?) ?\>) ?)";
string input = @"{c}
{c} [ plugin/theme ID ]
{c} [ plugin URL ]
{c}
{c} [ plugin/theme ID ]
{c}
{c} [ plugin/theme ID ]
{c} [ ...arguments ]
{c} [ commandName ]
{c} [ ...arguments ]
{c} [text to make worse]
{c} any text here
{c} <disable|enable|remove> <id>
{c} [house name]
{c} [type]
{c}
{c} <view|list|add|update|delete> <tagName> [tagContent]
{c} [message id] [channel id]
{c} <id>
{c} [--send] [TEXT | FILE_URL | --clipboard]
{c} [--send] [TEXT | FILE_URL | --clipboard]";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx