#!/bin/sh
regex="\
a{0}
(aaaa){0,}
(aaaa){0,0}
(aaa+a){0,}
(aaaa){0,0}|a
(aaaa){0,0}|abc
(aaaa){0,}|bc
(aaaa){0,2}|bc
(aaaa){0,2}|bc
(aaaa){0,2}|bc
bc{0}|(aaaa){0,2}
(bc{0,})+|(aaaa){0,2}
(bc{0,}){3,5}|(aaaa){0,2}
(bc{0,}){3,5}|(aaaa){0,2}
abc
cde
abc*
abc*
abc+
abc+
(([0-9]*)([a-z]*)[0-9]*)
([0-9]*)(([a-z]*)([0-9]*))
(([0-9]*)(?:[a-z]*)[0-9]*)
(?:[0-9]*)(([a-z]*)(?:[0-9]*))
([0-9]*)(?:([a-z]*)(?:[0-9]*))
(?:)
1?:
[0-9]+
[a-zA-Z0-9_]+
(([0-9]*)([a-z]*)[a-zA-Z0-9_]*)
[a]*
([yab]*)(e*)([cd])
([yab]*)(e*)([^y]?)$
[-]*
[-a]*
[-ab]*
[-a-c]*
[a-]*
[ab-]*
[a-c-]*
(\\\?:)
\\\(?:
[^a]*b
a{5}
[^a]{1,3}
(abc+){5}|[0-9]{1,}
(abc+){5}|[0-9]{1,}
b[^c]*
۱۲۳۴۵۶۷۸۹۰
[йцукен]
日本語*
([^ひらがな])|(な+)
([^ひらがな])|(な+)
([^abc])|(a+)
[a-g]+
[а-г]+
called|chief|dust|familiar|forth|waif|campaign|divers|smile|notice|kill|human|stands|nightshade|dollar|doughty|gloaming|twist|July|officers|wrest|coop|one|ability|welcome|significance|writer|spring|it's|helped|set|Paris|from|coomb|stay|hummock|taken|anon|makes|boat|nearly|am|justice|further|expression|contemporary|sooth|order|about|question|lived|apply|educational|of|night|satisfy|opened|never|success|until|visit|promise|parts|beneath|matter|typical|bade|apartment|rapidly|primary|bring|throat|hold|laws|understand|trade|desire|material|evidence|another|often|plash|model|someone|bond|hell|relationship|probably|exercise|performance|wants|known|countries|gammer|leeward|took|itself|representative|objection|aircraft
abc+h+d+f
([0-9]|abc){5}[0-9]+(grh)
[A-Fa-f0-9]{64}
[^<]*
^([a-z0-9_.-]+)@([0-9a-z.-]+)\\\\.([a-z.]{2,5})$
abc\$d
abc$|cdb
abc$|c
^ac|cdb
^abc+d
^(abc|kj)
^(abc|kj)
(^abc)|(abc)
(abc)|(^abc)
(^abc)|(abc$)
(^abc)|(abc$)
(^abc)|(abc$)
([^qwe]*rty)|(asd[^fgh]*)
([^qwe]*rty+)|(asd[^fgh]*)
((abc))(fv)
\\\\
abc\\\\>
abc\\\\>
\\\\<(hello|world|word|nice|try)\\\\>
\\\\<(hello|world|word|nice|try)\\\\>
\\\\<(hello|world|word|nice|try)\\\\>
\\\\<(hello|world|word|nice|try)\\\\>
\\\\<(hello|world)\\\\>|\\\\<(word|nice|try)\\\\>
(abc+)|\\\\<[^k]*\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
[-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>
(([-+]?\\\\<(0[xX][0-9a-fA-FUL]+|[0-9.]{1,}[0-9eEfFuULl]+|[0-9]+)\\\\>))
qwerty.*$
([a-zA-Z0-9_][^1]*[a-zA-Z0-9_])|(\\\\\$([^\$]+)\\\\\$)
([a-zA-Z0-9_][^1]*[a-zA-Z0-9_])|(\\\\\$([^\$]+)\\\\\$)
(h[^1]*b)|(\\\\\$([^\$]+)\\\\\$)
(h[^1]*b)|(\\\\\$([^\$]+)\\\\\$)
(a|aa)*
(a|aa)*
(a|aa)*
(a|aa)*
(a|aa)*
(a|aa)*
(aaaa|aaa|a){3,4}
(a)(a)
(a){2}
(a|bcdef|g|ab|c|d|e|efg|fg)*
(.*) (.*) (.*) (.*) (.*)
(.+?)(.+?)
(a?)(a?)(a?)aaa
(ab)?(ab)?(ab)?aaa
(.+)(.+)
a(?:b|c|d){4,5}(.)
(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))
\\\\