re = /(^(HL\/)+HL$)|(^HLx\d+$)|(^HL$)/mi
str = '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
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html