using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(^(HL\/)+HL$)|(^HLx\d+$)|(^HL$)";
string input = @"Guard
HL/H
-
HL/HL
L/L
L/L
HL/HL
L/HL
HL/HL
L/HL
HL/HL/HL
L/HL/HL
HL/HL
HL/HL/HL
HL/HL/HL/HL
HL/HL
HL/HL
HL/HL
HL/HL
HL/HL/HL
HL/HL/HL
HL/HL/HL
HL/HL
HL/HL
HL/HL
HL/HL
HL/HL/L/HL
HL/HL
HL/HL
HL/H
HL/HL
HL/HL
HL/HL
HL/HL
HL
HL/HL
HL/HL
HL/HL
HL
LH/LH
L/H
HL/HL
HL/HL
HL
LH/LH
L/H
HL/HL
HL/HL
HL/HL
HL/HL
HL/HL/HL
HL/HL/HL
HL
HL
HL
HL
HL
(B+F)+LP+LK
(B/F)+LP+LK
LP+LK
HL
HL
HL
HL
L
HL
L
HL
HL
HL
L
L
L
L
L
L
HL
LP+LK
-
-
-
F/B+LP+LK
F+LP+LK
HL
HL
HL
HL
HL
H
HL
LP+LK
B+LP+LK on backturned opponent
HL
LP+LK
HL
HL
HL
HL
HL
H
B/F+LP+LK
LP+LK
LP+LK
LP+LK
LP+LK
LP+LK
LP+LK
=+
=+
LP+LK
H
H
HL
HL
HL
LP+LK
HL
HL
HL
LP+LK
HL
HL
L
HL
L
L
HL
LP+LK
HLx2
HL
HL
HL
B+LP+LK
B/F+LP+LK
B/F+LP+LK
B/F+LP+LK
HL
HL
HL
HL
HL
LP+LK
Close to Oponnent On Air LP+LK
LP+LK
(F)+LP+LK
HL/HL/HL
HL
HL/HL
HL
LP+LK
HL
HL
HL
L
L
L
LP+LK
HL
HL
HL
B+LP+LK
HL
HL
(Air) LP+LK
LP+LK
LP+LK
B+LP+LK
LP+LK
HL
HL
HL
LP+LK
(B/F)+LP+LK
H
F+LP+LK
HL
H/H
HL
HL
HL
HL
HL/HL
HL/HL/HL
HL/HL/HL
HL
HL
HL
HLx7
HL/HL/HL
HLx4
HLx3+HL/Lx3 Down
HL/HL/HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
H
H
HL
HL
HL
L
H
H
HL
Impossible
HL
H
HL
HL
H
H
H
H
H
H
H
H
H
H
H
H
H
HL
HL
HL
H
HL
HL
HL
L
HL
HL
HL
HL
HL
HL
HL
HL
H
H
H
H
HL
H
HL
Impossible
HL
HL
HL
H
H
H
H
H
HL
HL/HL
HL
H
HL
HL
H
H
H
HL
H
HL
L
H
HL
HL
HL
HL
HL
H
HL
HL
H
H
H
HL/HL
HL
-
HL
H
H
HL
HL
HL/HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
Impossible
Impossible
Impossible
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
L
L
L
HL
HL
HL
HL
HL
HL
HL
HL
L
L
L
L
L
L
L
L
L
L
L
HL
L
HL
HL
HL
HL
HL
HL
L
L
L
L
HLx1~5
HLx1~5
HLx1~5
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
L
L
L
HL
HL
HL
HL
HL
HL
Impossible
HL
H
H
H
HL
HL
Impossible
Impossible
Impossible
Impossible
Impossible
Impossible
H
H
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
L
L
L
L
HL/HL/HL
HL/HL
Impossible
Impossible
Impossible
HL
Impossible
Impossible
Impossible
HL
HL
HL
HL
HL
HL
Hx2
HL
Hx2
HL
HL
HL
H
HLx4
HL
HL
HLx3
HL
L/HL
HL/HL
HL
H
HLx2
HL/HL
HL/HL
HL/HL
HL/HL
HL/HL
HL/HL
HL
HLx2
HL
HL
HL
HL
H/H
H
HL/HL
HL/HL/HL
HL
HL
HL/HL/HL
HL/H
L
HL/HL
HL
H
H
H(far) or L(close)
H
HLx2
HL
HL
HL
-
HL
HL/HL/HL
HL/HL/HL
H
HL/HL/HL/HL
HL/HL/HL/HL/HL
H
HL/HL/HL
HL
HL/HL
HL
HL
HL
HL
H/H
H/H
H/H
H
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
L
L
L
L
L
L
L
HL
HL
HL
HL
HL
L
L
L
L
L
L
L
L
L
L
H
HL
HL
H
H
H
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
H
HL/HL/HL/HL
HL/HL/HL/HL/HL
HL/HL
H
H
H
H
H
H
H
H
H
-
HL
HL
H
H
H
H
H
H
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
L
HL/HL/HL/HL
-
H
HLx4
H
H
HL
HL
HL
HL
H/H
H/H
H/H
Lx2
Lx4
Lx2
HL
HL
HL/HL
H/L
-
-
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
L
HL
HL
HL
HL
L
L
L
L
HL
HL
HL
HL
HL
HL/HL
H
HL
HL
HL
HL
H
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
-
-
HL
HL/H/H
HL
H
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
H/H
H
HLx2
HLx1~5
HL/HL/HL
HL/HL
HL/HL
HL/HL
HL/HL
HL
H
HL/H/H
-
HL
Lx5
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
L
L
L
L
L
L
L
L
L
L
L
HL
HL
HL
H
HL
HL
HL
HL
HL
HL
HL
HL
HL
HL
H
H
H
H
H
H
H
H
H
H
H
HL
HL
HL
HL
H
H
H
H
H
H
H
H
H
H
H
H
HL
HLx2
H
HL
HL
H
-
HL
HL
HL
HL
HL
HL
HL
HL
HL
HLx2
HLx2
HLx2
HLx3
HLx3
HLx3
-
-
-
HL
HL
L
HL
HL
HL/HL/HL
HL
HL
HL
HL
HL
HL/HL
HL
HL
H
H
H
H
H
H
H
H
H
H
HL/H/H
HL
HL
HL
H
H
H
H
H
HL
HL
HL
HL
H
HL
HL
HL
HLx2
HL/HL/HL
HLx2
HL
HLx2
HL/HL
HL
HLx2
Hx3
HL
H
H
H
-
HL
HL
HL
HL
HL
HL
HL
HL/HL/HL
HL
HL
H
H
H
H
H
H
H
H
H
HL
HL
HL
HL
HL
HL
H/H
HL
HL
HLx2
L
L
HL
H
HL
HL
HL
HL
HL
HL
H
H
H
H
H
H
H
H
HL
L
H
H
H
H
HL
HL
HL
HLx2
HL
HL
H
Impossible
HL
H
H
H
HLx2
H
H
HL
HL
HL
HL
H
HL
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
HL
H
H
H
-
H
";
RegexOptions options = RegexOptions.Multiline | RegexOptions.IgnoreCase;
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