1# Copyright (c) 2001-2011 International Business Machines
2# Corporation and others. All Rights Reserved.
3#
4#  file:
5#
6#   ICU regular expression test cases.
7#
8#   format:   one test case per line,
9#               <test case>    =  <pattern>   <flags>  <match string>  [# comment]
10#               <pattern>      =  "<regular expression pattern>"
11#               <match string> =  "<tagged string>"
12#                                 the quotes on the pattern and match string can be " or ' or /
13#               <tagged string> = text, with the start and end of each
14#                                 capture group tagged with <n>...</n>.  The overall match,
15#                                 if any, is group 0, as in <0>matched text</0>
16#
17#                                  A region can be specified with <r>...</r> tags.
18#
19#               <flags>         = any combination of
20#                                   i      case insensitive match
21#                                   x      free spacing and comments
22#                                   s      dot-matches-all mode
23#                                   m      multi-line mode.  
24#                                            ($ and ^ match at embedded new-lines)
25#                                   D      Unix Lines mode (only recognize 0x0a as new-line)
26#                                   v      If icu configured without break iteration, this
27#                                          regex test pattern should not compile.
28#                                   e      set the UREGEX_ERROR_ON_UNKNOWN_ESCAPES flag
29#                                   d      dump the compiled pattern
30#                                   t      trace operation of match engine.
31#                                   2-9    a digit between 2 and 9, specifies the number of
32#                                          times to execute find().  The expected results are
33#                                          for the last find() in the sequence.
34#                                   G      Only check match / no match.  Do not check capture groups.
35#                                   E      Pattern compilation error expected
36#                                   L      Use LookingAt() rather than find()
37#                                   M      Use matches() rather than find().
38#
39#                                   a      Use non-Anchoring Bounds.
40#                                   b      Use Transparent Bounds.
41#                                          The a and b options only make a difference if
42#                                          a <r>region</r> has been specified in the string.
43#                                   z|Z    hitEnd was expected(z) or not expected (Z).
44#                                          With neither, hitEnd is not checked.
45#                                   y|Y    Require End expected(y) or not expected (Y).
46#
47#                                 White space must be present between the flags and the match string.
48#
49
50# Look-ahead expressions
51#
52"(?!0{5})(\d{5})"              "<0><1>00001</1></0>zzzz"
53"(?!0{5})(\d{5})z"             "<0><1>00001</1>z</0>zzz"
54"(?!0{5})(\d{5})(?!y)"         "<0><1>00001</1></0>zzzz"
55"abc(?=def)"                   "<0>abc</0>def"
56"(.*)(?=c)"                    "<0><1>ab</1></0>cdef"
57
58"(?:.*)(?=c)"                  "<r>ab</r>cdef"
59"(?:.*)(?=c)"             b    "<r><0>ab</0></r>cdef"      # transparent bounds
60"(?:.*)(?=c)"             bM   "<r><0>ab</0></r>cdef"      # transparent bounds
61
62"(?:.*)(?=(c))"           b    "<0>ab</0><1>c</1>def"      # Capture in look-ahead
63"(?=(.)\1\1)\1"                "abcc<0><1>d</1></0>ddefg"  # Backrefs to look-ahead capture
64
65".(?!\p{L})"                   "abc<0>d</0> "              # Negated look-ahead
66".(?!(\p{L}))"                 "abc<0>d</0> "              # Negated look-ahead, no capture
67                                                           #   visible outside of look-ahead
68"and(?=roid)"            L     "<0>and</0>roid"
69"and(?=roid)"            M     "<r>and</r>roid"
70"and(?=roid)"            bM    "<r><0>and</0></r>roid"
71
72"and(?!roid)"            L     "<0>and</0>roix"
73"and(?!roid)"            L     "android"
74
75"and(?!roid)"            M     "<r><0>and</0></r>roid"     # Opaque bounds
76"and(?!roid)"            bM    "<r>and</r>roid"
77"and(?!roid)"            bM    "<r><0>and</0></r>roix"
78
79#
80# Negated Lookahead, various regions and region transparency
81#
82"abc(?!def)"                   "<0>abc</0>xyz"
83"abc(?!def)"                   "abcdef"
84"abc(?!def)"                   "<r><0>abc</0></r>def"
85"abc(?!def)"              b    "<r>abc</r>def"
86"abc(?!def)"              b    "<r><0>abc</0></r>xyz"
87
88#
89#  Anchoring Bounds
90#
91"^def$"                        "abc<r><0>def</0></r>ghi"           # anchoring (default) bounds
92"^def$"                  a     "abc<r>def</r>ghi"                  # non-anchoring bounds
93"^def"                   a     "<r><0>def</0></r>ghi"              # non-anchoring bounds
94"def$"                   a     "abc<r><0>def</0></r>"              # non-anchoring bounds
95
96"^.*$"                   m     "<0>line 1</0>\n line 2"
97"^.*$"                   m2    "line 1\n<0> line 2</0>"
98"^.*$"                   m3    "line 1\n line 2"
99"^.*$"                   m     "li<r><0>ne </0></r>1\n line 2"     # anchoring bounds
100"^.*$"                   m2    "li<r>ne </r>1\n line 2"            # anchoring bounds
101"^.*$"                  am     "li<r>ne </r>1\n line 2"            # non-anchoring bounds
102"^.*$"                  am     "li\n<r><0>ne </0></r>\n1\n line 2" # non-anchoring bounds
103
104#
105#  HitEnd and RequireEnd for new-lines just before end-of-input
106#
107"xyz$"                  yz     "<0>xyz</0>\n"
108"xyz$"                  yz     "<0>xyz</0>\x{d}\x{a}"
109
110"xyz$"                 myz     "<0>xyz</0>"                        # multi-line mode
111"xyz$"                 mYZ     "<0>xyz</0>\n" 
112"xyz$"                 mYZ     "<0>xyz</0>\r\n"
113"xyz$"                 mYZ     "<0>xyz</0>\x{85}abcd"
114
115"xyz$"                  Yz     "xyz\nx"
116"xyz$"                  Yz     "xyza"
117"xyz$"                  yz     "<0>xyz</0>"
118
119#
120#  All Unicode line endings recognized.
121#     0a, 0b, 0c, 0d, 0x85, 0x2028, 0x2029
122#     Multi-line and non-multiline mode take different paths, so repeated tests.
123#
124"^def$"                 mYZ    "abc\x{a}<0>def</0>\x{a}ghi"
125"^def$"                 mYZ    "abc\x{b}<0>def</0>\x{b}ghi"
126"^def$"                 mYZ    "abc\x{c}<0>def</0>\x{c}ghi"
127"^def$"                 mYZ    "abc\x{d}<0>def</0>\x{d}ghi"
128"^def$"                 mYZ    "abc\x{85}<0>def</0>\x{85}ghi"
129"^def$"                 mYZ    "abc\x{2028}<0>def</0>\x{2028}ghi"
130"^def$"                 mYZ    "abc\x{2029}<0>def</0>\x{2029}ghi"
131"^def$"                 mYZ    "abc\r\n<0>def</0>\r\nghi"
132
133"^def$"                 yz     "<0>def</0>\x{a}"
134"^def$"                 yz     "<0>def</0>\x{b}"
135"^def$"                 yz     "<0>def</0>\x{c}"
136"^def$"                 yz     "<0>def</0>\x{d}"
137"^def$"                 yz     "<0>def</0>\x{85}"
138"^def$"                 yz     "<0>def</0>\x{2028}"
139"^def$"                 yz     "<0>def</0>\x{2029}"
140"^def$"                 yz     "<0>def</0>\r\n"
141"^def$"                 yz     "<0>def</0>"
142
143
144"^def$"                       "<0>def</0>\x{2028"    #TODO: should be an error of some sort.
145
146#
147#  UNIX_LINES mode
148#
149"abc$"                 D      "<0>abc</0>\n"
150"abc$"                 D      "abc\r"
151"abc$"                 D      "abc\u0085"
152"a.b"                  D      "<0>a\rb</0>"
153"a.b"                  D      "a\nb"
154"(?d)abc$"                    "<0>abc</0>\n"
155"(?d)abc$"                    "abc\r"
156"abc$"                 mD     "<0>abc</0>\ndef"
157"abc$"                 mD     "abc\rdef"
158
159".*def"                L      "abc\r def xyz"          # Normal mode, LookingAt() stops at \r
160".*def"                DL     "<0>abc\r def</0> xyz"   # Unix Lines mode, \r not line end.
161".*def"                DL     "abc\n def xyz"   
162
163"(?d)a.b"                     "a\nb"
164"(?d)a.b"                     "<0>a\rb</0>"
165
166"^abc"                 m      "xyz\r<0>abc</0>"
167"^abc"                 Dm     "xyz\rabc"
168"^abc"                 Dm     "xyz\n<0>abc</0>"
169
170
171
172# Capturing parens
173".(..)."                       "<0>a<1>bc</1>d</0>"
174 ".*\A( +hello)"               "<0><1>      hello</1></0>"
175"(hello)|(goodbye)"            "<0><1>hello</1></0>"
176"(hello)|(goodbye)"            "<0><2>goodbye</2></0>"
177"abc( +(  inner(X?) +)  xyz)"  "leading cruft <0>abc<1>     <2>  inner<3></3>    </2>  xyz</1></0> cruft"
178"\s*([ixsmdt]*)([:letter:]*)"  "<0>   <1>d</1><2></2></0>  "
179
180# Non-capturing parens (?: stuff).   Groups, but does not capture.
181"(?:abc)*(tail)"               "<0>abcabcabc<1>tail</1></0>"
182
183# Non-greedy  *? quantifier
184".*?(abc)"                     "<0>    abx    <1>abc</1></0> abc abc abc"
185".*(abc)"                      "<0>    abx     abc abc abc <1>abc</1></0>"
186
187"((?:abc |xyz )*?)abc "        "<0><1>xyz </1>abc </0>abc abc "
188"((?:abc |xyz )*)abc "         "<0><1>xyz abc abc </1>abc </0>"
189
190# Non-greedy  +? quantifier
191"(a+?)(a*)"                    "<0><1>a</1><2>aaaaaaaaaaaa</2></0>"
192"(a+)(a*)"                     "<0><1>aaaaaaaaaaaaa</1><2></2></0>"
193
194"((ab)+?)((ab)*)"              "<0><1><2>ab</2></1><3>ababababab<4>ab</4></3></0>"
195"((ab)+)((ab)*)"               "<0><1>abababababab<2>ab</2></1><3></3></0>"
196
197# Non-greedy ?? quantifier
198"(ab)(ab)??(ab)??(ab)??(ab)??c"      "<0><1>ab</1><4>ab</4><5>ab</5>c</0>"
199
200# Unicode Properties as naked elements in a pattern
201"\p{Lu}+"                      "here we go ... <0>ABC</0> and no more."
202"(\p{L}+)(\P{L}*?) (\p{Zs}*)"  "7999<0><1>letters</1><2>4949%^&*(</2> <3>   </3></0>"
203
204# \w and \W
205"\w+"                          "  $%^&*( <0>hello123</0>%^&*("
206"\W+"                          "<0>  $%^&*( </0>hello123%^&*("
207
208# \A   match at beginning of input only.
209 ".*\Ahello"                   "<0>hello</0> hello"
210 ".*hello"                     "<0>hello hello</0>"
211".*\Ahello"                    "stuff\nhello" # don't match after embedded new-line.
212
213# \b \B
214#
215".*?\b(.).*"                   "<0>  $%^&*( <1>h</1>ello123%^&*()gxx</0>"
216"\ba\b"                        "-<0>a</0>"
217"\by\b"                        "xy"
218
219# Finds first chars of up to 5 words
220"(?:.*?\b(\w))?(?:.*?\b(\w))?(?:.*?\b(\w))?(?:.*?\b(\w))?(?:.*?\b(\w))?"   "<0><1>T</1>the <2>q</2>ick <3>b</3>rown <4>f</4></0>ox"
221
222"H.*?((?:\B.)+)"              "<0>H<1>ello</1></0> "
223".*?((?:\B.)+).*?((?:\B.)+).*?((?:\B.)+)"    "<0>H<1>ello</1> <2>    </2>g<3>oodbye</3></0> "
224
225"(?:.*?\b(.))?(?:.*?\b(.))?(?:.*?\b(.))?(?:.*?\b(.))?(?:.*?\b(.))?.*"   "<0>   \u0301 \u0301<1>A</1>\u0302BC\u0303\u0304<2> </2>\u0305 \u0306<3>X</3>\u0307Y\u0308</0>"
226
227
228#
229#  Unicode word boundary mode
230#
231"(?w).*?\b"                      v   "<0></0>hello, world"
232"(?w).*?(\b.+?\b).*"             v   "<0><1> </1> 123.45   </0>"
233"(?w).*?(\b\d.*?\b).*"           v   "<0>  <1>123.45</1>   </0>"
234".*?(\b.+?\b).*"                     "<0>  <1>123</1>.45   </0>"
235"(?w:.*?(\b\d.*?\b).*)"          v   "<0>  <1>123.45</1>   </0>"
236"(?w:.*?(\b.+?\b).*)"            v   "<0><1>don't</1>   </0>"
237"(?w:.+?(\b\S.+?\b).*)"          v   "<0>  <1>don't</1>   </0>"
238"(?w:(\b.+?)(\b.+?)(\b.+?)(\b.+?)(\b.+?)(\b.+?)(\b.+?).*)"     v "<0><1>.</1><2> </2><3>,</3><4>:</4><5>$</5><6>37,000.50</6><7> </7>   </0>"
239
240#
241#  Unicode word boundaries with Regions
242#
243"(?w).*?\b"                      v   "abc<r><0>def</0></r>ghi"
244"(?w).*?\b"                      v2  "abc<r>def<0></0></r>ghi"
245"(?w).*?\b"                      v3  "abc<r>def</r>ghi"
246#"(?w).*?\b"                      vb  "abc<r><0>def</0></r>ghi"    # TODO:  bug.  Ticket 6073
247#"(?w).*?\b"                      vb2 "abc<r>def</r>ghi"
248
249
250
251# . does not match new-lines
252"."                            "\u000a\u000d\u0085\u000c\u000b\u2028\u2029<0>X</0>\u000aY"
253"A."                           "A\u000a "# no match
254
255# \d for decimal digits
256"\d*"                          "<0>0123456789\u0660\u06F9\u0969\u0A66\u17E2\uFF10\U0001D7CE\U0001D7FF</0>non-digits"
257"\D+"                          "<0>non digits</0>"
258"\D*(\d*)(\D*)"                "<0>non-digits<1>3456666</1><2>more non digits</2></0>"
259
260# \Q...\E quote mode
261"hel\Qlo, worl\Ed"             "<0>hello, world</0>"
262"\Q$*^^(*)?\A\E(a*)"           "<0>$*^^(*)?\\A<1>aaaaaaaaaaaaaaa</1></0>"
263
264# \S and \s  space characters
265"\s+"                          "not_space<0> \t \r \n \u3000 \u2004 \u2028 \u2029</0>xyz"
266"(\S+).*?(\S+).*"              "<0><1>Not-spaces</1>   <2>more-non-spaces</2>  </0>"
267
268# \X  consume one Grapheme Cluster.
269"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>A</1><2>B</2><3> </3><4>\r\n</4></0>"
270"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>A\u0301</1><2>\n</2><3>\u0305</3><4>a\u0302\u0303\u0304</4></0>"
271"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>\u1100\u1161\u11a8</1><2>\u115f\u11a2\u11f9</2></0>"
272"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>\u1100\uac01</1><2>\uac02</2><3>\uac03\u11b0</3></0>"
273"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>\u1100\u1101\uac02\u0301</1><2>\u1100</2></0>"
274
275# ^ matches only at beginning of line
276".*^(Hello)"                   "<0><1>Hello</1></0> Hello Hello Hello Goodbye"
277".*(Hello)"                    "<0>Hello Hello Hello <1>Hello</1></0> Goodbye"
278".*^(Hello)"                   " Hello Hello Hello Hello Goodbye"# No Match
279
280# $ matches only at end of line, or before a newline preceding the end of line
281".*?(Goodbye)$"           zy   "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>"
282".*?(Goodbye)"            ZY   "<0>Hello <1>Goodbye</1></0> Goodbye Goodbye"
283".*?(Goodbye)$"           z    "Hello Goodbye> Goodbye Goodbye "# No Match
284
285".*?(Goodbye)$"           zy   "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n"
286".*?(Goodbye)$"           zy   "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n"
287".*?(Goodbye)$"           zy   "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\r\n"
288".*?(Goodbye)$"           z    "Hello Goodbye Goodbye Goodbye\n\n"# No Match
289
290# \Z matches at end of input, like $ with default flags.
291".*?(Goodbye)\Z"          zy   "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>"
292".*?(Goodbye)"            ZY   "<0>Hello <1>Goodbye</1></0> Goodbye Goodbye"
293".*?(Goodbye)\Z"          z    "Hello Goodbye> Goodbye Goodbye "# No Match
294"here$"                   z    "here\nthe end"# No Match
295
296".*?(Goodbye)\Z"               "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n"
297".*?(Goodbye)\Z"               "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n"
298".*?(Goodbye)\Z"               "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\r\n"
299".*?(Goodbye)\Z"               "Hello Goodbye Goodbye Goodbye\n\n"# No Match
300
301# \z matches only at the end of string.
302#    no special treatment of new lines.
303#    no dependencies on flag settings.
304".*?(Goodbye)\z"          zy   "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>"
305".*?(Goodbye)\z"          z    "Hello Goodbye Goodbye Goodbye "# No Match
306"here$"                   z    "here\nthe end"# No Match
307
308".*?(Goodbye)\z"          z    "Hello Goodbye Goodbye Goodbye\n"# No Match
309".*?(Goodbye)\n\z"        zy   "<0>Hello Goodbye Goodbye <1>Goodbye</1>\n</0>"
310"abc\z|def"               ZY   "abc<0>def</0>"
311
312# (?# comment) doesn't muck up pattern
313"Hello (?# this is a comment) world"  "  <0>Hello  world</0>..."
314
315# Check some implementation corner cases base on the way literal strings are compiled.
316"A"                            "<0>A</0>"
317"AB"                           "<0>AB</0>ABABAB"
318"AB+"                          "<0>ABBB</0>A"
319"AB+"                          "<0>AB</0>ABAB"
320"ABC+"                         "<0>ABC</0>ABC"
321"ABC+"                         "<0>ABCCCC</0>ABC"
322"(?:ABC)+"                     "<0>ABCABCABC</0>D"
323"(?:ABC)DEF+"                  "<0>ABCDEFFF</0>D"
324"AB\.C\eD\u0666E"              "<0>AB.C\u001BD\u0666E</0>F"
325"ab\Bde"                        "<0>abde</0>"
326
327# loop breaking
328"(a?)*"                        "<0><1></1></0>xyz"
329"(a?)+"                        "<0><1></1></0>xyz"
330"^(?:a?b?)*$"	               "a--"
331"(x?)*xyz"                     "<0>xx<1></1>xyz</0>"    # Sligthly wierd, but correct.  The "last" time through (x?),
332                                                        #   it matches the empty string.
333
334# Set expressions, basic operators and escapes work
335#
336"[\d]+"                        "<0>0123</0>abc/.,"
337"[^\d]+"                       "0123<0>abc/.,</0>"
338"[\D]+"                        "0123<0>abc/.,</0>"
339"[^\D]+"                       "<0>0123</0>abc/.,"
340
341"[\s]+"                        "<0> \t</0>abc/.,"
342"[^\s]+"                       " \t<0>abc/.,</0>"
343"[\S]+"                        " \t<0>abc/.,</0>"
344"[^\S]+"                       "<0> \t</0>abc/.,"
345
346"[\w]+"                        "<0>abc123</0> .,;"
347"[^\w]+"                       "abc123<0> .,;</0>"
348"[\W]+"                        "abc123<0> .,;</0>"
349"[^\W]+"                       "<0>abc123</0> .,;"
350
351"[\z]+"                        "abc<0>zzz</0>def"     # \z has no special meaning
352"[^\z]+"                       "<0>abc</0>zzzdef"
353"[\^]+"                        "abc<0>^^</0>"
354"[^\^]+"                       "<0>abc</0>^^"
355
356"[\u0041c]+"                   "<0>AcAc</0>def"
357"[\U00010002]+"                "<0>\ud800\udc02</0>\U00010003"
358"[^\U00010002]+"               "<0>Hello</0>\x{10002}"
359"[\x61b]+"                     "<0>abab</0>cde"
360#"[\x6z]+"                      "\x06"                  #TODO:  single hex digits should fail
361"[\x{9}\x{75}\x{6d6}\x{6ba6}\x{6146B}\x{10ffe3}]+"  "<0>\u0009\u0075\u06d6\u6ba6\U0006146B\U0010ffe3</0>abc"
362
363"[\N{LATIN CAPITAL LETTER TONE SIX}ab\N{VARIATION SELECTOR-70} ]+"       "x<0> \u0184\U000E0135 ab</0>c"
364"[\N{LATIN SMALL LETTER C}-\N{LATIN SMALL LETTER F}]+"    "ab<0>cdef</0>ghi"
365
366
367
368#
369#  [set expressions], check the precedence of '-', '&', '--', '&&'
370#      '-' and '&', for compatibility with ICU UnicodeSet, have the same
371#                   precedence as the implicit Union between adjacent items.
372#      '--' and '&&', for compatibility with Java, have lower precedence than
373#                   the implicit Union operations.  '--' and '&&' themselves
374#                   have the same precedence, and group left to right.
375#
376"[[a-m]-[f-w]p]+"              "<0>dep</0>fgwxyz"
377"[^[a-m]-[f-w]p]+"             "dep<0>fgwxyz</0>"
378
379"[[a-m]--[f-w]p]+"             "<0>de</0>pfgwxyz"
380"[^[a-m]--[f-w]p]+"            "de<0>pfgwxyz</0>"
381
382"[[a-m]&[e-s]w]+"              "<0>efmw</0>adnst"
383"[^[a-m]&[e-s]w]+"             "efmw<0>adnst</0>"
384
385"[[a-m]&[e-s]]+"              "<0>efm</0>adnst"
386
387
388
389# {min,max} iteration qualifier
390"A{3}BC"                       "<0>AAABC</0>"
391
392"(ABC){2,3}AB"                 "no matchAB"
393"(ABC){2,3}AB"                 "ABCAB"
394"(ABC){2,3}AB"                 "<0>ABC<1>ABC</1>AB</0>"
395"(ABC){2,3}AB"                 "<0>ABCABC<1>ABC</1>AB</0>"
396"(ABC){2,3}AB"                 "<0>ABCABC<1>ABC</1>AB</0>CAB"
397
398"(ABC){2}AB"                   "ABCAB"
399"(ABC){2}AB"                   "<0>ABC<1>ABC</1>AB</0>"
400"(ABC){2}AB"                   "<0>ABC<1>ABC</1>AB</0>CAB"
401"(ABC){2}AB"                   "<0>ABC<1>ABC</1>AB</0>CABCAB"
402
403"(ABC){2,}AB"                  "ABCAB"
404"(ABC){2,}AB"                  "<0>ABC<1>ABC</1>AB</0>"
405"(ABC){2,}AB"                  "<0>ABCABC<1>ABC</1>AB</0>"
406"(ABC){2,}AB"                  "<0>ABCABCABC<1>ABC</1>AB</0>"
407
408"X{0,0}ABC"                    "<0>ABC</0>"
409"X{0,1}ABC"                    "<0>ABC</0>"
410
411"(?:Hello(!{1,3}) there){1}"   "Hello there"
412"(?:Hello(!{1,3}) there){1}"   "<0>Hello<1>!</1> there</0>"
413"(?:Hello(!{1,3}) there){1}"   "<0>Hello<1>!!</1> there</0>"
414"(?:Hello(!{1,3}) there){1}"   "<0>Hello<1>!!!</1> there</0>"
415"(?:Hello(!{1,3}) there){1}"   "Hello!!!! there"
416
417# Nongreedy {min,max}? intervals
418"(ABC){2,3}?AB"                "no matchAB"
419"(ABC){2,3}?AB"                "ABCAB"
420"(ABC){2,3}?AB"                "<0>ABC<1>ABC</1>AB</0>"
421"(ABC){2,3}?AB"                "<0>ABC<1>ABC</1>AB</0>CAB"
422"(ABC){2,3}?AB"                "<0>ABC<1>ABC</1>AB</0>CABCAB"
423"(ABC){2,3}?AX"                "<0>ABCABC<1>ABC</1>AX</0>"
424"(ABC){2,3}?AX"                "ABC<0>ABCABC<1>ABC</1>AX</0>"
425
426# Possessive {min,max}+ intervals
427"(ABC){2,3}+ABC"               "ABCABCABC"
428"(ABC){1,2}+ABC"               "<0>ABC<1>ABC</1>ABC</0>"
429"(?:(.)\1){2,5}+."              "<0>aabbcc<1>d</1>de</0>x"
430
431
432# Atomic Grouping
433"(?>.*)abc"                    "abcabcabc"  # no match.  .* consumed entire string.
434"(?>(abc{2,4}?))(c*)"          "<0><1>abcc</1><2>ccc</2></0>ddd"
435"(\.\d\d(?>[1-9]?))\d+"        "1.625"
436"(\.\d\d(?>[1-9]?))\d+"        "1<0><1>.625</1>0</0>"
437
438# Possessive *+
439"(abc)*+a"                     "abcabcabc"
440"(abc)*+a"                     "<0>abc<1>abc</1>a</0>b"
441"(a*b)*+a"                     "<0><1>aaaab</1>a</0>aaa"
442
443# Possessive ?+
444"c?+ddd"                       "<0>cddd</0>"
445"c?+cddd"                      "cddd"
446"c?cddd"                       "<0>cddd</0>"
447
448# Back Reference
449"(?:ab(..)cd\1)*"              "<0>ab23cd23ab<1>ww</1>cdww</0>abxxcdyy"
450"ab(?:c|(d?))(\1)"             "<0>ab<1><2></2></1></0>c"
451"ab(?:c|(d?))(\1)"             "<0>ab<1>d</1><2>d</2></0>"
452"ab(?:c|(d?))(\1)"             "<0>ab<1></1><2></2></0>e"
453"ab(?:c|(d?))(\1)"             "<0>ab<1></1><2></2></0>"
454
455# Case Insensitive
456"aBc"                    i      "<0>ABC</0>"
457"a[^bc]d"                i      "ABD"
458'((((((((((a))))))))))\10' i    "<0><1><2><3><4><5><6><7><8><9><10>A</10></9></8></7></6></5></4></3></2></1>A</0>"
459
460"(?:(?i)a)b"                    "<0>Ab</0>"
461"ab(?i)cd"	                 "<0>abCd</0>"
462"ab$cd"                         "abcd"
463
464# White space handling
465"a b"                           "ab"
466"abc "                          "abc"
467"abc "                          "<0>abc </0>"
468"ab[cd e]z"                     "<0>ab z</0>"
469"ab\ c"                         "<0>ab c</0> "
470"ab c"                          "<0>ab c</0> "
471"ab c"                        x "ab c "
472"ab\ c"                       x "<0>ab c</0> "
473
474#
475# Pattern Flags
476#
477"(?u)abc"                       "<0>abc</0>"
478"(?-u)abc"                      "<0>abc</0>"
479
480#
481#  \c escapes  (Control-whatever)
482#
483"\cA"                           "<0>\u0001</0>"
484"\ca"                           "<0>\u0001</0>"
485"\c\x"                          "<0>\u001cx</0>"
486
487
488#Multi-line mode
489'b\s^'                        m "a\nb\n"
490"(?m)^abc$"                     "abc \n abc\n<0>abc</0>\nabc"
491"(?m)^abc$"                   2 "abc \n abc\nabc\n<0>abc</0>"
492"^abc$"                       2 "abc \n abc\nabc\nabc"
493
494# Empty and full range
495"[\u0000-\U0010ffff]+"          "<0>abc\u0000\uffff\U00010000\U0010ffffzz</0>"
496"[^\u0000-\U0010ffff]"          "abc\u0000\uffff\U00010000\U0010ffffzz"
497"[^a--a]+"                      "<0>abc\u0000\uffff\U00010000\U0010ffffzz</0>"
498
499# Free-spacing mode
500"a b c  # this is a comment"  x "<0>abc</0> "
501'^a (?#xxx) (?#yyy) {3}c'  x    "<0>aaac</0>"
502"a b c [x y z]"               x "abc "
503"a b c [x y z]"               x "a b c "
504"a b c [x y z]"               x "<0>abcx</0>yz"
505"a b c [x y z]"               x "<0>abcy</0>yz"
506
507#
508#  Look Behind
509#
510"(?<=a)b"	                   "a<0>b</0>"
511"(.*)(?<=[bc])"                "<0><1>abc</1></0>d"
512"(?<=(abc))def"                "<1>abc</1><0>def</0>"   # lookbehind precedes main match.
513"(?<=ab|abc)xyz"               "abwxyz"                 # ab matches, but not far enough.
514"(?<=abc)cde"                  "abcde"
515"(?<=abc|ab)cde"               "ab<0>cde</0>"
516"(?<=abc|ab)cde"               "abc<0>cde</0>"
517
518"(?<=bc?c?c?)cd"               "ab<0>cd</0>"
519"(?<=bc?c?c?)cd"               "abc<0>cd</0>"
520"(?<=bc?c?c?)cd"               "abcc<0>cd</0>"
521"(?<=bc?c?c?)cd"               "abccc<0>cd</0>"
522"(?<=bc?c?c?)cd"               "abcccccd"
523"(?<=bc?c?c?)c+d"              "ab<0>cccccd</0>"
524
525".*(?<=: ?)(\w*)"                "<0>1:one  2: two 3:<1>three</1></0>   "
526
527#
528# Named Characters
529#
530"a\N{LATIN SMALL LETTER B}c"    "<0>abc</0>"
531"a\N{LATIN SMALL LETTER B}c"  i  "<0>abc</0>"
532"a\N{LATIN SMALL LETTER B}c"  i  "<0>aBc</0>"
533"a\N{LATIN SMALL LETTER B}c"     "aBc"
534
535"\N{FULL STOP}*"                 "<0>...</0>abc"
536
537"$"                              "abc<0></0>"
538
539#
540#  Optimizations of .* at end of patterns
541#
542"abc.*"                          "<0>abcdef</0>"
543"abc.*$"                         "<0>abcdef</0>"
544"abc(.*)"                        "<0>abc<1>def</1></0>"
545"abc(.*)"                        "<0>abc<1></1></0>"
546"abc.*"                          "<0>abc</0>\ndef"
547"abc.*"                     s    "<0>abc\ndef</0>"
548"abc.*$"                    s    "<0>abc\ndef</0>"
549"abc.*$"                         "abc\ndef"
550"abc.*$"                    m    "<0>abc</0>\ndef"
551"abc.*\Z"                   m    "abc\ndef"
552"abc.*\Z"                   sm   "<0>abc\ndef</0>"
553
554"abc*"                           "<0>abccc</0>d"
555"abc*$"                          "<0>abccc</0>"
556"ab(?:ab[xyz]\s)*"               "<0>ababy abx </0>abc"
557
558"(?:(abc)|a)(?:bc)+"             "<0>abc</0>"
559"(?:(abc)|a)(?:bc)*"             "<0><1>abc</1></0>"
560"^[+\-]?[0-9]*\.?[0-9]*"         "<0>123.456</0>"
561
562"ab.+yz"                         "<0>abc12345xyz</0>ttt"
563"ab.+yz"                    s    "<0>abc12345xyz</0>ttt"
564
565"ab.+yz"                         "abc123\n45xyzttt"
566"ab.+yz"                    s    "<0>abc12\n345xyz</0>ttt"
567
568"ab[0-9]+yz"                     "---abyz+++"
569"ab[0-9]+yz"                     "---<0>ab1yz</0>+++"
570"ab[0-9]+yz"                     "---<0>ab12yz</0>+++"
571"ab[0-9]+yz"                     "---<0>ab123456yz</0>+++"
572
573"ab([0-9]+|[A-Z]+)yz"            "---abyz+++"
574"ab([0-9]+|[A-Z]+)yz"            "---<0>ab<1>1</1>yz</0>+++"
575"ab([0-9]+|[A-Z]+)yz"            "---<0>ab<1>12</1>yz</0>+++"
576"ab([0-9]+|[A-Z]+)yz"            "---<0>ab<1>A</1>yz</0>+++"
577"ab([0-9]+|[A-Z]+)yz"            "---<0>ab<1>AB</1>yz</0>+++"
578"ab([0-9]+|[A-Z]+)yz"            "---<0>ab<1>ABCDE</1>yz</0>+++"
579
580#
581#  Hex format \x escaping
582#
583"ab\x63"                         "<0>abc</0>"
584"ab\x09w"                        "<0>ab\u0009w</0>"
585"ab\xabcdc"                      "<0>ab\u00abcdc</0>"
586"ab\x{abcd}c"                    "<0>ab\uabcdc</0>"
587"ab\x{101234}c"                  "<0>ab\U00101234c</0>"
588"abα"                            "<0>abα</0>"
589
590#
591#  Octal Escaping.   This conforms to Java conventions, not Perl.
592"\0101\00\03\073\0154\01442"      "<0>A\u0000\u0003\u003b\u006c\u0064\u0032</0>"
593"\0776"                          "<0>\u003f\u0036</0>"  # overflow, the 6 is literal.
594"\0376xyz"                       "<0>\u00fexyz</0>"
595"\08"                        E   "<0>\u00008</0>"
596"\0"                         E   "x"
597
598#
599#  \u Surrogate Pairs
600#
601"\ud800\udc00"                    "<0>\U00010000</0>"
602"\ud800\udc00*"                   "<0>\U00010000\U00010000\U00010000</0>\U00010001"
603"\ud800\ud800\udc00"              "<0>\ud800\U00010000</0>\U00010000\U00010000\U00010001"
604"(\ud800)(\udc00)"                "\U00010000"
605
606#
607# hitEnd with find()
608#
609"abc"                        Z    "aa<0>abc</0>  abcab"
610"abc"                       2Z    "aaabc  <0>abc</0>ab"
611"abc"                       3z    "aa>abc  abcab"
612
613#
614# Bug xxxx
615#
616"(?:\-|(\-?\d+\d\d\d))?(?:\-|\-(\d\d))?(?:\-|\-(\d\d))?(T)?(?:(\d\d):(\d\d):(\d\d)(\.\d+)?)?(?:(?:((?:\+|\-)\d\d):(\d\d))|(Z))?"   MG  "<0>-1234-21-31T41:51:61.789+71:81</0>"
617
618
619#
620# A random, complex, meaningless pattern that should at least compile
621#
622"(?![^\<C\f\0146\0270\}&&[|\02-\x3E\}|X-\|]]{7,}+)[|\\\x98\<\?\u4FCFr\,\0025\}\004|\0025-\0521]|(?<![|\01-\u829E])|(?<!\p{Alpha})|^|(?-s:[^\x15\\\x24F\a\,\a\u97D8[\x38\a[\0224-\0306[^\0020-\u6A57]]]]??)(?xix:[^|\{\[\0367\t\e\x8C\{\[\074c\]V[|b\fu\r\0175\<\07f\066s[^D-\x5D]]])(?xx:^{5,}+)(?d)(?=^\D)|(?!\G)(?>\G)(?![^|\]\070\ne\{\t\[\053\?\\\x51\a\075\0023-\[&&[|\022-\xEA\00-\u41C2&&[^|a-\xCC&&[^\037\uECB3\u3D9A\x31\|\<b\0206\uF2EC\01m\,\ak\a\03&&\p{Punct}]]]])(?-dxs:[|\06-\07|\e-\x63&&[|Tp\u18A3\00\|\xE4\05\061\015\0116C|\r\{\}\006\xEA\0367\xC4\01\0042\0267\xBB\01T\}\0100\?[|\[-\u459B|\x23\x91\rF\0376[|\?-\x94\0113-\\\s]]]]{6}?)(?<=[^\t-\x42H\04\f\03\0172\?i\u97B6\e\f\uDAC2])(?=\B)(?>[^\016\r\{\,\uA29D\034\02[\02-\[|\t\056\uF599\x62\e\<\032\uF0AC\0026\0205Q\|\\\06\0164[|\057-\u7A98&&[\061-g|\|\0276\n\042\011\e\xE8\x64B\04\u6D0EDW^\p{Lower}]]]]?)(?<=[^\n\\\t\u8E13\,\0114\u656E\xA5\]&&[\03-\026|\uF39D\01\{i\u3BC2\u14FE]])(?<=[^|\uAE62\054H\|\}&&^\p{Space}])(?sxx)(?<=[\f\006\a\r\xB4]{1,5})|(?x-xd:^{5}+)()"  "<0></0>abc"
623
624
625#
626# Bug 3225
627
628"1|9"                             "<0>1</0>"
629"1|9"                             "<0>9</0>"
630"1*|9"                            "<0>1</0>"
631"1*|9"                            "<0></0>9"
632
633"(?:a|ac)d"                       "<0>acd</0>"
634"a|ac"                            "<0>a</0>c"
635
636#
637# Bug 3320
638#
639"(a([^ ]+)){0,} (c)"              "<0><1>a<2>b</2></1> <3>c</3></0> "
640"(a([^ ]+))* (c)"                 "<0><1>a<2>b</2></1> <3>c</3></0> "
641
642#
643# Bug 3436
644#
645"(.*?) *$"                        "<0><1>test</1>    </0>"
646
647#
648# Bug 4034
649#
650"\D"                              "<0>A</0>BC\u00ffDEF"
651"\d"                              "ABC\u00ffDEF"
652"\D"                              "<0>\u00ff</0>DEF"
653"\d"                              "\u00ffDEF"
654"\D"                              "123<0>\u00ff</0>DEF"
655"\D"                              "<0>\u0100</0>DEF"
656"\D"                              "123<0>\u0100</0>DEF"
657
658#
659#bug 4024, new line sequence handling
660#
661"(?m)^"                           "<0></0>AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
662"(?m)^"                       2   "AA\u000d\u000a<0></0>BB\u000d\u000aCC\u000d\u000a"
663"(?m)^"                       3   "AA\u000d\u000aBB\u000d\u000a<0></0>CC\u000d\u000a"
664"(?m)^"                       4   "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
665
666"(?m)$"                           "AA<0></0>\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
667"(?m)$"                       2   "AA\u000d\u000aBB<0></0>\u000d\u000aCC\u000d\u000a"
668"(?m)$"                       3   "AA\u000d\u000aBB\u000d\u000aCC<0></0>\u000d\u000a"
669"(?m)$"                       4   "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a<0></0>"
670"(?m)$"                       5   "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
671
672"$"                               "AA\u000d\u000aBB\u000d\u000aCC<0></0>\u000d\u000a"
673"$"                           2   "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a<0></0>"
674"$"                           3   "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
675
676"$"                               "\u000a\u0000a<0></0>\u000a"
677"$"                           2   "\u000a\u0000a\u000a<0></0>"
678"$"                           3   "\u000a\u0000a\u000a"
679
680"$"                               "<0></0>"
681"$"                           2   ""
682
683"$"                               "<0></0>\u000a"
684"$"                           2   "\u000a<0></0>"
685"$"                           3   "\u000a"
686
687"^"                               "<0></0>"
688"^"                           2   ""
689
690"\Z"                              "<0></0>"
691"\Z"                          2   ""
692"\Z"                          2   "\u000a<0></0>"
693"\Z"                              "<0></0>\u000d\u000a"
694"\Z"                          2   "\u000d\u000a<0></0>"
695
696
697# No matching ^ at interior new-lines if not in multi-line mode.
698"^"                               "<0></0>AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
699"^"                           2   "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
700
701#
702# Dot-matches-any mode, and stopping at new-lines if off.
703#
704"."                               "<0>1</0>23\u000aXYZ"
705"."                           2   "1<0>2</0>3\u000aXYZ"
706"."                           3   "12<0>3</0>\u000aXYZ"
707"."                           4   "123\u000a<0>X</0>YZ"    # . doesn't match newlines
708"."                           4   "123\u000b<0>X</0>YZ"
709"."                           4   "123\u000c<0>X</0>YZ"
710"."                           4   "123\u000d<0>X</0>YZ"
711"."                           4   "123\u000d\u000a<0>X</0>YZ"
712"."                           4   "123\u0085<0>X</0>YZ"
713"."                           4   "123\u2028<0>X</0>YZ"
714"."                           4   "123\u2029<0>X</0>YZ"
715"."                           4s  "123<0>\u000a</0>XYZ"    # . matches any
716"."                           4s  "123<0>\u000b</0>XYZ"
717"."                           4s  "123<0>\u000c</0>XYZ"
718"."                           4s  "123<0>\u000d</0>XYZ"
719"."                           4s  "123<0>\u000d\u000a</0>XYZ"
720"."                           4s  "123<0>\u0085</0>XYZ"
721"."                           4s  "123<0>\u2028</0>XYZ"
722"."                           4s  "123<0>\u2029</0>XYZ"
723".{6}"                            "123\u000a\u000dXYZ"
724".{6}"                         s  "<0>123\u000a\u000dX</0>Y"
725
726
727#
728# Ranges
729#
730".*"                              "abc<r><0>def</0></r>ghi"
731"a"                               "aaa<r><0>a</0>aa</r>aaa"
732"a"                           2   "aaa<r>a<0>a</0>a</r>aaa"
733"a"                           3   "aaa<r>aa<0>a</0></r>aaa"
734"a"                           4   "aaa<r>aaa</r>aaa"
735"a"                               "aaa<r><0>a</0>aa</r>aaa"
736
737#
738# [set] parsing, systematically run through all of the parser states.
739#
740#
741"[def]+"                          "abc<0>ddeeff</0>ghi"       # set-open
742"[^def]+"                         "<0>abc</0>defghi"
743"[:digit:]+"                      "abc<0>123</0>def"
744"[:^digit:]+"                     "<0>abc</0>123def"
745"[\u005edef]+"                    "abc<0>de^f</0>ghi"
746
747"[]]+"                            "abc<0>]]]</0>[def"         # set-open2
748"[^]]+"                           "<0>abc</0>]]][def"
749
750"[:Lu:]+"                         "abc<0>ABC</0>def"          # set-posix
751"[:Lu]+"                          "abc<0>uL::Lu</0>"
752"[:^Lu]+"                         "abc<0>uL:^:Lu</0>"
753"[:]+"                            "abc<0>:::</0>def"
754"[:whats this:]"               E  " "
755"[--]+"                       dE  "-------"
756
757"[[nested]]+"                      "xyz[<0>nnetsteed</0>]abc"   #set-start
758"[\x{41}]+"                        "CB<0>AA</0>ZYX"
759"[\[\]\\]+"                        "&*<0>[]\\</0>..."
760"[*({<]+"                          "^&<0>{{(<<*</0>)))"
761
762
763"[-def]+"                          "abc<0>def-ef-d</0>xyz"     # set-start-dash
764"[abc[--def]]"                 E   " "
765
766"[x[&def]]+"                        "abc<0>def&</0>ghi"        # set-start-amp
767"[&& is bad at start]"         E   " "
768
769"[abc"                         E   " "                         # set-after-lit
770"[def]]"                           "abcdef"
771"[def]]"                           "abcde<0>f]</0>]"
772
773"[[def][ghi]]+"                    "abc]<0>defghi</0>[xyz"     # set-after-set
774"[[def]ghi]+"                      "abc]<0>defghi</0>[xyz" 
775"[[[[[[[[[[[abc]"              E   " "
776"[[abc]\p{Lu}]+"                   "def<0>abcABC</0>xyz"
777
778"[d-f]+"                           "abc<0>def</0>ghi"          # set-after-range
779"[d-f[x-z]]+"                      "abc<0>defxyzzz</0>gw"
780"[\s\d]+"                          "abc<0>  123</0>def"
781"[d-f\d]+"                         "abc<0>def123</0>ghi"
782"[d-fr-t]+"                        "abc<0>defrst</0>uvw"
783
784"[abc--]"                      E   " "                         # set-after-op
785"[[def]&&]"                    E   " "
786"[-abcd---]+"                     "<0>abc</0>--"                 #[-abcd]--[-]
787"[&abcd&&&ac]+"                   "b<0>ac&&ca</0>d"              #[&abcd]&&[&ac]
788
789"[[abcd]&[ac]]+"                  "b<0>acac</0>d"              # set-set-amp
790"[[abcd]&&[ac]]+"                 "b<0>acac</0>d"
791"[[abcd]&&ac]+"                   "b<0>acac</0>d"
792"[[abcd]&ac]+"                    "<0>bacacd&&&</0>"
793
794"[abcd&[ac]]+"                    "<0>bacacd&&&</0>"           #set-lit-amp
795"[abcd&&[ac]]+"                   "b<0>acac</0>d"
796"[abcd&&ac]+"                     "b<0>acac</0>d"
797
798"[[abcd]-[ac]]+"                  "a<0>bdbd</0>c"              # set-set-dash
799"[[abcd]--[ac]]+"                 "a<0>bdbd</0>c"
800"[[abcd]--ac]+"                   "a<0>bdbd</0>c"
801"[[abcd]-ac]+"                    "<0>bacacd---</0>"
802
803"[a-d--[b-c]]+"                   "b<0>adad</0>c"              # set-range-dash
804"[a-d--b-c]+"                     "b<0>adad</0>c"   
805"[a-d-[b-c]]+"                    "<0>bad-adc</0>"
806"[a-d-b-c]+"                      "<0>bad-adc</0>"
807"[\w--[b-c]]+"                    "b<0>adad</0>c"  
808"[\w--b-c]+"                      "b<0>adad</0>c"   
809"[\w-[b-c]]+"                     "<0>bad-adc</0>"
810"[\w-b-c]+"                       "<0>bad-adc</0>"
811
812"[a-d&&[b-c]]+"                   "a<0>bcbc</0>d"              # set-range-amp
813"[a-d&&b-c]+"                     "a<0>bcbc</0>d"
814"[a-d&[b-c]]+"                    "<0>abc&bcd</0>"
815"[a-d&b-c]+"                      "<0>abc&bcd</0>"
816
817"[abcd--bc]+"                     "b<0>adda</0>c"              # set-lit-dash
818"[abcd--[bc]]+"                   "b<0>adda</0>c"
819"[abcd-[bc]]+"                    "<0>bad--dac</0>xyz"
820"[abcd-]+"                        "<0>bad--dac</0>xyz"
821
822"[abcd-\s]+"                 E    "xyz<0>abcd  --</0>xyz"      # set-lit-dash-esc
823"[abcd-\N{LATIN SMALL LETTER G}]+"  "xyz-<0>abcdefg</0>hij-"
824"[bcd-\{]+"                       "a<0>bcdefyz{</0>|}"
825
826"[\p{Ll}]+"                       "ABC<0>abc</0>^&*&"          # set-escape
827"[\P{Ll}]+"                       "abc<0>ABC^&*&</0>xyz"
828"[\N{LATIN SMALL LETTER Q}]+"     "mnop<0>qqq</0>rst"
829"[\sa]+"                          "cb<0>a  a  </0>(*&"
830"[\S]+"                           "   <0>hello</0>  "
831"[\w]+"                           "   <0>hello_world</0>!  "
832"[\W]+"                           "a<0>   *$%#,</0>hello "
833"[\d]+"                           "abc<0>123</0>def"
834"[\D]+"                           "123<0>abc</0>567"
835"[\$\#]+"                         "123<0>$#$#</0>\\"
836
837#
838#  Try each of the Java compatibility properties.
839#    These are checked here, while normal Unicode properties aren't, because
840#    these Java compatibility properties are implemented directly by regexp, while other
841#    properties are handled by ICU's Property and UnicodeSet APIs.
842#
843#    These tests are only to verify that the names are recognized and the
844#    implementation isn't dead.  They are not intended to verify that the
845#    function defintions are 100% correct.
846#
847"[:InBasic Latin:]+"               "ΓΔΕΖΗΘ<0>hello, world.</0>ニヌネノハバパ"
848"[:^InBasic Latin:]+"              "<0>ΓΔΕΖΗΘ</0>hello, world.ニヌネノハバパ"
849"\p{InBasicLatin}+"                "ΓΔΕΖΗΘ<0>hello, world.</0>ニヌネノハバパ"
850"\P{InBasicLatin}+"                "<0>ΓΔΕΖΗΘ</0>hello, world.ニヌネノハバパ"
851"\p{InGreek}+"                     "<0>ΓΔΕΖΗΘ</0>hello, world.ニヌネノハバパ"
852"\p{InCombining Marks for Symbols}" "<0>\u20d0</0>"
853"\p{Incombiningmarksforsymbols}"    "<0>\u20d0</0>"
854
855
856"\p{javaDefined}+"                 "\uffff<0>abcd</0>\U00045678"
857"\p{javaDigit}+"                   "abc<0>1234</0>xyz"
858"\p{javaIdentifierIgnorable}+"     "abc<0>\u0000\u000e\u009f</0>xyz"
859"\p{javaISOControl}+"              "abc<0>\u0000\u000d\u0083</0>xyz"
860"\p{javaJavaIdentifierPart}+"      "#@!<0>abc123_$</0>;"
861"\p{javaJavaIdentifierStart}+"     "123\u0301<0>abc$_</0>%^&"
862"\p{javaLetter}+"                  "123<0>abcDEF</0>&*()("
863"\p{javaLetterOrDigit}+"           "$%^&*<0>123abcகஙசஜஞ</0>☺♘♚☔☎♬⚄⚡"
864"\p{javaLowerCase}+"               "ABC<0>def</0>&^%#:="
865"\p{javaMirrored}+"                "ab$%<0>(){}[]</0>xyz"
866"\p{javaSpaceChar}+"               "abc<0> \u00ao\u2028</0>!@#"
867"\p{javaSupplementaryCodePoint}+"  "abc\uffff<0>\U00010000\U0010ffff</0>\u0000"
868"\p{javaTitleCase}+"               "abCE<0>Džῌᾨ</0>123"
869"\p{javaUnicodeIdentifierStart}+"  "123<0>abcⅣ</0>%^&&*"
870"\p{javaUnicodeIdentifierPart}+"   "%&&^<0>abc123\u0301\u0002</0>..."
871"\p{javaUpperCase}+"               "abc<0>ABC</0>123"
872"\p{javaValidCodePoint}+"          "<0>\u0000abc\ud800 unpaired \udfff |\U0010ffff</0>"
873"\p{javaWhitespace}+"              "abc\u00a0\u2007\u202f<0> \u0009\u001c\u001f\u2028</0>42"
874"\p{all}+"                         "<0>123\u0000\U0010ffff</0>"
875"\P{all}+"                         "123\u0000\U0010ffff"
876
877# [:word:] is implemented directly by regexp.  Not a java compat property, but PCRE and others.
878
879"[:word:]+"                        ".??$<0>abc123ΓΔΕΖΗ_</0>%%%"
880"\P{WORD}+"                        "<0>.??$</0>abc123ΓΔΕΖΗ_%%%"
881
882#
883#  Errors on unrecognized ASCII letter escape sequences.
884#
885"[abc\Y]+"                         "<0>abcY</0>"
886"[abc\Y]+"                     eE  "<0>abcY</0>"
887
888"(?:a|b|c|\Y)+"                    "<0>abcY</0>"
889"(?:a|b|c|\Y)+"                eE  "<0>abcY</0>"
890
891"\Q\Y\E"                       e   "<0>\\Y</0>"
892
893#
894# Reported problem
895#
896"[a-\w]"                       E  "x"
897
898#
899# Bug 4045
900#
901"A*"                              "<0>AAAA</0>"
902"A*"                           2  "AAAA<0></0>"
903"A*"                           3  "AAAA"
904"A*"                           4  "AAAA"
905"A*"                           5  "AAAA"
906"A*"                           6  "AAAA"
907"A*"                              "<0></0>"
908"A*"                           2  ""
909"A*"                           3  ""
910"A*"                           4  ""
911"A*"                           5  ""
912
913#
914# Bug 4046
915#
916"(?m)^"                           "<0></0>AA\u000dBB\u000dCC\u000d"
917"(?m)^"                        2  "AA\u000d<0></0>BB\u000dCC\u000d"
918"(?m)^"                        3  "AA\u000dBB\u000d<0></0>CC\u000d"
919"(?m)^"                        4  "AA\u000dBB\u000dCC\u000d"
920"(?m)^"                        5  "AA\u000dBB\u000dCC\u000d"
921"(?m)^"                        6  "AA\u000dBB\u000dCC\u000d"
922
923"(?m)^"                           "<0></0>AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
924"(?m)^"                        2  "AA\u000d\u000a<0></0>BB\u000d\u000aCC\u000d\u000a"
925"(?m)^"                        3  "AA\u000d\u000aBB\u000d\u000a<0></0>CC\u000d\u000a"
926"(?m)^"                        4  "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a"
927
928#
929# Bug 4059
930#
931"\w+"				  "<0>イチロー</0>"
932"\b....\b."                       "<0>イチロー?</0>"
933
934
935#
936# Bug 4058    ICU Unicode Set patterns have an odd feature -
937#             A $ as the last character before the close bracket means match
938#             a \uffff, which means off the end of the string in transliterators.
939#             Didn't make sense for regular expressions, and is now fixed.
940#
941"[\$](P|C|D);"                    "<0>$<1>P</1>;</0>"
942"[$](P|C|D);"                     "<0>$<1>P</1>;</0>"
943"[$$](P|C|D);"                    "<0>$<1>P</1>;</0>"
944
945#
946# bug 4888    Flag settings lost in some cases.
947#
948"((a){2})|(#)"              is    "no"
949"((a){2})|(#)"              is    "<0><1>a<2>a</2></1></0>#"
950"((a){2})|(#)"              is    "a<0><3>#</3></0>"
951
952"((a|b){2})|c"              is    "<0>c</0>"
953"((a|b){2})|c"              is    "<0>C</0>"
954"((a|b){2})|c"              s     "C"
955
956#
957# bug 5617  ZWJ \u200d shoudn't cause word boundaries
958#
959".+?\b"                           "<0> </0>\u0935\u0915\u094D\u200D\u0924\u0947 "
960".+?\b"                       2   " <0>\u0935\u0915\u094D\u200D\u0924\u0947</0> "
961".+?\b"                       3   " \u0935\u0915\u094D\u200D\u0924\u0947 "
962
963#
964# bug 5386  "^.*$" should match empty input
965#
966"^.*$"                            "<0></0>"
967"^.*$"                     m      "<0></0>"
968"^.*$"                            "<0></0>\n"
969"(?s)^.*$"                        "<0>\n</0>"
970
971#
972# bug 5386  Empty pattern and empty input should match.
973#
974""                                "<0></0>abc"
975""                                "<0></0>"
976
977#
978# bug 5386   Range upper and lower bounds can be equal
979#
980"[a-a]"                           "<0>a</0>"
981
982#
983# bug 5386  $* should not fail, should match empty string.
984#
985"$*"                              "<0></0>abc"
986
987#
988# bug 5386  \Q ... \E escaping problem
989#
990"[a-z\Q-$\E]+"                    "QE<0>abc-def$</0>."
991
992# More reported 5386 Java comaptibility failures
993#
994"[^]*abb]*"                       "<0>kkkk</0>"
995"\xa"                             "huh"              # Java would like to be warned.
996"^.*$"                            "<0></0>"
997
998#
999# bug 5386  Empty left alternation should produce a zero length match.
1000#
1001"|a"                              "<0></0>a"
1002"$|ab"                            "<0>ab</0>"
1003"$|ba"                            "ab<0></0>"
1004
1005#
1006# bug 5386  Java compatibility for set expressions
1007#
1008"[a-z&&[cde]]+"                   "ab<0>cde</0>fg"
1009
1010#
1011# bug 6019  matches() needs to backtrack and check for a longer match if the
1012#                     first match(es) found don't match the entire input.
1013#
1014"a?|b"                            "<0></0>b"
1015"a?|b"                         M  "<0>b</0>"
1016"a?|.*?u|stuff|d"              M  "<0>stuff</0>"
1017"a?|.*?(u)|stuff|d"            M  "<0>stuff<1>u</1></0>"
1018"a+?"                             "<0>a</0>aaaaaaaaaaaa"
1019"a+?"                          M  "<0>aaaaaaaaaaaaa</0>"
1020
1021#
1022#   Bug 7724.  Expression to validate zip codes.
1023#
1024"(?!0{5})(\d{5})(?!-?0{4})(-?\d{4})?"    "<0><1>94040</1><2>-3344</2></0>"
1025"(?!0{5})(\d{5})(?!-?0{4})(-?\d{4})?"    "94040-0000"
1026"(?!0{5})(\d{5})(?!-?0{4})(-?\d{4})?"    "00000-3344"
1027
1028#
1029#    Bug 8666.  Assertion failure on match, bad operand to JMP_SAV_X opcode.
1030#
1031"((.??)+|A)*"                     "<0><1><2></2></1></0>AAAAABBBBBCCCCCDDDDEEEEE"
1032
1033#  Random debugging, Temporary
1034#
1035#"^(?:a?b?)*$"	                  "a--"
1036
1037"This is a string with (?:one |two |three )endings"   "<0>This is a string with two endings</0>"
1038"((?:a|b|c)whoop-dee-do) | [jkl]|zed"             "x"
1039"astring|another[bcd]|alpha|a|[a]"    "x"
1040
1041
1042#
1043#  Regexps from http://www.regexlib.com
1044#
1045"^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$"   G "<0>G1 1AA</0>"
1046"^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$"   G "<0>EH10 2QQ</0>"
1047"^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$"   G "<0>SW1 1ZZ</0>"
1048"^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$"     "G111 1AA"
1049"^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$"     "X10 WW"
1050"^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$"     "DDD 5WW"
1051#"^[\w\-]+(?:\.[\w\-]+)*@(?:[\w\-]+\.)+[a-zA-Z]{2,7}$"   dG "<0>joe.tillis@unit.army.mil</0>"   # TODO:  \w in pattern
1052#"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$"   G "<0>jack_rabbit@slims.com</0>"   # TODO:  \w in pattern
1053#"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$"   G "<0>foo99@foo.co.uk</0>"   # TODO:  \w in pattern
1054#"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$"     "find_the_mistake.@foo.org"   # TODO:  \w in pattern
1055#"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$"     ".prefix.@some.net"
1056"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"   G "<0>asmith@mactec.com</0>"
1057"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"   G "<0>foo12@foo.edu</0>"
1058"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"   G "<0>bob.smith@foo.tv</0>"
1059"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"     "joe"
1060"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"     "@foo.com"
1061"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"     "a@a"
1062"^\d{1,2}\/\d{1,2}\/\d{4}$"   G "<0>4/1/2001</0>"
1063"^\d{1,2}\/\d{1,2}\/\d{4}$"   G "<0>12/12/2001</0>"
1064"^\d{1,2}\/\d{1,2}\/\d{4}$"   G "<0>55/5/3434</0>"
1065"^\d{1,2}\/\d{1,2}\/\d{4}$"     "1/1/01"
1066"^\d{1,2}\/\d{1,2}\/\d{4}$"     "12 Jan 01"
1067"^\d{1,2}\/\d{1,2}\/\d{4}$"     "1-1-2001"
1068"^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"   G "<0>01.1.02</0>"
1069"^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"   G "<0>11-30-2001</0>"
1070"^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"   G "<0>2/29/2000</0>"
1071"^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"     "02/29/01"
1072"^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"     "13/01/2002"
1073"^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"     "11/00/02"
1074"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$"   G "<0>127.0.0.1</0>"
1075"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$"   G "<0>255.255.255.0</0>"
1076"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$"   G "<0>192.168.0.1</0>"
1077"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$"     "1200.5.4.3"
1078"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$"     "abc.def.ghi.jkl"
1079"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$"     "255.foo.bar.1"
1080"(AUX|PRN|NUL|COM\d|LPT\d)+\s*$"   G "<0>COM1</0>"
1081"(AUX|PRN|NUL|COM\d|LPT\d)+\s*$"   G "<0>AUX</0>"
1082"(AUX|PRN|NUL|COM\d|LPT\d)+\s*$"   G "<0>LPT1</0>"
1083"(AUX|PRN|NUL|COM\d|LPT\d)+\s*$"     "image.jpg"
1084"(AUX|PRN|NUL|COM\d|LPT\d)+\s*$"     "index.html"
1085"(AUX|PRN|NUL|COM\d|LPT\d)+\s*$"     "readme.txt"
1086"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"   G "<0>29/02/1972</0>"
1087"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"   G "<0>5-9-98</0>"
1088"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"   G "<0>10-11-2002</0>"
1089"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"     "29/02/2003"
1090"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"     "12/13/2002"
1091"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"     "1-1-1500"
1092"^(user=([a-z0-9]+,)*(([a-z0-9]+){1});)?(group=([a-z0-9]+,)*(([a-z0-9]+){1});)?(level=[0-9]+;)?$"   G "<0>user=foo,bar,quux;group=manager,admin;level=100;</0>"
1093"^(user=([a-z0-9]+,)*(([a-z0-9]+){1});)?(group=([a-z0-9]+,)*(([a-z0-9]+){1});)?(level=[0-9]+;)?$"   G "<0>group=nobody;level=24;</0>"
1094"^(user=([a-z0-9]+,)*(([a-z0-9]+){1});)?(group=([a-z0-9]+,)*(([a-z0-9]+){1});)?(level=[0-9]+;)?$"     "user=foo"
1095"^(user=([a-z0-9]+,)*(([a-z0-9]+){1});)?(group=([a-z0-9]+,)*(([a-z0-9]+){1});)?(level=[0-9]+;)?$"     "blahh"
1096"^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$"   G "<0>(+44)(0)20-12341234</0>"
1097"^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$"   G "<0>02012341234</0>"
1098"^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$"   G "<0>+44 (0) 1234-1234</0>"
1099"^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$"     "(44+)020-12341234"
1100"^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$"     "12341234(+020)"
1101"\b(\w+)\s+\1\b"   G "<0>Tell the the preacher</0>"
1102"\b(\w+)\s+\1\b"   G "<0>some some</0>"
1103"\b(\w+)\s+\1\b"   G "<0>hubba hubba</0>"
1104"\b(\w+)\s+\1\b"     "once an annual report"
1105"\b(\w+)\s+\1\b"     "mandate dated submissions"
1106"\b(\w+)\s+\1\b"     "Hubba hubba"
1107"(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)"   G "<0>+31235256677</0>"
1108"(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)"   G "<0>+31(0)235256677</0>"
1109"(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)"   G "<0>023-5256677</0>"
1110"(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)"     "+3123525667788999"
1111"(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)"     "3123525667788"
1112"(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)"     "232-2566778"
1113"^[-+]?\d*\.?\d*$"   G "<0>123</0>"
1114"^[-+]?\d*\.?\d*$"   G "<0>+3.14159</0>"
1115"^[-+]?\d*\.?\d*$"   G "<0>-3.14159</0>"
1116"^[-+]?\d*\.?\d*$"     "abc"
1117"^[-+]?\d*\.?\d*$"     "3.4.5"
1118"^[-+]?\d*\.?\d*$"     "$99.95"
1119"^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$"   G "<0>$1,234.50</0>"
1120"^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$"   G "<0>$0.70</0>"
1121"^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$"   G "<0>.7</0>"
1122"^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$"     "$0,123.50"
1123"^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$"     "$00.5"
1124"^[A-Z]{2}[0-9]{6}[A-DFM]{1}$"   G "<0>AB123456D</0>"
1125"^[A-Z]{2}[0-9]{6}[A-DFM]{1}$"   G "<0>AB123456F</0>"
1126"^[A-Z]{2}[0-9]{6}[A-DFM]{1}$"   G "<0>AB123456M</0>"
1127"^[A-Z]{2}[0-9]{6}[A-DFM]{1}$"     "AB123456E"
1128"^[A-Z]{2}[0-9]{6}[A-DFM]{1}$"     "ab123456d"
1129#"(http|ftp|https):\/\/[\w]+(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"   G "<0>http://regxlib.com/Default.aspx</0>"     # TODO:  \w in pattern
1130#"(http|ftp|https):\/\/[\w]+(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"   G "<0>http://electronics.cnet.com/electronics/0-6342366-8-8994967-1.html</0>"     # TODO:  \w in pattern
1131#"(http|ftp|https):\/\/[\w]+(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?"     "www.yahoo.com"     # TODO:  \w in pattern
1132"^[0-9]{4}\s{0,1}[a-zA-Z]{2}$"   G "<0>2034AK</0>"
1133"^[0-9]{4}\s{0,1}[a-zA-Z]{2}$"   G "<0>2034 AK</0>"
1134"^[0-9]{4}\s{0,1}[a-zA-Z]{2}$"   G "<0>2034 ak</0>"
1135"^[0-9]{4}\s{0,1}[a-zA-Z]{2}$"     "2034     AK"
1136"^[0-9]{4}\s{0,1}[a-zA-Z]{2}$"     "321321 AKSSAA"
1137"((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))"   G "<0>4/5/91</0>"
1138"((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))"   G "<0>04/5/1991</0>"
1139"((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))"   G "<0>4/05/89</0>"
1140"((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))"     "4/5/1"
1141#"(^|\s|\()((([1-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-]((2[0-9]){1}|(3[01]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:])|(^|\s|\()((([0-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-](([11-31]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:|$|\>])){1}){1}){1}){1}"   G "<0>01/01/2001 </0>"   #TODO - \s in pattern.
1142"(^|\s|\()((([1-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-]((2[0-9]){1}|(3[01]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:])|(^|\s|\()((([0-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-](([11-31]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:|$|\>])){1}){1}){1}){1}"   G "<0>01-01-2001:</0>"
1143"(^|\s|\()((([1-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-]((2[0-9]){1}|(3[01]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:])|(^|\s|\()((([0-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-](([11-31]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:|$|\>])){1}){1}){1}){1}"   G "<0>(1-1-01)</0>"
1144"(^|\s|\()((([1-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-]((2[0-9]){1}|(3[01]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:])|(^|\s|\()((([0-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-](([11-31]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:|$|\>])){1}){1}){1}){1}"     "13/1/2001"
1145"(^|\s|\()((([1-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-]((2[0-9]){1}|(3[01]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:])|(^|\s|\()((([0-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-](([11-31]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:|$|\>])){1}){1}){1}){1}"     "1-32-2001"
1146"(^|\s|\()((([1-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-]((2[0-9]){1}|(3[01]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:])|(^|\s|\()((([0-9]){1}|([0][1-9]){1}|([1][012]){1}){1}[\/-](([11-31]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:|$|\>])){1}){1}){1}){1}"     "1-1-1801"
1147"^\d{3}\s?\d{3}$"   G "<0>400 099</0>"
1148"^\d{3}\s?\d{3}$"   G "<0>400099</0>"
1149"^\d{3}\s?\d{3}$"   G "<0>400050</0>"
1150"^\d{3}\s?\d{3}$"     "2345678"
1151"^\d{3}\s?\d{3}$"     "12345"
1152"^\d{3}\s?\d{3}$"     "asdf"
1153"^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$"   G "<0>(111) 222-3333</0>"
1154"^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$"   G "<0>1112223333</0>"
1155"^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$"   G "<0>111-222-3333</0>"
1156"^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$"     "11122223333"
1157"^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$"     "11112223333"
1158"^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$"     "11122233333"
1159"^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$"   G "<0>#00ccff</0>"
1160"^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$"   G "<0>#039</0>"
1161"^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$"   G "<0>ffffcc</0>"
1162"^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$"     "blue"
1163"^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$"     "0x000000"
1164"^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$"     "#ff000"
1165"^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$"   G "<0>01:23:45:67:89:ab</0>"
1166"^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$"   G "<0>01:23:45:67:89:AB</0>"
1167"^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$"   G "<0>fE:dC:bA:98:76:54</0>"
1168"^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$"     "01:23:45:67:89:ab:cd"
1169"^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$"     "01:23:45:67:89:Az"
1170"^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$"     "01:23:45:56:"
1171"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$"   G "<0>http://www.blah.com/~joe</0>"
1172"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$"   G "<0>ftp://ftp.blah.co.uk:2828/blah%20blah.gif</0>"
1173"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$"   G "<0>https://blah.gov/blah-blah.as</0>"
1174"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$"     "www.blah.com"
1175"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$"     "http://www.blah.com/I have spaces!"
1176"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$"     "ftp://blah_underscore/[nope]"
1177"^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$|^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2}\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"   G "<0>12/01/2002</0>"
1178"^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$|^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2}\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"   G "<0>12/01/2002 12:32:10</0>"
1179"^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$|^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2}\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"     "32/12/2002"
1180"^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$|^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2}\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"     "12/13/2001"
1181"^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$|^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2}\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"     "12/02/06"
1182"^[0-9](\.[0-9]+)?$"   G "<0>1.2345</0>"
1183"^[0-9](\.[0-9]+)?$"   G "<0>0.00001</0>"
1184"^[0-9](\.[0-9]+)?$"   G "<0>7</0>"
1185"^[0-9](\.[0-9]+)?$"     "12.2"
1186"^[0-9](\.[0-9]+)?$"     "1.10.1"
1187"^[0-9](\.[0-9]+)?$"     "15.98"
1188"^(?:[mM]{1,3})?(?:(?:[cC][dDmM])|(?:[dD]?(?:[cC]{1,3})?))?[lL]?(([xX])(?:\2{1,2}|[lL]|[cC])?)?((([iI])((\5{1,2})|[vV]|[xX]|[lL])?)|([vV]?([iI]{1,3})?))?$"   G "<0>III</0>"
1189"^(?:[mM]{1,3})?(?:(?:[cC][dDmM])|(?:[dD]?(?:[cC]{1,3})?))?[lL]?(([xX])(?:\2{1,2}|[lL]|[cC])?)?((([iI])((\5{1,2})|[vV]|[xX]|[lL])?)|([vV]?([iI]{1,3})?))?$"   G "<0>xiv</0>"
1190"^(?:[mM]{1,3})?(?:(?:[cC][dDmM])|(?:[dD]?(?:[cC]{1,3})?))?[lL]?(([xX])(?:\2{1,2}|[lL]|[cC])?)?((([iI])((\5{1,2})|[vV]|[xX]|[lL])?)|([vV]?([iI]{1,3})?))?$"   G "<0>MCMLXLIX</0>"
1191"^(?:[mM]{1,3})?(?:(?:[cC][dDmM])|(?:[dD]?(?:[cC]{1,3})?))?[lL]?(([xX])(?:\2{1,2}|[lL]|[cC])?)?((([iI])((\5{1,2})|[vV]|[xX]|[lL])?)|([vV]?([iI]{1,3})?))?$"     "iiV"
1192"^(?:[mM]{1,3})?(?:(?:[cC][dDmM])|(?:[dD]?(?:[cC]{1,3})?))?[lL]?(([xX])(?:\2{1,2}|[lL]|[cC])?)?((([iI])((\5{1,2})|[vV]|[xX]|[lL])?)|([vV]?([iI]{1,3})?))?$"     "MCCM"
1193"^(?:[mM]{1,3})?(?:(?:[cC][dDmM])|(?:[dD]?(?:[cC]{1,3})?))?[lL]?(([xX])(?:\2{1,2}|[lL]|[cC])?)?((([iI])((\5{1,2})|[vV]|[xX]|[lL])?)|([vV]?([iI]{1,3})?))?$"     "XXXX"
1194"^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$"   G "<0>123</0>"
1195"^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$"   G "<0>-123.35</0>"
1196"^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$"   G "<0>-123.35e-2</0>"
1197"^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$"     "abc"
1198"^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$"     "123.32e"
1199"^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$"     "123.32.3"
1200"^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$"   G "<0>T.F. Johnson</0>"
1201"^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$"   G "<0>John O'Neil</0>"
1202"^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$"   G "<0>Mary-Kate Johnson</0>"
1203"^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$"     "sam_johnson"
1204"^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$"     "Joe--Bob Jones"
1205"^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$"     "dfjsd0rd"
1206"^(20|21|22|23|[0-1]\d)[0-5]\d$"   G "<0>1200</0>"
1207"^(20|21|22|23|[0-1]\d)[0-5]\d$"   G "<0>1645</0>"
1208"^(20|21|22|23|[0-1]\d)[0-5]\d$"   G "<0>2359</0>"
1209"^(20|21|22|23|[0-1]\d)[0-5]\d$"     "2400"
1210"^(20|21|22|23|[0-1]\d)[0-5]\d$"     "asbc"
1211"^(20|21|22|23|[0-1]\d)[0-5]\d$"     "12:45"
1212/<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/   G '<0><td background="../img/img.jpg" ></0>'
1213/<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/   G "<0><img src=img.jpg ></0>"
1214/<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/   G "<0><img src='img.jpg'></0>"
1215/<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/     "= img.jpg"
1216/<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/     "img.jpg"
1217"^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$"   G "<0>78754</0>"
1218"^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$"   G "<0>78754-1234</0>"
1219"^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$"   G "<0>G3H 6A3</0>"
1220"^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$"     "78754-12aA"
1221"^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$"     "7875A"
1222"^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$"     "g3h6a3"
1223#"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$"   G "<0>bob@somewhere.com</0>"    # TODO:  \w in pattern
1224#"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$"   G "<0>bob.jones@[1.1.1.1]</0   # TODO:  \w in pattern>"
1225#"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$"   G "<0>bob@a.b.c.d.info</0>"   # TODO:  \w in pattern
1226#"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$"     "bob@com"   # TODO:  \w in pattern
1227#"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$"     "bob.jones@some.where"   # TODO:  \w in pattern
1228#"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$"     "bob@1.1.1.123"   # TODO:  \w in pattern
1229#"^(([-\w \.]+)|(""[-\w \.]+"") )?<([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))>$"   G "<0><ab@cd.ef></0>"   # TODO:  \w in pattern
1230#"^(([-\w \.]+)|(""[-\w \.]+"") )?<([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))>$"   G "<0>bob A. jones <ab@cd.ef></0>"   # TODO:  \w in pattern
1231#"^(([-\w \.]+)|(""[-\w \.]+"") )?<([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))>$"   G "<0>bob A. jones <ab@[1.1.1.111]></0>"   # TODO:  \w in pattern
1232#"^(([-\w \.]+)|(""[-\w \.]+"") )?<([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))>$"     "ab@cd.ef"   # TODO:  \w in pattern
1233#"^(([-\w \.]+)|(""[-\w \.]+"") )?<([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))>$"     ""bob A. jones <ab@cd.ef>"   # TODO:  \w in pattern
1234#"^(([-\w \.]+)|(""[-\w \.]+"") )?<([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))>$"     "bob A. jones <ab@1.1.1.111>"   # TODO:  \w in pattern
1235"^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$"   G "<0>SW112LE</0>"
1236"^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$"   G "<0>SW11 2LE</0>"
1237"^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$"   G "<0>CR05LE</0>"
1238"^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$"     "12CR0LE"
1239"^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$"     "12CR 0LE"
1240"^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$"     "SWLE05"
1241"20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(T|\s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])"   G "<0>2099-12-31T23:59:59</0>"
1242"20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(T|\s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])"   G "<0>2002/02/09 16:30:00</0>"
1243"20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(T|\s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])"   G "<0>2000-01-01T00:00:00</0>"
1244"20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(T|\s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])"     "2000-13-31T00:00:00"
1245"20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(T|\s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])"     "2002/02/33 24:00:00"
1246"20\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(T|\s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])"     "2000-01-01 60:00:00"
1247"^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$"   G "<0>6011567812345678</0>"
1248"^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$"   G "<0>6011 5678 1234 5678</0>"
1249"^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$"   G "<0>6011-5678-1234-5678</0>"
1250"^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$"     "1234567890123456"
1251"^((((0[13578])|(1[02]))[\/]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\/]?(([0-2][0-9])|(30)))|(02[\/]?[0-2][0-9]))[\/]?\d{4}$"   G "<0>01/01/2001</0>"
1252"^((((0[13578])|(1[02]))[\/]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\/]?(([0-2][0-9])|(30)))|(02[\/]?[0-2][0-9]))[\/]?\d{4}$"   G "<0>02/29/2002</0>"
1253"^((((0[13578])|(1[02]))[\/]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\/]?(([0-2][0-9])|(30)))|(02[\/]?[0-2][0-9]))[\/]?\d{4}$"   G "<0>12/31/2002</0>"
1254"^((((0[13578])|(1[02]))[\/]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\/]?(([0-2][0-9])|(30)))|(02[\/]?[0-2][0-9]))[\/]?\d{4}$"     "1/1/02"
1255"^((((0[13578])|(1[02]))[\/]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\/]?(([0-2][0-9])|(30)))|(02[\/]?[0-2][0-9]))[\/]?\d{4}$"     "02/30/2002"
1256"^((((0[13578])|(1[02]))[\/]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\/]?(([0-2][0-9])|(30)))|(02[\/]?[0-2][0-9]))[\/]?\d{4}$"     "1/25/2002"
1257#"^(?=[^\&])(?:(?<scheme>[^:/?#]+):)?(?://(?<authority>[^/?#]*))?(?<path>[^?#]*)(?:\?(?<query>[^#]*))?(?:#(?<fragment>.*))?"   G "<0>http://regexlib.com/REDetails.aspx?regexp_id=x#Details</0>"  # out of context, can't work stand-alone
1258#"^(?=[^\&])(?:(?<scheme>[^:/?#]+):)?(?://(?<authority>[^/?#]*))?(?<path>[^?#]*)(?:\?(?<query>[^#]*))?(?:#(?<fragment>.*))?"     "&"           # out of context, can't work stand-alone
1259"^[-+]?\d+(\.\d+)?$"   G "<0>123</0>"
1260"^[-+]?\d+(\.\d+)?$"   G "<0>-123.45</0>"
1261"^[-+]?\d+(\.\d+)?$"   G "<0>+123.56</0>"
1262"^[-+]?\d+(\.\d+)?$"     "123x"
1263"^[-+]?\d+(\.\d+)?$"     ".123"
1264"^[-+]?\d+(\.\d+)?$"     "-123."
1265"^(\d{4}[- ]){3}\d{4}|\d{16}$"   G "<0>1234-1234-1234-1234</0>"
1266"^(\d{4}[- ]){3}\d{4}|\d{16}$"   G "<0>1234 1234 1234 1234</0>"
1267"^(\d{4}[- ]){3}\d{4}|\d{16}$"   G "<0>1234123412341234</0>"
1268"^(\d{4}[- ]){3}\d{4}|\d{16}$"     "Visa"
1269"^(\d{4}[- ]){3}\d{4}|\d{16}$"     "1234"
1270"^(\d{4}[- ]){3}\d{4}|\d{16}$"     "123-1234-12345"
1271"^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$"   G "<0>6011-1111-1111-1111</0>"
1272"^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$"   G "<0>5423-1111-1111-1111</0>"
1273"^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$"   G "<0>341111111111111</0>"
1274"^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$"     "4111-111-111-111"
1275"^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$"     "3411-1111-1111-111"
1276"^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$"     "Visa"
1277"^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$"   G "<0>4D28C5AD-6482-41CD-B84E-4573F384BB5C</0>"
1278"^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$"   G "<0>B1E1282C-A35C-4D5A-BF8B-7A3A51D9E388</0>"
1279"^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$"   G "91036A4A-A0F4-43F0-8CD"
1280"^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$"     "{B1E1282C-A35C-4D3A-BF8B-7A3A51D9E388}"
1281"^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$"     "AAAAAAAAAAAAAAAAA"
1282"^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$"     "B;E1282C-A35C-4D3A-BF8B-7A3A51D9E38"
1283"(^(4|5)\d{3}-?\d{4}-?\d{4}-?\d{4}|(4|5)\d{15})|(^(6011)-?\d{4}-?\d{4}-?\d{4}|(6011)-?\d{12})|(^((3\d{3}))-\d{6}-\d{5}|^((3\d{14})))"   G "<0>4111-1234-1234-1234</0>"
1284"(^(4|5)\d{3}-?\d{4}-?\d{4}-?\d{4}|(4|5)\d{15})|(^(6011)-?\d{4}-?\d{4}-?\d{4}|(6011)-?\d{12})|(^((3\d{3}))-\d{6}-\d{5}|^((3\d{14})))"   G "<0>6011123412341234</0>"
1285"(^(4|5)\d{3}-?\d{4}-?\d{4}-?\d{4}|(4|5)\d{15})|(^(6011)-?\d{4}-?\d{4}-?\d{4}|(6011)-?\d{12})|(^((3\d{3}))-\d{6}-\d{5}|^((3\d{14})))"   G "<0>3711-123456-12345</0>"
1286"(^(4|5)\d{3}-?\d{4}-?\d{4}-?\d{4}|(4|5)\d{15})|(^(6011)-?\d{4}-?\d{4}-?\d{4}|(6011)-?\d{12})|(^((3\d{3}))-\d{6}-\d{5}|^((3\d{14})))"     "1234567890123456"
1287"(^(4|5)\d{3}-?\d{4}-?\d{4}-?\d{4}|(4|5)\d{15})|(^(6011)-?\d{4}-?\d{4}-?\d{4}|(6011)-?\d{12})|(^((3\d{3}))-\d{6}-\d{5}|^((3\d{14})))"     "4111-123-1234-1234"
1288"(^(4|5)\d{3}-?\d{4}-?\d{4}-?\d{4}|(4|5)\d{15})|(^(6011)-?\d{4}-?\d{4}-?\d{4}|(6011)-?\d{12})|(^((3\d{3}))-\d{6}-\d{5}|^((3\d{14})))"     "412-1234-1234-1234"
1289#'\[link="(?<link>((.|\n)*?))"\](?<text>((.|\n)*?))\[\/link\]'   G '<0>[link="http://www.yahoo.com"]Yahoo[/link]</0>'   #named capture
1290#'\[link="(?<link>((.|\n)*?))"\](?<text>((.|\n)*?))\[\/link\]'     "[link]http://www.yahoo.com[/link]"                  #named capture
1291#'\[link="(?<link>((.|\n)*?))"\](?<text>((.|\n)*?))\[\/link\]'     "[link=http://www.yahoo.com]Yahoo[/link]"            #named capture
1292"^[a-zA-Z0-9]+$"   G "<0>10a</0>"
1293"^[a-zA-Z0-9]+$"   G "<0>ABC</0>"
1294"^[a-zA-Z0-9]+$"   G "<0>A3fg</0>"
1295"^[a-zA-Z0-9]+$"     "45.3"
1296"^[a-zA-Z0-9]+$"     "this or that"
1297"^[a-zA-Z0-9]+$"     "$23"
1298"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}"   G "<0>(123) 456-7890</0>"
1299"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}"   G "<0>123-456-7890</0>"
1300"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}"     "1234567890"
1301"^[a-zA-Z]\w{3,14}$"   G "<0>abcd</0>"
1302"^[a-zA-Z]\w{3,14}$"   G "<0>aBc45DSD_sdf</0>"
1303"^[a-zA-Z]\w{3,14}$"   G "<0>password</0>"
1304"^[a-zA-Z]\w{3,14}$"     "afv"
1305"^[a-zA-Z]\w{3,14}$"     "1234"
1306"^[a-zA-Z]\w{3,14}$"     "reallylongpassword"
1307"^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$"   G "<0>G1 1AA </0>"
1308"^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$"   G "<0>GIR 0AA</0>"
1309"^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$"   G "<0>SW1 1ZZ</0>"
1310"^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$"     "BT01 3RT"
1311"^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$"     "G111 1AA"
1312"^0[23489]{1}(\-)?[^0\D]{1}\d{6}$"   G "<0>03-6106666</0>"
1313"^0[23489]{1}(\-)?[^0\D]{1}\d{6}$"   G "<0>036106666</0>"
1314"^0[23489]{1}(\-)?[^0\D]{1}\d{6}$"   G "<0>02-5523344</0>"
1315"^0[23489]{1}(\-)?[^0\D]{1}\d{6}$"     "00-6106666"
1316"^0[23489]{1}(\-)?[^0\D]{1}\d{6}$"     "03-0106666"
1317"^0[23489]{1}(\-)?[^0\D]{1}\d{6}$"     "02-55812346"
1318"^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$"   G "<0>050-346634</0>"
1319"^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$"   G "<0>058633633</0>"
1320"^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$"   G "<0>064-228226</0>"
1321"^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$"     "059-336622"
1322"^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$"     "064-022663"
1323"^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$"     "0545454545"
1324"^([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])( |-)[0-9][A-Z]{2}"   G "<0>AA11 1AA</0>"
1325"^([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])( |-)[0-9][A-Z]{2}"   G "<0>AA1A 1AA</0>"
1326"^([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])( |-)[0-9][A-Z]{2}"   G "<0>A11-1AA</0>"
1327"^([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])( |-)[0-9][A-Z]{2}"     "111 AAA"
1328"^([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])( |-)[0-9][A-Z]{2}"     "1AAA 1AA"
1329"^([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])( |-)[0-9][A-Z]{2}"     "A1AA 1AA"
1330"@{2}((\S)+)@{2}"   G "<0>@@test@@</0>"
1331"@{2}((\S)+)@{2}"   G "<0>@@name@@</0>"
1332"@{2}((\S)+)@{2}"   G "<0>@@2342@@</0>"
1333"@{2}((\S)+)@{2}"     "@test@"
1334"@{2}((\S)+)@{2}"     "@@na me@@"
1335"@{2}((\S)+)@{2}"     "@@ name@@"
1336"([0-1][0-9]|2[0-3]):[0-5][0-9]"   G "<0>00:00</0>"
1337"([0-1][0-9]|2[0-3]):[0-5][0-9]"   G "<0>13:59</0>"
1338"([0-1][0-9]|2[0-3]):[0-5][0-9]"   G "<0>23:59</0>"
1339"([0-1][0-9]|2[0-3]):[0-5][0-9]"     "24:00"
1340"([0-1][0-9]|2[0-3]):[0-5][0-9]"     "23:60"
1341"^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$"   G "<0>23</0>"
1342"^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$"   G "<0>-17.e23</0>"
1343"^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$"   G "<0>+.23e+2</0>"
1344"^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$"     "+.e2"
1345"^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$"     "23.17.5"
1346"^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$"     "10e2.0"
1347"^([1-zA-Z0-1@.\s ]{1,255})$"   G "<0>email@email.com</0>"
1348"^([1-zA-Z0-1@.\s ]{1,255})$"   G "<0>My Name</0>"
1349"^([1-zA-Z0-1@.\s ]{1,255})$"   G "<0>asdf12df</0>"
1350"^([1-zA-Z0-1@.\s ]{1,255})$"     "‘,\*&$<>"
1351"^([1-zA-Z0-1@.\s ]{1,255})$"     "1001' string"
1352"^((0[1-9])|(1[0-2]))\/(\d{4})$"   G "<0>12/2002</0>"
1353"^((0[1-9])|(1[0-2]))\/(\d{4})$"   G "<0>11/1900</0>"
1354"^((0[1-9])|(1[0-2]))\/(\d{4})$"   G "<0>02/1977</0>"
1355"^((0[1-9])|(1[0-2]))\/(\d{4})$"     "1/1977"
1356"^((0[1-9])|(1[0-2]))\/(\d{4})$"     "00/000"
1357"^((0[1-9])|(1[0-2]))\/(\d{4})$"     "15/2002"
1358"^\(\d{1,2}(\s\d{1,2}){1,2}\)\s(\d{1,2}(\s\d{1,2}){1,2})((-(\d{1,4})){0,1})$"   G "<0>(0 34 56) 34 56 67</0>"
1359"^\(\d{1,2}(\s\d{1,2}){1,2}\)\s(\d{1,2}(\s\d{1,2}){1,2})((-(\d{1,4})){0,1})$"   G "<0>(03 45) 5 67 67</0>"
1360"^\(\d{1,2}(\s\d{1,2}){1,2}\)\s(\d{1,2}(\s\d{1,2}){1,2})((-(\d{1,4})){0,1})$"   G "<0>(0 45) 2 33 45-45</0>"
1361"^\(\d{1,2}(\s\d{1,2}){1,2}\)\s(\d{1,2}(\s\d{1,2}){1,2})((-(\d{1,4})){0,1})$"     "(2345) 34 34"
1362"^\(\d{1,2}(\s\d{1,2}){1,2}\)\s(\d{1,2}(\s\d{1,2}){1,2})((-(\d{1,4})){0,1})$"     "(0 56) 456 456"
1363"^\(\d{1,2}(\s\d{1,2}){1,2}\)\s(\d{1,2}(\s\d{1,2}){1,2})((-(\d{1,4})){0,1})$"     "(3 45) 2 34-45678"
1364"(?:\d|I{1,3})?\s?\w{2,}\.?\s*\d{1,}\:\d{1,}-?,?\d{0,2}(?:,\d{0,2}){0,2}"   G "<0>Genesis 3:3-4,6</0>"
1365"(?:\d|I{1,3})?\s?\w{2,}\.?\s*\d{1,}\:\d{1,}-?,?\d{0,2}(?:,\d{0,2}){0,2}"   G "<0>II Sam 2:11,2</0>"
1366"(?:\d|I{1,3})?\s?\w{2,}\.?\s*\d{1,}\:\d{1,}-?,?\d{0,2}(?:,\d{0,2}){0,2}"   G "<0>2 Tim 3:16</0>"
1367"(?:\d|I{1,3})?\s?\w{2,}\.?\s*\d{1,}\:\d{1,}-?,?\d{0,2}(?:,\d{0,2}){0,2}"     "Genesis chap 3, verse 3"
1368"(?:\d|I{1,3})?\s?\w{2,}\.?\s*\d{1,}\:\d{1,}-?,?\d{0,2}(?:,\d{0,2}){0,2}"     "2nd Samuel 2"
1369"(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])"   G "<0>[IMG]http://bleh.jpg[/IMG]</0>"
1370"(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])"   G "<0>[ImG]bleh[/imG]</0>"
1371"(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])"   G "<0>[img]ftp://login:pass@bleh.gif[/img]</0>"
1372"(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])"     '<img src="bleh.jpg">'
1373"^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$"   G "<0>10/03/1979</0>"
1374"^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$"   G "<0>1-1-02</0>"
1375"^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$"   G "<0>01.1.2003</0>"
1376"^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$"     "10/03/197"
1377"^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$"     "01-02-003"
1378"^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$"     "01 02 03"
1379#"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$"   G "<0>12345</0>"         # No Conditionals?
1380#"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$"   G "<0>12345-6789</0>"    # No Conditionals?
1381#"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$"     "00000"                # No Conditionals?
1382#"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$"     "00000-0000"           # No Conditionals?
1383#"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$"     "a4650-465s"           # No Conditionals?
1384"^((0?[1-9])|((1|2)[0-9])|30|31)$"   G "<0>01</0>"
1385"^((0?[1-9])|((1|2)[0-9])|30|31)$"   G "<0>12</0>"
1386"^((0?[1-9])|((1|2)[0-9])|30|31)$"   G "<0>31</0>"
1387"^((0?[1-9])|((1|2)[0-9])|30|31)$"     "123"
1388"^((0?[1-9])|((1|2)[0-9])|30|31)$"     "32"
1389"^((0?[1-9])|((1|2)[0-9])|30|31)$"     "abc"
1390"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?(\d{3}([\s\-./\\])?\d{4}|[a-zA-Z0-9]{7})$"   G "<0>1.222.333.1234</0>"
1391"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?(\d{3}([\s\-./\\])?\d{4}|[a-zA-Z0-9]{7})$"   G "<0>1-223-123-1232</0>"
1392"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?(\d{3}([\s\-./\\])?\d{4}|[a-zA-Z0-9]{7})$"   G "<0>12223334444</0>"
1393"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?(\d{3}([\s\-./\\])?\d{4}|[a-zA-Z0-9]{7})$"     "1.1.123123.123"
1394"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?(\d{3}([\s\-./\\])?\d{4}|[a-zA-Z0-9]{7})$"     "12-1322-112-31"
1395"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?(\d{3}([\s\-./\\])?\d{4}|[a-zA-Z0-9]{7})$"     "11231321131"
1396"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"   G "<0>DN3 6GB</0>"
1397"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"   G "<0>SW42 4RG</0>"
1398"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"   G "<0>GIR 0AA</0>"
1399"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"     "SEW4 5TY"
1400"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"     "AA2C 4FG"
1401"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"     "AA2 4CV"
1402"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$"   G "<0>asD1</0>"
1403"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$"   G "<0>asDF1234</0>"
1404"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$"   G "<0>ASPgo123</0>"
1405"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$"     "asdf"
1406"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$"     "1234"
1407"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$"     "ASDF12345"
1408"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?([0-9]{3}([\s\-./\\])?[0-9]{4}|[a-zA-Z0-9]{7}|([0-9]{3}[-][a-zA-Z0-9]{4}))"   G "<0>1.222.333.1234</0>"
1409"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?([0-9]{3}([\s\-./\\])?[0-9]{4}|[a-zA-Z0-9]{7}|([0-9]{3}[-][a-zA-Z0-9]{4}))"   G "<0>1-223-123-1232</0>"
1410"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?([0-9]{3}([\s\-./\\])?[0-9]{4}|[a-zA-Z0-9]{7}|([0-9]{3}[-][a-zA-Z0-9]{4}))"   G "<0>1-888-425-DELL</0>"
1411"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?([0-9]{3}([\s\-./\\])?[0-9]{4}|[a-zA-Z0-9]{7}|([0-9]{3}[-][a-zA-Z0-9]{4}))"     "1.1.123123.123"
1412"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?([0-9]{3}([\s\-./\\])?[0-9]{4}|[a-zA-Z0-9]{7}|([0-9]{3}[-][a-zA-Z0-9]{4}))"     "12-1322-112-31"
1413"^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?([0-9]{3}([\s\-./\\])?[0-9]{4}|[a-zA-Z0-9]{7}|([0-9]{3}[-][a-zA-Z0-9]{4}))"     "1-800-CALL-DEL"
1414"^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$"   G "<0>09:00</0>"
1415"^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$"   G "<0>9:00</0>"
1416"^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$"   G "<0>11:35</0>"
1417"^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$"     "13:00"
1418"^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$"     "9.00"
1419"^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$"     "6:60"
1420"^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$"   G "<0>1</0>"
1421"^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$"   G "<0>108</0>"
1422"^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$"   G "<0>255</0>"
1423"^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$"     "01"
1424"^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$"     "256"
1425"^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$"   G "<0>01/01/2001</0>"
1426"^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$"   G "<0>1/01/2001</0>"
1427"^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$"   G "<0>2002</0>"
1428"^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$"     "2/30/2002"
1429"^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$"     "13/23/2002"
1430"^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$"     "12345"
1431"^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$"   G "<0>SP939393H</0>"
1432"^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$"   G "<0>PX123456D</0>"
1433"^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$"   G "<0>SW355667G</0>"
1434"^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$"     "12SP9393H"
1435"^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$"     "S3P93930D"
1436"^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$"     "11223344SP00ddSS"
1437"(^0[78][2347][0-9]{7})"   G "<0>0834128458</0>"
1438"(^0[78][2347][0-9]{7})"   G "<0>0749526308</0>"
1439"(^0[78][2347][0-9]{7})"     "0861212308"
1440"(^0[78][2347][0-9]{7})"     "0892549851"
1441"^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$"   G "<0>C1406HHA</0>"
1442"^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$"   G "<0>A4126AAB</0>"
1443"^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$"   G "<0>c1406hha</0>"
1444"^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$"     "c1406HHA"
1445"^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$"     "4126"
1446"^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$"     "C1406hha"
1447"^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"   G "<0>66.129.71.120</0>"
1448"^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"   G "<0>207.46.230.218</0>"
1449"^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"   G "<0>64.58.76.225</0>"
1450"^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"     "10.0.5.4"
1451"^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"     "192.168.0.1"
1452"^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"     "my ip address"
1453"^([\w\d\-\.]+)@{1}(([\w\d\-]{1,67})|([\w\d\-]+\.[\w\d\-]{1,67}))\.(([a-zA-Z\d]{2,4})(\.[a-zA-Z\d]{2})?)$"   G "<0>foo@foo.com</0>"
1454"^([\w\d\-\.]+)@{1}(([\w\d\-]{1,67})|([\w\d\-]+\.[\w\d\-]{1,67}))\.(([a-zA-Z\d]{2,4})(\.[a-zA-Z\d]{2})?)$"   G "<0>foo@foo-foo.com.au</0>"
1455"^([\w\d\-\.]+)@{1}(([\w\d\-]{1,67})|([\w\d\-]+\.[\w\d\-]{1,67}))\.(([a-zA-Z\d]{2,4})(\.[a-zA-Z\d]{2})?)$"   G "<0>foo@foo.foo.info</0>"
1456"^([\w\d\-\.]+)@{1}(([\w\d\-]{1,67})|([\w\d\-]+\.[\w\d\-]{1,67}))\.(([a-zA-Z\d]{2,4})(\.[a-zA-Z\d]{2})?)$"     "foo@.com"
1457"^([\w\d\-\.]+)@{1}(([\w\d\-]{1,67})|([\w\d\-]+\.[\w\d\-]{1,67}))\.(([a-zA-Z\d]{2,4})(\.[a-zA-Z\d]{2})?)$"     "foo@foo..com"
1458"^([\w\d\-\.]+)@{1}(([\w\d\-]{1,67})|([\w\d\-]+\.[\w\d\-]{1,67}))\.(([a-zA-Z\d]{2,4})(\.[a-zA-Z\d]{2})?)$"     "foo@me@.com"
1459"/\*[\d\D]*?\*/"   G "<0>/* my comment */</0>"
1460"/\*[\d\D]*?\*/"   G "<0>/* my multiline comment */</0>"
1461"/\*[\d\D]*?\*/"   G "<0>/* my nested comment */</0>"
1462"/\*[\d\D]*?\*/"     "*/ anything here /*"
1463"/\*[\d\D]*?\*/"     "anything between 2 seperate comments"
1464"/\*[\d\D]*?\*/"     "\* *\"
1465"/\*[\p{N}\P{N}]*?\*/"   G "<0>/* my comment */</0>"
1466"/\*[\p{N}\P{N}]*?\*/"   G "<0>/* my multiline comment */</0>"
1467"/\*[\p{N}\P{N}]*?\*/"   G "<0>/* my nested comment */</0>"
1468"/\*[\p{N}\P{N}]*?\*/"     "*/ anything here /*"
1469"/\*[\p{N}\P{N}]*?\*/"     "anything between 2 seperate comments"
1470"/\*[\p{N}\P{N}]*?\*/"     "\* *\"
1471"((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((\d{4})|(\d{2}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((\d{4}|\d{2})))"   G "<0>1/31/2002</0>"
1472"((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((\d{4})|(\d{2}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((\d{4}|\d{2})))"   G "<0>04-30-02</0>"
1473"((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((\d{4})|(\d{2}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((\d{4}|\d{2})))"   G "<0>12-01/2002</0>"
1474"((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((\d{4})|(\d{2}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((\d{4}|\d{2})))"     "2/31/2002"
1475"((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((\d{4})|(\d{2}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((\d{4}|\d{2})))"     "13/0/02"
1476"((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((\d{4})|(\d{2}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((\d{4}|\d{2})))"     "Jan 1, 2001"
1477'^(([^<>;()\[\]\\.,;:@"]+(\.[^<>()\[\]\\.,;:@"]+)*)|(".+"))@((([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))\.)*(([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))$'   G "<0>blah@[10.0.0.1]</0>"
1478'^(([^<>;()\[\]\\.,;:@"]+(\.[^<>()\[\]\\.,;:@"]+)*)|(".+"))@((([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))\.)*(([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))$'   G "<0>a@b.c</0>"
1479'^(([^<>;()\[\]\\.,;:@"]+(\.[^<>()\[\]\\.,;:@"]+)*)|(".+"))@((([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))\.)*(([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))$'     "non@match@."
1480"^\d{9}[\d|X]$"   G "<0>1234123412</0>"
1481"^\d{9}[\d|X]$"   G "<0>123412341X</0>"
1482"^\d{9}[\d|X]$"     "not an isbn"
1483"^\d{9}(\d|X)$"   G "<0>1234123412</0>"
1484"^\d{9}(\d|X)$"   G "<0>123412341X</0>"
1485"^\d{9}(\d|X)$"     "not an isbn"
1486"^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$"   G "<0>01/01/2001</0>"
1487"^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$"   G "<0>1/1/1999</0>"
1488"^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$"   G "<0>10/20/2080</0>"
1489"^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$"     "13/01/2001"
1490"^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$"     "1/1/1800"
1491"^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$"     "10/32/2080"
1492"^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$"   G "<0>0.25</0>"
1493"^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$"   G "<0>.75</0>"
1494"^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$"   G "<0>123.50</0>"
1495"^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$"     ".77"
1496"^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$"     "1.435"
1497"^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$"   G "<0>12345</0>"
1498"^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$"   G "<0>932 68</0>"
1499"^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$"   G "<0>S-621 46</0>"
1500"^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$"     "5367"
1501"^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$"     "425611"
1502"^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$"     "31 545"
1503"^\d{5}(-\d{4})?$"   G "<0>48222</0>"
1504"^\d{5}(-\d{4})?$"   G "<0>48222-1746</0>"
1505"^\d{5}(-\d{4})?$"     "4632"
1506"^\d{5}(-\d{4})?$"     "Blake"
1507"^\d{5}(-\d{4})?$"     "37333-32"
1508'^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$'   G "<0>test.txt</0>"
1509'^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$'   G "<0>test.jpg.txt</0>"
1510'^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$'   G "<0>a&b c.bmp</0>"
1511'^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$'     "CON"
1512'^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$'     ".pdf"
1513'^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$'     "test:2.pdf"
1514"^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"   G "<0>1'235.140</0>"
1515"^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"   G "<0>1'222'333.120</0>"
1516"^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"   G "<0>456</0>"
1517"^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"     "1234.500"
1518"^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"     "78'45.123"
1519"^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"     "123,0012"
1520"^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$"   G "<0>T2p 3c7</0>"
1521"^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$"   G "<0>T3P3c7</0>"
1522"^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$"   G "<0>T2P 3C7</0>"
1523"^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$"     "123456"
1524"^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$"     "3C7T2P"
1525"^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$"     "11T21RWW"
1526"^\$[0-9]+(\.[0-9][0-9])?$"   G "<0>$1.50</0>"
1527"^\$[0-9]+(\.[0-9][0-9])?$"   G "<0>$49</0>"
1528"^\$[0-9]+(\.[0-9][0-9])?$"   G "<0>$0.50</0>"
1529"^\$[0-9]+(\.[0-9][0-9])?$"     "1.5"
1530"^\$[0-9]+(\.[0-9][0-9])?$"     "$1.333"
1531"^\$[0-9]+(\.[0-9][0-9])?$"     "this $5.12 fails"
1532"\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b"   G "<0>217.6.9.89</0>"
1533"\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b"   G "<0>0.0.0.0</0>"
1534"\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b"   G "<0>255.255.255.255</0>"
1535"\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b"     "256.0.0.0"
1536"\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b"     "0978.3.3.3"
1537"\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b"     "65.4t.54.3"
1538"((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)"   G "<0>http://www.aspemporium.com</0>"
1539"((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)"   G "<0>mailto:dominionx@hotmail.com</0>"
1540"((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)"   G "<0>ftp://ftp.test.com</0>"
1541"((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)"     "www.aspemporium.com"
1542"((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)"     "dominionx@hotmail.com"
1543"((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)"     "bloggs"
1544"\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}"   G "<0>(12) 123 1234</0>"
1545"\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}"   G "<0>(01512) 123 1234</0>"
1546"\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}"   G "<0>(0xx12) 1234 1234</0>"
1547"\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}"     "12 123 1234"
1548"\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}"     "(012) 123/1234"
1549"\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}"     "(012) 123 12345"
1550"^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$"   G "<0>bob-smith@foo.com</0>"
1551"^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$"   G "<0>bob.smith@foo.com</0>"
1552"^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$"   G "<0>bob_smith@foo.com</0>"
1553"^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$"     "-smith@foo.com"
1554"^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$"     ".smith@foo.com"
1555"^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$"     "smith@foo_com"
1556"^(?=.*\d).{4,8}$"   G "<0>1234</0>"
1557"^(?=.*\d).{4,8}$"   G "<0>asdf1234</0>"
1558"^(?=.*\d).{4,8}$"   G "<0>asp123</0>"
1559"^(?=.*\d).{4,8}$"     "asdf"
1560"^(?=.*\d).{4,8}$"     "asdf12345"
1561"^(?=.*\d).{4,8}$"     "password"
1562"[^A-Za-z0-9_@\.]|@{2,}|\.{5,}"   G "<0>user name</0>"
1563"[^A-Za-z0-9_@\.]|@{2,}|\.{5,}"   G "<0>user#name</0>"
1564"[^A-Za-z0-9_@\.]|@{2,}|\.{5,}"   G "<0>.....</0>"
1565"[^A-Za-z0-9_@\.]|@{2,}|\.{5,}"     "User_Name1"
1566"[^A-Za-z0-9_@\.]|@{2,}|\.{5,}"     "username@foo.com"
1567"[^A-Za-z0-9_@\.]|@{2,}|\.{5,}"     "user.name@mail.foo.com"
1568"^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$"   G "<0>12,654</0>"
1569"^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$"   G "<0>1,987</0>"
1570"^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$"     "128,2"
1571"^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$"     "12,"
1572"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*[^\.\,\)\(\s]$"   G "<0>https://www.restrictd.com/~myhome/</0>"
1573"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*[^\.\,\)\(\s]$"     "http://www.krumedia.com."
1574"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*[^\.\,\)\(\s]$"     "(http://www.krumedia.com)"
1575"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*[^\.\,\)\(\s]$"     "http://www.krumedia.com,"
1576"(\d{1,3},(\d{3},)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"   G "<0>2&651.50</0>"
1577"(\d{1,3},(\d{3},)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"   G "<0>987.895</0>"
1578"(\d{1,3},(\d{3},)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$"     "25$%787*"
1579"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$"   G "<0>$1,456,983.00</0>"
1580"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$"   G "<0>$1,700.07</0>"
1581"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$"   G "<0>$68,944.23</0>"
1582"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$"     "$20,86.93"
1583"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$"     "$1098.84"
1584"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$"     "$150."
1585"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$"   G "<0>$28,009,987.88</0>"
1586"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$"   G "<0>$23,099.05</0>"
1587"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$"   G "<0>$.88</0>"
1588"\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$"     "$234,5.99"
1589"^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$"   G "<0>29/02/2004 20:15:27</0>"
1590"^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$"   G "<0>29/2/04 8:9:5</0>"
1591"^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$"   G "<0>31/3/2004 9:20:17</0>"
1592"^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$"     "29/02/2003 20:15:15"
1593"^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$"     "2/29/04 20:15:15"
1594"^((((31\/(0?[13578]|1[02]))|((29|30)\/(0?[1,3-9]|1[0-2])))\/(1[6-9]|[2-9]\d)?\d{2})|(29\/0?2\/(((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))|(0?[1-9]|1\d|2[0-8])\/((0?[1-9])|(1[0-2]))\/((1[6-9]|[2-9]\d)?\d{2})) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$"     "31/3/4 9:20:17"
1595"^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"   G "<0>somthing@someserver.com</0>"
1596"^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"   G "<0>firstname.lastname@mailserver.domain.com</0>"
1597"^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"   G "<0>username-something@some-server.nl</0>"
1598"^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"     "username@someserver.domain.c"
1599"^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"     "somename@server.domain-com"
1600"^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$"     "someone@something.se_eo"
1601"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)"   G "<0>8am</0>"
1602"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)"   G "<0>8 am</0>"
1603"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)"   G "<0>8:00 am</0>"
1604"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)"     "8a"
1605"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)"     "8 a"
1606"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)"     "8:00 a"
1607"^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$"   G "<0>55(21)123-4567</0>"
1608"^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$"   G "<0>(11)1234-5678</0>"
1609"^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$"   G "<0>55(71)4562-2234</0>"
1610"^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$"     "3434-3432"
1611"^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$"     "4(23)232-3232"
1612"^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$"     "55(2)232-232"
1613"^((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))$"   G "<0>1:01 AM</0>"
1614"^((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))$"   G "<0>23:52:01</0>"
1615"^((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))$"   G "<0>03.24.36 AM</0>"
1616"^((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))$"     "19:31 AM"
1617"^((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))$"     "9:9 PM"
1618"^((([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]((:|\.)[0-5][0-9])?))$"     "25:60:61"
1619"^\d{0,2}(\.\d{1,2})?$"   G "<0>99.99</0>"
1620"^\d{0,2}(\.\d{1,2})?$"   G "<0>99</0>"
1621"^\d{0,2}(\.\d{1,2})?$"   G "<0>.99</0>"
1622"^\d{0,2}(\.\d{1,2})?$"     "999.999"
1623"^\d{0,2}(\.\d{1,2})?$"     "999"
1624"^\d{0,2}(\.\d{1,2})?$"     ".999"
1625"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$"   G "<0>1agdA*$#</0>"
1626"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$"   G "<0>1agdA*$#</0>"
1627"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$"   G "<0>1agdA*$#</0>"
1628"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$"     "wyrn%@*&$# f"
1629"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$"     "mbndkfh782"
1630"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$"     "BNfhjdhfjd&*)%#$)"
1631"^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$"   G "<0>freshmeat.net</0>"
1632"^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$"   G "<0>123.com</0>"
1633"^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$"   G "<0>TempLate-toolkKt.orG</0>"
1634"^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$"     "-dog.com"
1635"^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$"     "?boy.net"
1636"^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$"     "this.domain"
1637"^[^']*$"   G "<0>asljas</0>"
1638"^[^']*$"   G "<0>%/&89uhuhadjkh</0>"
1639"^[^']*$"   G '<0>"hi there!"</0>'
1640"^[^']*$"     "'hi there!'"
1641"^[^']*$"     "It's 9 o'clock"
1642"^[^']*$"     "'''''"
1643"(^\(\)$|^\(((\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\),)*(\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\)){1}\)))$"   G "<0>((24,((1,2,3),(3,4,5))))</0>"
1644"(^\(\)$|^\(((\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\),)*(\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\)){1}\)))$"   G "<0>((1,((2,3,4),(4,5,6),(96,34,26))),(12,((1,3,4),(4,5,6),(7,8,9))))</0>"
1645"(^\(\)$|^\(((\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\),)*(\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\)){1}\)))$"   G "<0>()</0>"
1646"(^\(\)$|^\(((\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\),)*(\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\)){1}\)))$"     "(24,((1,2,3),(3,4,5)))"
1647"(^\(\)$|^\(((\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\),)*(\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\)){1}\)))$"     "(  )"
1648"(^\(\)$|^\(((\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\),)*(\([0-9]+,(\((\([0-9]+,[0-9]+,[0-9]+\),)*(\([0-9]+,[0-9]+,[0-9]+\)){1}\))+\)){1}\)))$"     "((23,(12,3,4),(4,5,6)))"
1649"^[a-zA-Z0-9\s .\-_']+$"   G "<0>dony d'gsa</0>"
1650"^[a-zA-Z0-9\s .\-_']+$"     "^[a-zA-Z0-9\s.\-_']+$"
1651"^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$"   G "<0>example@example.com</0>"
1652"^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$"   G "<0>foo@bar.info</0>"
1653"^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$"   G "<0>blah@127.0.0.1</0>"
1654"^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$"     "broken@@example.com"
1655"^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$"     "foo@bar.infp"
1656"^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$"     "blah@.nospam.biz"
1657"^\d{5}(-\d{3})?$"   G "<0>13165-000</0>"
1658"^\d{5}(-\d{3})?$"   G "<0>38175-000</0>"
1659"^\d{5}(-\d{3})?$"   G "<0>81470-276</0>"
1660"^\d{5}(-\d{3})?$"     "13165-00"
1661"^\d{5}(-\d{3})?$"     "38175-abc"
1662"^\d{5}(-\d{3})?$"     "81470-2763"
1663"^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$"   G "<0>$0.84</0>"
1664"^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$"   G "<0>$123458</0>"
1665"^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$"   G "<0>$1,234,567.89</0>"
1666"^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$"     "$12,3456.01"
1667"^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$"     "12345"
1668"^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$"     "$1.234"
1669"([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})"   G "<0>C:\\temp\\this allows spaces\\web.config</0>"
1670"([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})"   G "<0>\\\\Andromeda\\share\\file name.123</0>"
1671"([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})"     "tz:\temp\ fi*le?na:m<e>.doc"
1672"([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})"     "\\Andromeda\share\filename.a"
1673"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"   G "<0>10:35</0>"
1674"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"   G "<0>9:20</0>"
1675"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"   G "<0>23</0>"
1676"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"     "24:00"
1677"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"     "20 PM"
1678"(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"     "20:15 PM"
1679"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$"   G "<0>$3,023,123.34</0>"
1680"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$"   G "<0>9,876,453</0>"
1681"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$"   G "<0>123456.78</0>"
1682"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$"     "4,33,234.34"
1683"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$"     "$1.234"
1684"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$"     "abc"
1685"^\$?\d+(\.(\d{2}))?$"   G "<0>$2.43</0>"
1686"^\$?\d+(\.(\d{2}))?$"   G "<0>2.02</0>"
1687"^\$?\d+(\.(\d{2}))?$"   G "<0>$2112</0>"
1688"^\$?\d+(\.(\d{2}))?$"     "2.1"
1689"^\$?\d+(\.(\d{2}))?$"     "$.14"
1690"^\$?\d+(\.(\d{2}))?$"     "$2,222.12"
1691/("[^"]*")|('[^\r]*)(\r\n)?/   G '<0>"my string"</0>'
1692/("[^"]*")|('[^\r]*)(\r\n)?/   G '<0>"a string with \u0027 in it"</0>'
1693/("[^"]*")|('[^\r]*)(\r\n)?/   G "<0>' comment</0>"
1694/("[^"]*")|('[^\r]*)(\r\n)?/     /asd "/
1695"^[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}$"   G "<0>BFDB4D31-3E35-4DAB-AFCA-5E6E5C8F61EA</0>"
1696"^[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}$"   G "<0>BFDB4d31-3e35-4dab-afca-5e6e5c8f61ea</0>"
1697"^[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}$"     "qqqBFDB4D31-3E35-4DAB-AFCA-5E6E5C8F61EA"
1698"^[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}$"     "BFDB4D31-3E-4DAB-AFCA-5E6E5C8F61EA"
1699"^[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}$"     "BFDB4D31-3E35-4DAB-AF"
1700"^\d{2}(\x2e)(\d{3})(-\d{3})?$"   G "<0>12.345-678</0>"
1701"^\d{2}(\x2e)(\d{3})(-\d{3})?$"   G "<0>23.345-123</0>"
1702"^\d{2}(\x2e)(\d{3})(-\d{3})?$"   G "<0>99.999</0>"
1703"^\d{2}(\x2e)(\d{3})(-\d{3})?$"     "41222-222"
1704"^\d{2}(\x2e)(\d{3})(-\d{3})?$"     "3.444-233"
1705"^\d{2}(\x2e)(\d{3})(-\d{3})?$"     "43.324444"
1706"^\d{2}(\u002e)(\d{3})(-\d{3})?$"   G "<0>12.345-678</0>"
1707"^\d{2}(\u002e)(\d{3})(-\d{3})?$"   G "<0>23.345-123</0>"
1708"^\d{2}(\u002e)(\d{3})(-\d{3})?$"   G "<0>99.999</0>"
1709"^\d{2}(\u002e)(\d{3})(-\d{3})?$"     "41222-222"
1710"^\d{2}(\u002e)(\d{3})(-\d{3})?$"     "3.444-233"
1711"^\d{2}(\u002e)(\d{3})(-\d{3})?$"     "43.324444"
1712#"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$"   G "<0>c:\file.txt</0>"   # TODO:  debug
1713#"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$"   G "<0>c:\folder\sub folder\file.txt</0>"   # TODO:  debug
1714#"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$"   G "<0>\\network\folder\file.txt</0>"    # TODO:  debug
1715"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$"     "C:"
1716"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$"     "C:\file.xls"
1717"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$"     "folder.txt"
1718"^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"   G "<0>my.domain.com</0>"
1719"^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"   G "<0>regexlib.com</0>"
1720"^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"   G "<0>big-reg.com</0>"
1721"^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"     ".mydomain.com"
1722"^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"     "regexlib.comm"
1723"^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"     "-bigreg.com"
1724"^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$"   G "<0>0001-12-31</0>"
1725"^\d{4}[\-\/\s ]?((((0[13578])|(1[02]))[\-\/\s ]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s ]?(([0-2][0-9])|(30)))|(02[\-\/\s ]?[0-2][0-9]))$"   G "<0>9999 09 30</0>"
1726"^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$"   G "<0>2002/03/03</0>"
1727"^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$"     "0001\02\30"
1728"^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$"     "9999.15.01"
1729"^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$"     "2002/3/3"
1730"^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$"   G "<0>http://psychopop.org</0>"
1731"^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$"   G "<0>http://www.edsroom.com/newUser.asp</0>"
1732"^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$"   G "<0>http://unpleasant.jarrin.net/markov/inde</0>"
1733"^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$"     "ftp://psychopop.org"
1734"^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$"     "http://www.edsroom/"
1735"^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$"     "http://un/pleasant.jarrin.net/markov/index.asp"
1736"^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$"   G "<0>1145</0>"
1737"^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$"   G "<0>933</0>"
1738"^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$"   G "<0> 801</0>"
1739"^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$"     "0000"
1740"^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$"     "1330"
1741"^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$"     "8:30"
1742"^\d{1,2}\/\d{2,4}$"   G "<0>9/02</0>"
1743"^\d{1,2}\/\d{2,4}$"   G "<0>09/2002</0>"
1744"^\d{1,2}\/\d{2,4}$"   G "<0>09/02</0>"
1745"^\d{1,2}\/\d{2,4}$"     "Fall 2002"
1746"^\d{1,2}\/\d{2,4}$"     "Sept 2002"
1747"^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$"   G "<0>01/01/2001</0>"
1748"^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$"   G "<0>02/30/2001</0>"
1749"^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$"   G "<0>12/31/2002</0>"
1750"^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$"     "1/1/02"
1751"^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$"     "1/1/2002"
1752"^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$"     "1/25/2002"
1753"^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$"   G "<0>15615552323</0>"
1754"^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$"   G "<0>1-561-555-1212</0>"
1755"^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$"   G "<0>5613333</0>"
1756"^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$"     "1-555-5555"
1757"^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$"     "15553333"
1758"^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$"     "0-561-555-1212"
1759'<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>'   G '<0><input type = text name = "bob"></0>'
1760'<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>'   G '<0><select name = "fred"></0>'
1761#'<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>'   G '<0><form></0>'    #TODO:  Debug
1762'<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>'     "<input type = submit>"   # TODO:  \w in pattern
1763'<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>'     '<font face = "arial">'   # TODO:  \w in pattern
1764'<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>'      "The drity brown fox stank like"
1765"^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12{1,2}):(([0-5]{1}[0-9]{1}\s{0,1})([AM|PM|am|pm]{2,2}))\W{0}$"   G "<0>1:00 AM</0>"
1766"^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12{1,2}):(([0-5]{1}[0-9]{1}\s{0,1})([AM|PM|am|pm]{2,2}))\W{0}$"   G "<0>12:00 PM</0>"
1767"^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12{1,2}):(([0-5]{1}[0-9]{1}\s{0,1})([AM|PM|am|pm]{2,2}))\W{0}$"   G "<0>1:00am</0>"
1768"^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12{1,2}):(([0-5]{1}[0-9]{1}\s{0,1})([AM|PM|am|pm]{2,2}))\W{0}$"     "24:00"
1769"^\d*$"   G "<0>123</0>"
1770"^\d*$"   G "<0>000</0>"
1771"^\d*$"   G "<0>43</0>"
1772"^\d*$"     "asbc"
1773"^\d*$"     "-34"
1774"^\d*$"     "3.1415"
1775"^[-+]?\d*$"   G "<0>123</0>"
1776"^[-+]?\d*$"   G "<0>-123</0>"
1777"^[-+]?\d*$"   G "<0>+123</0>"
1778"^[-+]?\d*$"     "abc"
1779"^[-+]?\d*$"     "3.14159"
1780"^[-+]?\d*$"     "-3.14159"
1781"^\d*\.?\d*$"   G "<0>123</0>"
1782"^\d*\.?\d*$"   G "<0>3.14159</0>"
1783"^\d*\.?\d*$"   G "<0>.234</0>"
1784"^\d*\.?\d*$"     "abc"
1785"^\d*\.?\d*$"     "-3.14159"
1786"^\d*\.?\d*$"     "3.4.2"
1787"^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$"   G "<0>44240</0>"
1788"^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$"   G "<0>44240-5555</0>"
1789"^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$"   G "<0>T2P 3C7</0>"
1790"^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$"     "44240ddd"
1791"^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$"     "t44240-55"
1792"^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$"     "t2p3c7"
1793"^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$"   G "<0>(910)456-7890</0>"
1794"^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$"   G "<0>(910)456-8970 x12</0>"
1795"^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$"   G "<0>(910)456-8970 1211</0>"
1796"^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$"     "(910) 156-7890"
1797"^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$"     "(910) 056-7890"
1798"^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$"     "(910) 556-7890 x"
1799"^((0?[1-9]|[12][1-9]|3[01])\.(0?[13578]|1[02])\.20[0-9]{2}|(0?[1-9]|[12][1-9]|30)\.(0?[13456789]|1[012])\.20[0-9]{2}|(0?[1-9]|1[1-9]|2[0-8])\.(0?[123456789]|1[012])\.20[0-9]{2}|(0?[1-9]|[12][1-9])\.(0?[123456789]|1[012])\.20(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$"   G "<0>31.01.2002</0>"
1800"^((0?[1-9]|[12][1-9]|3[01])\.(0?[13578]|1[02])\.20[0-9]{2}|(0?[1-9]|[12][1-9]|30)\.(0?[13456789]|1[012])\.20[0-9]{2}|(0?[1-9]|1[1-9]|2[0-8])\.(0?[123456789]|1[012])\.20[0-9]{2}|(0?[1-9]|[12][1-9])\.(0?[123456789]|1[012])\.20(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$"   G "<0>29.2.2004</0>"
1801"^((0?[1-9]|[12][1-9]|3[01])\.(0?[13578]|1[02])\.20[0-9]{2}|(0?[1-9]|[12][1-9]|30)\.(0?[13456789]|1[012])\.20[0-9]{2}|(0?[1-9]|1[1-9]|2[0-8])\.(0?[123456789]|1[012])\.20[0-9]{2}|(0?[1-9]|[12][1-9])\.(0?[123456789]|1[012])\.20(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$"   G "<0>09.02.2005</0>"
1802"^((0?[1-9]|[12][1-9]|3[01])\.(0?[13578]|1[02])\.20[0-9]{2}|(0?[1-9]|[12][1-9]|30)\.(0?[13456789]|1[012])\.20[0-9]{2}|(0?[1-9]|1[1-9]|2[0-8])\.(0?[123456789]|1[012])\.20[0-9]{2}|(0?[1-9]|[12][1-9])\.(0?[123456789]|1[012])\.20(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$"     "31.11.2002"
1803"^((0?[1-9]|[12][1-9]|3[01])\.(0?[13578]|1[02])\.20[0-9]{2}|(0?[1-9]|[12][1-9]|30)\.(0?[13456789]|1[012])\.20[0-9]{2}|(0?[1-9]|1[1-9]|2[0-8])\.(0?[123456789]|1[012])\.20[0-9]{2}|(0?[1-9]|[12][1-9])\.(0?[123456789]|1[012])\.20(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$"     "29.2.2002"
1804"^((0?[1-9]|[12][1-9]|3[01])\.(0?[13578]|1[02])\.20[0-9]{2}|(0?[1-9]|[12][1-9]|30)\.(0?[13456789]|1[012])\.20[0-9]{2}|(0?[1-9]|1[1-9]|2[0-8])\.(0?[123456789]|1[012])\.20[0-9]{2}|(0?[1-9]|[12][1-9])\.(0?[123456789]|1[012])\.20(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$"     "33.06.2000"
1805"^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$"   G "<0>12/31/2003</0>"
1806"^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$"   G "<0>01/01/1900</0>"
1807"^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$"   G "<0>11/31/2002</0>"
1808"^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$"     "1/1/2002"
1809"^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$"     "01/01/02"
1810"^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$"     "01/01/2004"
1811"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"   G "<0>3/3/2003</0>"
1812"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"   G "<0>3/3/2002 3:33 pm</0>"
1813"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"   G "<0>3/3/2003 3:33:33 am</0>"
1814"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"     "13/1/2002"
1815"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"     "3/3/2002 3:33"
1816"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"     "31/3/2002"
1817"([a-zA-Z]:(\\w+)*\\[a-zA-Z0_9]+)?.xls"   G "<0>E:\DyAGT\SD01A_specV2.xls</0>"
1818"([a-zA-Z]:(\\w+)*\\[a-zA-Z0_9]+)?.xls"     "E:\DyAGT\SD01A_specV2.txt"
1819"(((0[13578]|10|12)([-./])(0[1-9]|[12][0-9]|3[01])([-./])(\d{4}))|((0[469]|11)([-./])([0][1-9]|[12][0-9]|30)([-./])(\d{4}))|((2)([-./])(0[1-9]|1[0-9]|2[0-8])([-./])(\d{4}))|((2)(\.|-|\/)(29)([-./])([02468][048]00))|((2)([-./])(29)([-./])([13579][26]00))|((2)([-./])(29)([-./])([0-9][0-9][0][48]))|((2)([-./])(29)([-./])([0-9][0-9][2468][048]))|((2)([-./])(29)([-./])([0-9][0-9][13579][26])))"   G "<0>02/29/2084</0>"
1820"(((0[13578]|10|12)([-./])(0[1-9]|[12][0-9]|3[01])([-./])(\d{4}))|((0[469]|11)([-./])([0][1-9]|[12][0-9]|30)([-./])(\d{4}))|((2)([-./])(0[1-9]|1[0-9]|2[0-8])([-./])(\d{4}))|((2)(\.|-|\/)(29)([-./])([02468][048]00))|((2)([-./])(29)([-./])([13579][26]00))|((2)([-./])(29)([-./])([0-9][0-9][0][48]))|((2)([-./])(29)([-./])([0-9][0-9][2468][048]))|((2)([-./])(29)([-./])([0-9][0-9][13579][26])))"   G "<0>01/31/2000</0>"
1821"(((0[13578]|10|12)([-./])(0[1-9]|[12][0-9]|3[01])([-./])(\d{4}))|((0[469]|11)([-./])([0][1-9]|[12][0-9]|30)([-./])(\d{4}))|((2)([-./])(0[1-9]|1[0-9]|2[0-8])([-./])(\d{4}))|((2)(\.|-|\/)(29)([-./])([02468][048]00))|((2)([-./])(29)([-./])([13579][26]00))|((2)([-./])(29)([-./])([0-9][0-9][0][48]))|((2)([-./])(29)([-./])([0-9][0-9][2468][048]))|((2)([-./])(29)([-./])([0-9][0-9][13579][26])))"   G "<0>11/30/2000</0>"
1822"(((0[13578]|10|12)([-./])(0[1-9]|[12][0-9]|3[01])([-./])(\d{4}))|((0[469]|11)([-./])([0][1-9]|[12][0-9]|30)([-./])(\d{4}))|((2)([-./])(0[1-9]|1[0-9]|2[0-8])([-./])(\d{4}))|((2)(\.|-|\/)(29)([-./])([02468][048]00))|((2)([-./])(29)([-./])([13579][26]00))|((2)([-./])(29)([-./])([0-9][0-9][0][48]))|((2)([-./])(29)([-./])([0-9][0-9][2468][048]))|((2)([-./])(29)([-./])([0-9][0-9][13579][26])))"     "02/29/2083"
1823"(((0[13578]|10|12)([-./])(0[1-9]|[12][0-9]|3[01])([-./])(\d{4}))|((0[469]|11)([-./])([0][1-9]|[12][0-9]|30)([-./])(\d{4}))|((2)([-./])(0[1-9]|1[0-9]|2[0-8])([-./])(\d{4}))|((2)(\.|-|\/)(29)([-./])([02468][048]00))|((2)([-./])(29)([-./])([13579][26]00))|((2)([-./])(29)([-./])([0-9][0-9][0][48]))|((2)([-./])(29)([-./])([0-9][0-9][2468][048]))|((2)([-./])(29)([-./])([0-9][0-9][13579][26])))"     "11/31/2000"
1824"(((0[13578]|10|12)([-./])(0[1-9]|[12][0-9]|3[01])([-./])(\d{4}))|((0[469]|11)([-./])([0][1-9]|[12][0-9]|30)([-./])(\d{4}))|((2)([-./])(0[1-9]|1[0-9]|2[0-8])([-./])(\d{4}))|((2)(\.|-|\/)(29)([-./])([02468][048]00))|((2)([-./])(29)([-./])([13579][26]00))|((2)([-./])(29)([-./])([0-9][0-9][0][48]))|((2)([-./])(29)([-./])([0-9][0-9][2468][048]))|((2)([-./])(29)([-./])([0-9][0-9][13579][26])))"     "01/32/2000"
1825"^[a-zA-Z0-9\s .\-]+$"   G "<0>2222 Mock St.</0>"   # TODO:  \s in patterns not implemented
1826"^[a-zA-Z0-9\s .\-]+$"   G "<0>1 A St.</0>"
1827"^[a-zA-Z0-9\s .\-]+$"   G "<0>555-1212</0>"
1828"^[a-zA-Z0-9\s.\-]+$"     "[A Street]"
1829"^[a-zA-Z0-9\s.\-]+$"     "(3 A St.)"
1830"^[a-zA-Z0-9\s.\-]+$"     "{34 C Ave.}"
1831"^[a-zA-Z0-9\s.\-]+$"     "Last.*?(\d+.?\d*)"
1832"^[a-zA-Z0-9\s .\-]+$"   G "<TR><TD ALIGN=RIGHT> </TD><TD>Last</TD><TD ALIGN=RIGHT NOW"
1833"^[a-zA-Z0-9\s.\-]+$"     "[AADDSS]"
1834"^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$"   G "<0>1-(123)-123-1234</0>"
1835"^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$"   G "<0>123 123 1234</0>"
1836"^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$"   G "<0>1-800-ALPHNUM</0>"
1837"^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$"     "1.123.123.1234"
1838"^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$"     "(123)-1234-123"
1839"^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$"     "123-1234"
1840"^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"   G "<0>02:04</0>"
1841"^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"   G "<0>16:56</0>"
1842"^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"   G "<0>23:59</0>"
1843"^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"     "02:00 PM"
1844"^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"     "PM2:00"
1845"^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"     "24:00"
1846"^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$"   G "<0>01/01/1990</0>"
1847"^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$"   G "<0>12/12/9999</0>"
1848"^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$"   G "<0>3/28/2001</0>"
1849"^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$"     "3-8-01"
1850"^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$"     "13/32/1001"
1851"^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$"     "03/32/1989"
1852"((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})"   G "<0>1.2123644567</0>"
1853"((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})"   G "<0>0-234.567/8912</0>"
1854"((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})"   G "<0>1-(212)-123 4567</0>"
1855"((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})"     "0-212364345"
1856"((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})"     "1212-364,4321"
1857"((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})"     "0212\345/6789"
1858"^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$"   G "<0>000000 000000000000</0>"
1859"^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$"   G "<0>000000-000000000000</0>"
1860"^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$"   G "<0>000000000000000000</0>"
1861"^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$"     "000000_000000000000"
1862"^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$"   G "<0>01/01/2001</0>"
1863"^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$"   G "<0>1/1/2001</0>"
1864"^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$"   G "<0>01/1/01</0>"
1865"^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$"     "13/01/2001"
1866"^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$"     "1/2/100"
1867"^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$"     "09/32/2001"
1868"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$"   G "<0>$3,023,123.34</0>"
1869"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$"   G "<0>9,876,453</0>"
1870"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$"   G "<0>123456.78</0>"
1871"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$"     "4,33,234.34"
1872"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$"     "$1.234"
1873"^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$"     "abc"
1874"^\d{5}$|^\d{5}-\d{4}$"   G "<0>55555-5555</0>"
1875"^\d{5}$|^\d{5}-\d{4}$"   G "<0>34564-3342</0>"
1876"^\d{5}$|^\d{5}-\d{4}$"   G "<0>90210</0>"
1877"^\d{5}$|^\d{5}-\d{4}$"     "434454444"
1878"^\d{5}$|^\d{5}-\d{4}$"     "645-32-2345"
1879"^\d{5}$|^\d{5}-\d{4}$"     "abc"
1880"^\d{3}-\d{2}-\d{4}$"   G "<0>333-22-4444</0>"
1881"^\d{3}-\d{2}-\d{4}$"   G "<0>123-45-6789</0>"
1882"^\d{3}-\d{2}-\d{4}$"     "123456789"
1883"^\d{3}-\d{2}-\d{4}$"     "SSN"
1884"^[2-9]\d{2}-\d{3}-\d{4}$"   G "<0>800-555-5555</0>"
1885"^[2-9]\d{2}-\d{3}-\d{4}$"   G "<0>333-444-5555</0>"
1886"^[2-9]\d{2}-\d{3}-\d{4}$"   G "<0>212-666-1234</0>"
1887"^[2-9]\d{2}-\d{3}-\d{4}$"     "000-000-0000"
1888"^[2-9]\d{2}-\d{3}-\d{4}$"     "123-456-7890"
1889"^[2-9]\d{2}-\d{3}-\d{4}$"     "2126661234"
1890"^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$"   G "<0>44240</0>"
1891"^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$"   G "<0>44240-5555</0>"
1892"^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$"   G "<0>G3H 6A3</0>"
1893"^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$"     "Ohio"
1894"^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$"     "abc"
1895"^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$"     "g3h6a3"
1896"[0-9]{4}\s*[a-zA-Z]{2}"   G "<0>1054 WD</0>"
1897"[0-9]{4}\s*[a-zA-Z]{2}"   G "<0>1054WD</0>"
1898"[0-9]{4}\s*[a-zA-Z]{2}"   G "<0>1054 wd</0>"
1899"[0-9]{4}\s*[a-zA-Z]{2}"     "10543"
1900"(^1300\d{6}$)|(^1800|1900|1902\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\d{4}$)|(^04\d{2,3}\d{6}$)"   G "<0>0732105432</0>"
1901"(^1300\d{6}$)|(^1800|1900|1902\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\d{4}$)|(^04\d{2,3}\d{6}$)"   G "<0>1300333444</0>"
1902"(^1300\d{6}$)|(^1800|1900|1902\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\d{4}$)|(^04\d{2,3}\d{6}$)"   G "<0>131313</0>"
1903"(^1300\d{6}$)|(^1800|1900|1902\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\d{4}$)|(^04\d{2,3}\d{6}$)"     "32105432"
1904"(^1300\d{6}$)|(^1800|1900|1902\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\d{4}$)|(^04\d{2,3}\d{6}$)"     "13000456"
1905"^((https?|ftp)\://((\[?(\d{1,3}\.){3}\d{1,3}\]?)|(([\-a-zA-Z0-9]+\.)+[a-zA-Z]{2,4}))(\:\d+)?(/[\-a-zA-Z0-9._?,'+\&%$#=~\\]+)*/?)$"   G "<0>http://207.68.172.254/home.ashx</0>"
1906"^((https?|ftp)\://((\[?(\d{1,3}\.){3}\d{1,3}\]?)|(([\-a-zA-Z0-9]+\.)+[a-zA-Z]{2,4}))(\:\d+)?(/[\-a-zA-Z0-9._?,'+\&%$#=~\\]+)*/?)$"   G "<0>ftp://ftp.netscape.com/</0>"
1907"^((https?|ftp)\://((\[?(\d{1,3}\.){3}\d{1,3}\]?)|(([\-a-zA-Z0-9]+\.)+[a-zA-Z]{2,4}))(\:\d+)?(/[\-a-zA-Z0-9._?,'+\&%$#=~\\]+)*/?)$"   G "<0>https://www.brinkster.com/login.asp</0>"
1908"^((https?|ftp)\://((\[?(\d{1,3}\.){3}\d{1,3}\]?)|(([\-a-zA-Z0-9]+\.)+[a-zA-Z]{2,4}))(\:\d+)?(/[\-a-zA-Z0-9._?,'+\&%$#=~\\]+)*/?)$"     "htp://mistake.com/"
1909"^((https?|ftp)\://((\[?(\d{1,3}\.){3}\d{1,3}\]?)|(([\-a-zA-Z0-9]+\.)+[a-zA-Z]{2,4}))(\:\d+)?(/[\-a-zA-Z0-9._?,'+\&%$#=~\\]+)*/?)$"     "http://www_address.com/"
1910"^((https?|ftp)\://((\[?(\d{1,3}\.){3}\d{1,3}\]?)|(([\-a-zA-Z0-9]+\.)+[a-zA-Z]{2,4}))(\:\d+)?(/[\-a-zA-Z0-9._?,'+\&%$#=~\\]+)*/?)$"     "ftp://www.files.com/file with spaces.txt"
1911"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"   G "<0>2002-11-03</0>"
1912"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"   G "<0>2007-17-08</0>"
1913"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"   G "<0>9999-99-99</0>"
1914"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"     "2002/17/18"
1915"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"     "2002.18.45"
1916"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"     "18.45.2002"
1917"^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$"   G "<0>$0,234.50</0>"
1918"^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$"   G "<0>0234.5</0>"
1919"^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$"   G "<0>0,234.</0>"
1920"^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$"     "$1,23,50"
1921"^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$"     "$123.123"
1922"(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})"   G "<0>12.345-678</0>"
1923"(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})"   G "<0>12345-678</0>"
1924"(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})"   G "<0>12345678</0>"
1925"(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})"     "12.345678"
1926"(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})"     "12345-1"
1927"(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})"     "123"
1928'^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$'   G "<0>x:\\test\\testing.htm</0>"
1929'^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$'   G "<0>x:\\test\\test#$ ing.html</0>"
1930'^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$'   G "<0>\\\\test\testing.html</0>"
1931'^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$'     "x:\test\test/ing.htm"
1932'^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$'     "x:\test\test*.htm"
1933'^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$'     "\\test?<.htm"
1934"^[1-9]{1}[0-9]{3}$"   G "<0>1234</0>"
1935"^[1-9]{1}[0-9]{3}$"     "123"
1936"^[1-9]{1}[0-9]{3}$"     "123A"
1937"^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$"   G "<0>A-1234</0>"
1938"^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$"   G "<0>A 1234</0>"
1939"^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$"   G "<0>A1234</0>"
1940"^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$"     "AA-1234"
1941"^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$"     "A12345"
1942"^(F-)?[0-9]{5}$"   G "<0>12345</0>"
1943"^(F-)?[0-9]{5}$"   G "<0>F-12345</0>"
1944"^(F-)?[0-9]{5}$"     "F12345"
1945"^(F-)?[0-9]{5}$"     "F-123456"
1946"^(F-)?[0-9]{5}$"     "123456"
1947"^(V-|I-)?[0-9]{4}$"   G "<0>1234</0>"
1948"^(V-|I-)?[0-9]{4}$"   G "<0>V-1234</0>"
1949"^(V-|I-)?[0-9]{4}$"     "12345"
1950"^[1-9]{1}[0-9]{3} ?[A-Z]{2}$"   G "<0>1234 AB</0>"
1951"^[1-9]{1}[0-9]{3} ?[A-Z]{2}$"   G "<0>1234AB</0>"
1952"^[1-9]{1}[0-9]{3} ?[A-Z]{2}$"     "123AB"
1953"^[1-9]{1}[0-9]{3} ?[A-Z]{2}$"     "1234AAA"
1954"^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$"   G "<0>12345</0>"
1955"^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$"   G "<0>10234</0>"
1956"^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$"   G "<0>01234</0>"
1957"^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$"     "00123"
1958"^(/w|/W|[^<>+?$%\{}\&])+$"   G "<0>John Doe Sr.</0>"
1959"^(/w|/W|[^<>+?$%\{}\&])+$"   G "<0>100 Elm St., Suite 25</0>"
1960"^(/w|/W|[^<>+?$%\{}\&])+$"   G "<0>Valerie's Gift Shop</0>"
1961"^(/w|/W|[^<>+?$%\{}\&])+$"     "<h1>Hey</h1>"
1962/<[a-zA-Z][^>]*\son\w+=(\w+|'[^']*'|"[^"]*")[^>]*>/   G '<0><IMG onmouseover="window.close()"></0>'
1963/<[a-zA-Z][^>]*\son\w+=(\w+|'[^']*'|"[^"]*")[^>]*>/     '<IMG src="star.gif">'
1964"(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$"   G "<0>1</0>"
1965"(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$"   G "<0>12345.123</0>"
1966"(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$"   G "<0>0.5</0>"
1967"(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$"     "0"
1968"(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$"     "0.0"
1969"(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$"     "123456.1234"
1970"^.+@[^\.].*\.[a-z]{2,}$"   G "<0>whatever@somewhere.museum</0>"
1971"^.+@[^\.].*\.[a-z]{2,}$"   G "<0>foreignchars@myforeigncharsdomain.nu</0>"
1972"^.+@[^\.].*\.[a-z]{2,}$"   G "<0>me+mysomething@mydomain.com</0>"
1973"^.+@[^\.].*\.[a-z]{2,}$"     "a@b.c"
1974"^.+@[^\.].*\.[a-z]{2,}$"     "me@.my.com"
1975"^.+@[^\.].*\.[a-z]{2,}$"     "a@b.comFOREIGNCHAR"
1976"^(\d{5}-\d{4}|\d{5})$"   G "<0>12345</0>"
1977"^(\d{5}-\d{4}|\d{5})$"   G "<0>12345-1234</0>"
1978"^(\d{5}-\d{4}|\d{5})$"     "12345-12345"
1979"^(\d{5}-\d{4}|\d{5})$"     "123"
1980"^(\d{5}-\d{4}|\d{5})$"     "12345-abcd"
1981"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"   G "<0>0.0.0.0</0>"
1982"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"   G "<0>255.255.255.02</0>"
1983"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"   G "<0>192.168.0.136</0>"
1984"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"     "256.1.3.4"
1985"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"     "023.44.33.22"
1986"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"     "10.57.98.23."
1987"<img([^>]*[^/])>"   G '<0><img src="bob"></0>'
1988"<img([^>]*[^/])>"     '<img src="bob" />'
1989"<!--[\s\S]*?-->"   G "<0><!-- comments --></0>"
1990"<!--[\s\S]*?-->"   G "<0><!-- x = a > b - 3 --></0>"
1991"<!--[\s\S]*?-->"     "<COMMENTS>this is a comment</COMMENTS>"
1992"<!--[\p{Zs}\P{Zs}]*?-->"   G "<0><!-- comments --></0>"
1993"<!--[\p{Zs}\P{Zs}]*?-->"   G "<0><!-- x = a > b - 3 --></0>"
1994"<!--[\p{Zs}\P{Zs}]*?-->"     "<COMMENTS>this is a comment</COMMENTS>"
1995/<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/   G "<0><TD></0>"
1996/<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/   G '<0><TD bgColor="FFFFFF"></0>'
1997/<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/   G "<0></TD></0>"
1998/<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/     "No Tag Here ..."
1999"(\{\\f\d*)\\([^;]+;)"   G "<0>{\\f0\\Some Font names here;</0>"
2000"(\{\\f\d*)\\([^;]+;)"   G "<0>{\\f1\\fswiss\\fcharset0\\fprq2{\\*\\panose 020b0604020202020204}Arial;</0>"
2001"(\{\\f\d*)\\([^;]+;)"   G "{\\f"
2002"(\{\\f\d*)\\([^;]+;)"     "{f0fs20 some text}"
2003#"</?([a-zA-Z][-A-Za-z\d\.]{0,71})(\s+(\S+)(\s*=\s*([-\w\.]{1,1024}|"[^"]{0,1024}"|'[^']{0,1024}'))?)*\s*>"   G '<0><IMG src='stars.gif' alt="space" height=1></0>'    # TODO:  Can't quote this pattern with the test syntax!
2004#"</?([a-zA-Z][-A-Za-z\d\.]{0,71})(\s+(\S+)(\s*=\s*([-\w\.]{1,1024}|"[^"]{0,1024}"|'[^']{0,1024}'))?)*\s*>"     "this is not a tag"
2005"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0-1]\d|[2][0-3])(\:[0-5]\d){1,2})?$"   G "<0>12/30/2002</0>"
2006"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0-1]\d|[2][0-3])(\:[0-5]\d){1,2})?$"   G "<0>01/12/1998 13:30</0>"
2007"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0-1]\d|[2][0-3])(\:[0-5]\d){1,2})?$"   G "<0>01/28/2002 22:35:00</0>"
2008"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0-1]\d|[2][0-3])(\:[0-5]\d){1,2})?$"     "13/30/2002"
2009"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0-1]\d|[2][0-3])(\:[0-5]\d){1,2})?$"     "01/12/1998 24:30"
2010"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0-1]\d|[2][0-3])(\:[0-5]\d){1,2})?$"     "01/28/2002 22:35:64"
2011#"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))"   G "<0>BEGIN:</0>"            #named capture
2012#"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))"   G "<0>TEL;WORK;VOICE:</0>"   #named capture
2013#"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))"   G "<0>TEL:</0>"              #named capture
2014#"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))"     "begin:"                   #named capture
2015#"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))"     "TEL;PREF;"                #named capture
2016'^<a\s+href\s*=\s*"http:\/\/([^"]*)"([^>]*)>(.*?(?=<\/a>))<\/a>$'   G '<0><a href="http://www.mysite.com">my external link</a></0>'
2017'^<a\s+href\s*=\s*"http:\/\/([^"]*)"([^>]*)>(.*?(?=<\/a>))<\/a>$'   G '<a href="http:/'
2018'^<a\s+href\s*=\s*"http:\/\/([^"]*)"([^>]*)>(.*?(?=<\/a>))<\/a>$'     '<a href="myinternalpage.html">my internal link</a>'
2019"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$"   G "<0>12/31/2002</0>"
2020"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$"   G "<0>12/31/2002 08:00</0>"
2021"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$"   G "<0>12/31/2002 08:00 AM</0>"
2022"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$"     "12/31/02"
2023"^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0]\d|[1][0-2])(\:[0-5]\d){1,2})*\s*([aApP][mM]{0,2})?$"     "12/31/2002 14:00"
2024"<blockquote>(?:\s*([^<]+)<br>\s*)+</blockquote>"   G "<0><blockquote>string1<br>string2<br>string3<br></blockquote></0>"
2025"<blockquote>(?:\s*([^<]+)<br>\s*)+</blockquote>"     ".."
2026"^((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$"   G "<0>1/2/03</0>"
2027"^((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$"   G "<0>2/30/1999</0>"
2028"^((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$"   G "<0>03/04/19</0>"
2029"^((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$"     "3/4/2020"
2030"^((0?[13578]|10|12)(-|\/)((0[0-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)((0[0-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$"     "3/4/1919"
2031'</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>'   G '<0><font color="blue"></0>'
2032'</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>'   G "<0></font></0>"
2033'</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>'   G "<0><br /></0>"
2034'</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>'     "this is a test..."
2035"^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$"   G "<0>12:00am</0>"
2036"^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$"   G "<0>1:00 PM</0>"
2037"^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$"   G "<0>  12:59   pm</0>"
2038"^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$"     "0:00"
2039"^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$"     "0:01 am"
2040"^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$"     "13:00 pm"
2041"\({1}[0-9]{3}\){1}\-{1}[0-9]{3}\-{1}[0-9]{4}"   G "<0>(111)-111-1111</0>"
2042"\({1}[0-9]{3}\){1}\-{1}[0-9]{3}\-{1}[0-9]{4}"     "11111111111"
2043"[^abc]"   G "<0>def</0>"
2044"[^abc]"     "abc"
2045"^(([0]?[1-9]|[1][0-2])[\/|\-|\.]([0-2]\d|[3][0-1]|[1-9])[\/|\-|\.]([2][0])?\d{2}\s+((([0][0-9]|[1][0-2]|[0-9])[\:|\-|\.]([0-5]\d)\s*([aApP][mM])?)|(([0-1][0-9]|[2][0-3]|[0-9])[\:|\-|\.]([0-5]\d))))$"   G "<0>01/01/2002 04:42</0>"
2046"^(([0]?[1-9]|[1][0-2])[\/|\-|\.]([0-2]\d|[3][0-1]|[1-9])[\/|\-|\.]([2][0])?\d{2}\s+((([0][0-9]|[1][0-2]|[0-9])[\:|\-|\.]([0-5]\d)\s*([aApP][mM])?)|(([0-1][0-9]|[2][0-3]|[0-9])[\:|\-|\.]([0-5]\d))))$"   G "<0>5-12-02 04:42 AM</0>"
2047"^(([0]?[1-9]|[1][0-2])[\/|\-|\.]([0-2]\d|[3][0-1]|[1-9])[\/|\-|\.]([2][0])?\d{2}\s+((([0][0-9]|[1][0-2]|[0-9])[\:|\-|\.]([0-5]\d)\s*([aApP][mM])?)|(([0-1][0-9]|[2][0-3]|[0-9])[\:|\-|\.]([0-5]\d))))$"   G "<0>01.01/02    04-42aM</0>"
2048"^(([0]?[1-9]|[1][0-2])[\/|\-|\.]([0-2]\d|[3][0-1]|[1-9])[\/|\-|\.]([2][0])?\d{2}\s+((([0][0-9]|[1][0-2]|[0-9])[\:|\-|\.]([0-5]\d)\s*([aApP][mM])?)|(([0-1][0-9]|[2][0-3]|[0-9])[\:|\-|\.]([0-5]\d))))$"     "01-12-1999 4:50PM"
2049"^(([0]?[1-9]|[1][0-2])[\/|\-|\.]([0-2]\d|[3][0-1]|[1-9])[\/|\-|\.]([2][0])?\d{2}\s+((([0][0-9]|[1][0-2]|[0-9])[\:|\-|\.]([0-5]\d)\s*([aApP][mM])?)|(([0-1][0-9]|[2][0-3]|[0-9])[\:|\-|\.]([0-5]\d))))$"     "01-12-2002 15:10PM"
2050"^(([0]?[1-9]|[1][0-2])[\/|\-|\.]([0-2]\d|[3][0-1]|[1-9])[\/|\-|\.]([2][0])?\d{2}\s+((([0][0-9]|[1][0-2]|[0-9])[\:|\-|\.]([0-5]\d)\s*([aApP][mM])?)|(([0-1][0-9]|[2][0-3]|[0-9])[\:|\-|\.]([0-5]\d))))$"     "01-12-002 8:20PM"
2051"^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$"   G "<0>11-02-02</0>"
2052"^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$"   G "<0>1-25-2002</0>"
2053"^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$"   G "<0>01/25/2002</0>"
2054"^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$"     "13-02-02"
2055"^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$"     "11.02.02"
2056"^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$"     "11/32/2002"
2057"(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])"   G "<0>09:30:00</0>"
2058"(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])"   G "<0>17:45:20</0>"
2059"(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])"   G "<0>23:59:59</0>"
2060"(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])"     "24:00:00"
2061"(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))"   G "<0>29/02/2000</0>"
2062"(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))"   G "<0>31/01/2000</0>"
2063"(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))"   G "<0>30-01-2000</0>"
2064"(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))"     "29/02/2002"
2065"(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))"     "32/01/2002"
2066"(((0[1-9]|[12][0-9]|3[01])([-./])(0[13578]|10|12)([-./])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-./])(0[469]|11)([-./])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-./])(02)([-./])(\d{4}))|((29)(\.|-|\/)(02)([-./])([02468][048]00))|((29)([-./])(02)([-./])([13579][26]00))|((29)([-./])(02)([-./])([0-9][0-9][0][48]))|((29)([-./])(02)([-./])([0-9][0-9][2468][048]))|((29)([-./])(02)([-./])([0-9][0-9][13579][26])))"     "10/2/2002"
2067"^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$"   G "<0>01 46 70 89 12</0>"
2068"^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$"   G "<0>01-46-70-89-12</0>"
2069"^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$"   G "<0>0146708912</0>"
2070"^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$"     "01-46708912"
2071"^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$"     "01 46708912"
2072"^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$"     "+33235256677"
2073"^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$"   G "<0>good.gif</0>"
2074"^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$"   G "<0>go d.GIf</0>"
2075"^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$"   G "<0>goo_d.jPg</0>"
2076"^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$"     "junk"
2077"^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$"     "bad.bad.gif"
2078"^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$"     "slash\gif."
2079"<[^>\s]*\bauthor\b[^>]*>"   G '<0><author name="Daniel"></0>'
2080"<[^>\s]*\bauthor\b[^>]*>"   G "<0></sch:author></0>"
2081# "<[^>\s]*\bauthor\b[^>]*>"   G '<0><pp:author name="Daniel"</0>'  #Debug  should work
2082"<[^> ]*\bauthor\b[^>]*>"   G "<0></sch:author></0>"
2083"<[^> ]*\bauthor\b[^>]*>"   G '<0><pp:author name="Daniel"></0>'
2084"<[^>\s]*\bauthor\b[^>]*>"     "<other>"
2085"<[^>\s]*\bauthor\b[^>]*>"     "</authors>"
2086"<[^>\s]*\bauthor\b[^>]*>"     "<work>author</work>"
2087"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"   G "<0>04/2/29</0>"
2088"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"   G "<0>2002-4-30</0>"
2089"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"   G "<0>02.10.31</0>"
2090"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"     "2003/2/29"
2091"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"     "02.4.31"
2092"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"     "00/00/00"
2093'(\d*)\u0027*-*(\d*)/*(\d*)"'   G '<0>5\u0027-3/16"</0>'
2094'(\d*)\u0027*-*(\d*)/*(\d*)"'   G '<0>1\u0027-2"</0>'
2095'(\d*)\u0027*-*(\d*)/*(\d*)"'   G '<0>5/16"</0>'
2096'(\d*)\u0027*-*(\d*)/*(\d*)"'     '1 3/16'
2097"^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$"   G "<0>1</0>"
2098"^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$"   G "<0>23</0>"
2099"^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$"   G "<0>50</0>"
2100"^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$"     "0"
2101"^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$"     "111"
2102"^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$"     "xyz"
2103"^([ \u00c0-\u01ffa-zA-Z'])+$"   G "<0>Jon Doe</0>"
2104"^([ \u00c0-\u01ffa-zA-Z'])+$"   G "<0>J\u00f8rn</0>"
2105"^([ \u00c0-\u01ffa-zA-Z'])+$"   G "<0>Mc'Neelan</0>"
2106"^([ \u00c0-\u01ffa-zA-Z'])+$"     "Henry); hacking attempt"
2107"^((([0]?[1-9]|1[0-2])(:|\.)(00|15|30|45)?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)(00|15|30|45)?))$"   G "<0>1:00 PM</0>"
2108"^((([0]?[1-9]|1[0-2])(:|\.)(00|15|30|45)?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)(00|15|30|45)?))$"   G "<0>6:45 am</0>"
2109"^((([0]?[1-9]|1[0-2])(:|\.)(00|15|30|45)?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)(00|15|30|45)?))$"   G "<0>17:30</0>"
2110"^((([0]?[1-9]|1[0-2])(:|\.)(00|15|30|45)?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)(00|15|30|45)?))$"     "4:32 am"
2111"^((([0]?[1-9]|1[0-2])(:|\.)(00|15|30|45)?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)(00|15|30|45)?))$"     "5:30:00 am"
2112"^((([0]?[1-9]|1[0-2])(:|\.)(00|15|30|45)?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)(00|15|30|45)?))$"     "17:01"
2113"(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)"   G "<0>0.050</0>"
2114"(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)"   G "<0>5.0000</0>"
2115"(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)"   G "<0>5000</0>"
2116"(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)"     "0"
2117"(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)"     "0.0"
2118"(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)"     ".0"
2119"^([A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^$"   G "<0>Sacramento</0>"
2120"^([A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^$"     "<0><2>San Francisco</2></0>"
2121"^([A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^$"     "<0><3>San Luis Obispo</3></0>"
2122"^([A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^$"     "SanFrancisco"
2123"^([A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^$"     "SanLuisObispo"
2124"^([A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^$"     "San francisco"
2125"^\{?[a-fA-F\d]{8}-([a-fA-F\d]{4}-){3}[a-fA-F\d]{12}\}?$"   G "<0>{e02ff0e4-00ad-090A-c030-0d00a0008ba0}</0>"
2126"^\{?[a-fA-F\d]{8}-([a-fA-F\d]{4}-){3}[a-fA-F\d]{12}\}?$"   G "<0>e02ff0e4-00ad-090A-c030-0d00a0008ba0</0>"
2127"^\{?[a-fA-F\d]{8}-([a-fA-F\d]{4}-){3}[a-fA-F\d]{12}\}?$"     "0xe02ff0e400ad090Ac0300d00a0008ba0"
2128"^\{?[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}\}?$"   G "<0>{e02ff0e4-00ad-090A-c030-0d00a0008ba0}</0>"
2129"^\{?[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}\}?$"   G "<0>e02ff0e4-00ad-090A-c030-0d00a0008ba0</0>"
2130"^\{?[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}\}?$"     "0xe02ff0e400ad090Ac0300d00a0008ba0"
2131"^([a-zA-Z0-9@*#]{8,15})$"   G "<0>@12X*567</0>"
2132"^([a-zA-Z0-9@*#]{8,15})$"   G "<0>1#Zv96g@*Yfasd4</0>"
2133"^([a-zA-Z0-9@*#]{8,15})$"   G "<0>#67jhgt@erd</0>"
2134"^([a-zA-Z0-9@*#]{8,15})$"     "$12X*567"
2135"^([a-zA-Z0-9@*#]{8,15})$"     "1#Zv_96"
2136"^([a-zA-Z0-9@*#]{8,15})$"     "+678jhgt@erd"
2137'(("|\u0027)[a-z0-9\/\.\?\=\&]*(\.htm|\.asp|\.php|\.jsp)[a-z0-9\/\.\?\=\&]*("|\u0027))|(href=*?[a-z0-9\/\.\?\=\&"\u0027]*)'   G '<0>href="produktsida.asp?kategori2=218"</0>'
2138'(("|\u0027)[a-z0-9\/\.\?\=\&]*(\.htm|\.asp|\.php|\.jsp)[a-z0-9\/\.\?\=\&]*("|\u0027))|(href=*?[a-z0-9\/\.\?\=\&"\u0027]*)'   G '<0>href="NuclearTesting.htm"</0>'
2139'(("|\u0027)[a-z0-9\/\.\?\=\&]*(\.htm|\.asp|\.php|\.jsp)[a-z0-9\/\.\?\=\&]*("|\u0027))|(href=*?[a-z0-9\/\.\?\=\&"\u0027]*)'     'U Suck'
2140"^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$"   G "<0>05-01-2002</0>"
2141"^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$"   G "<0>29-02-2004</0>"
2142"^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$"   G "<0>31-12-2002</0>"
2143"^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$"     "1-1-02"
2144"^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$"     "29-02-2002"
2145"^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$"     "31-11-2002"
2146"^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$"   G "<0>123456.123456</0>"
2147"^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$"   G "<0>123456,123456</0>"
2148"^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$"   G "<0>123456</0>"
2149"^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$"     "123a.123"
2150"^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$"     "123a,123"
2151"^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$"     "a"
2152"^(ac|AC|al|AL|am|AM|ap|AP|ba|BA|ce|CE|df|DF|es|ES|go|GO|ma|MA|mg|MG|ms|MS|mt|MT|pa|PA|pb|PB|pe|PE|pi|PI|pr|PR|rj|RJ|rn|RN|ro|RO|rr|RR|rs|RS|sc|SC|se|SE|sp|SP|to|TO)$"   G "<0>AC</0>"
2153"^(ac|AC|al|AL|am|AM|ap|AP|ba|BA|ce|CE|df|DF|es|ES|go|GO|ma|MA|mg|MG|ms|MS|mt|MT|pa|PA|pb|PB|pe|PE|pi|PI|pr|PR|rj|RJ|rn|RN|ro|RO|rr|RR|rs|RS|sc|SC|se|SE|sp|SP|to|TO)$"   G "<0>RJ</0>"
2154"^(ac|AC|al|AL|am|AM|ap|AP|ba|BA|ce|CE|df|DF|es|ES|go|GO|ma|MA|mg|MG|ms|MS|mt|MT|pa|PA|pb|PB|pe|PE|pi|PI|pr|PR|rj|RJ|rn|RN|ro|RO|rr|RR|rs|RS|sc|SC|se|SE|sp|SP|to|TO)$"   G "<0>SP</0>"
2155"^(ac|AC|al|AL|am|AM|ap|AP|ba|BA|ce|CE|df|DF|es|ES|go|GO|ma|MA|mg|MG|ms|MS|mt|MT|pa|PA|pb|PB|pe|PE|pi|PI|pr|PR|rj|RJ|rn|RN|ro|RO|rr|RR|rs|RS|sc|SC|se|SE|sp|SP|to|TO)$"     "XX"
2156"^(ac|AC|al|AL|am|AM|ap|AP|ba|BA|ce|CE|df|DF|es|ES|go|GO|ma|MA|mg|MG|ms|MS|mt|MT|pa|PA|pb|PB|pe|PE|pi|PI|pr|PR|rj|RJ|rn|RN|ro|RO|rr|RR|rs|RS|sc|SC|se|SE|sp|SP|to|TO)$"     "AB"
2157"^(ac|AC|al|AL|am|AM|ap|AP|ba|BA|ce|CE|df|DF|es|ES|go|GO|ma|MA|mg|MG|ms|MS|mt|MT|pa|PA|pb|PB|pe|PE|pi|PI|pr|PR|rj|RJ|rn|RN|ro|RO|rr|RR|rs|RS|sc|SC|se|SE|sp|SP|to|TO)$"     "HJ"
2158"^[+]?\d*$"   G "<0>0123456789</0>"
2159"^[+]?\d*$"   G "<0>1234</0>"
2160"^[+]?\d*$"   G "<0>1</0>"
2161"^[+]?\d*$"     "1.0?&"
2162"^[+]?\d*$"     "a1"
2163"^[+]?\d*$"     "2a-"
2164#/<[aA][ ]{0,}([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[    \f]){0,}>((<(([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[    \f]){0,})>([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[  \f]){0,})|(([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[	\f]){0,})){1,}/    G "<0><a href='javascript:functionA();'><i>this text is italicized</i></a></0>"  #TODO:  Need infinite loop breaking
2165#/<[aA][ ]{0,}([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[    \f]){0,}>((<(([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[    \f]){0,})>([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[  \f]){0,})|(([a-zA-Z0-9"'_,.:;!?@$\&()%=\u002f ]|[\-]|[	\f]){0,})){1,}/     "<A href='#'><P</A></P>"    #TODO:  need infinite loop breaking.
2166"^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$"   G "<0>0:00</0>"
2167"^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$"   G "<0>23:00</0>"
2168"^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$"   G "<0>00:59</0>"
2169"^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$"     "0:0"
2170"^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$"     "24:00"
2171"^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$"     "00:60"
2172"^((0[1-9])|(1[0-2]))\/(\d{2})$"   G "<0>11/03</0>"
2173"^((0[1-9])|(1[0-2]))\/(\d{2})$"   G "<0>01/04</0>"
2174"^((0[1-9])|(1[0-2]))\/(\d{2})$"     "13/03"
2175"^((0[1-9])|(1[0-2]))\/(\d{2})$"     "10/2003"
2176"<script[^>]*>[\w|\t|\r|\W]*</script>"   G '<0><script language=javascript>document.write("one");</script></0>'
2177"<script[^>]*>[\w|\t|\r|\W]*</script>"     "--"
2178"<script[^>]*>[\w|\t|\r|\W]*</script>"     "A-Z][a-z]+"
2179#"<script[^>]*>[\w|\t|\r|\W]*</script>"   G "<0>strFirstName</0>"   # Test Case damaged?
2180#"<script[^>]*>[\w|\t|\r|\W]*</script>"   G "<0>intAgeInYears</0>"   # Test Case damaged?
2181#"<script[^>]*>[\w|\t|\r|\W]*</script>"   G "<0>Where the Wild Things Are</0>"   #  Test Case damaged?
2182"<script[^>]*>[\w|\t|\r|\W]*</script>"     "123"
2183"<script[^>]*>[\w|\t|\r|\W]*</script>"     "abc"
2184"<script[^>]*>[\w|\t|\r|\W]*</script>"     "this has no caps in it"
2185"(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)"   G "<0>-0.050</0>"
2186"(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)"   G "<0>-5.000</0>"
2187"(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)"   G "<0>-5</0>"
2188"(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)"     "0"
2189"(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)"     "0.0"
2190"(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)"     ".0"
2191"^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1]))$|^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"   G "<0>2002/02/03</0>"
2192"^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1]))$|^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"   G "<0>2002/02/03 12:12:18</0>"
2193"^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1]))$|^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"     "2002/02/36"
2194"^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1]))$|^([2][0]\d{2}\/([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$"     "02/03/2002"
2195"^(\d|,)*\.?\d*$"   G "<0>1,000</0>"
2196"^(\d|,)*\.?\d*$"   G "<0>3,000.05</0>"
2197"^(\d|,)*\.?\d*$"   G "<0>5,000,000</0>"
2198"^(\d|,)*\.?\d*$"     "abc"
2199"^(\d|,)*\.?\d*$"     "$100,000"
2200"^(\d|,)*\.?\d*$"     "Forty"
2201"^\d$"   G "<0>1</0>"
2202"^\d$"   G "<0>2</0>"
2203"^\d$"   G "<0>3</0>"
2204"^\d$"     "a"
2205"^\d$"     "324"
2206"^\d$"     "num"
2207"^[0-9]+$"   G "<0>1234567890</0>"
2208"^[0-9]+$"   G "<0>1234567890</0>"
2209"^[0-9]+$"   G "<0>1234567890</0>"
2210"^[0-9]+$"     "http://none"
2211"^[0-9]+$"     "http://none"
2212"^[0-9]+$"     "http://none"
2213"^.{4,8}$"   G "<0>asdf</0>"
2214"^.{4,8}$"   G "<0>1234</0>"
2215"^.{4,8}$"   G "<0>asdf1234</0>"
2216"^.{4,8}$"     "asd"
2217"^.{4,8}$"     "123"
2218"^.{4,8}$"     "asdfe12345"
2219"^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$"   G "<0>a@a.com</0>"
2220"^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$"   G "<0>a@a.com.au</0>"
2221"^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$"   G "<0>a@a.au</0>"
2222"^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$"     "word"
2223"^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$"     "word@"
2224"^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$"     "@word"
2225"^\d{5}-\d{4}$"   G "<0>22222-3333</0>"
2226"^\d{5}-\d{4}$"   G "<0>34545-2367</0>"
2227"^\d{5}-\d{4}$"   G "<0>56334-2343</0>"
2228"^\d{5}-\d{4}$"     "123456789"
2229"^\d{5}-\d{4}$"     "A3B 4C5"
2230"^\d{5}-\d{4}$"     "55335"
2231"(a|b|c).(a.b)*.b+.c"   G "<0>autbfc</0>"
2232"(a|b|c).(a.b)*.b+.c"     "attc"
2233'"((\\")|[^"(\\")])+"'   G '<0>"test"</0>'
2234'"((\\")|[^"(\\")])+"'   G '<0>"escape\"quote"</0>'
2235'"((\\")|[^"(\\")])+"'   G '<0>"\\""</0>'
2236'"((\\")|[^"(\\")])+"'     "test"
2237'"((\\")|[^"(\\")])+"'     '"test'
2238'"((\\")|[^"(\\")])+"'     '""test\\"'
2239"((0[1-9])|(1[02]))/\d{2}"   G "<0>01/00</0>"
2240"((0[1-9])|(1[02]))/\d{2}"   G "<0>12/99</0>"
2241"((0[1-9])|(1[02]))/\d{2}"     "13/00"
2242"((0[1-9])|(1[02]))/\d{2}"     "12/AS"
2243"^[a-zA-Z]$"   G "<0>a</0>"
2244"^[a-zA-Z]$"   G "<0>B</0>"
2245"^[a-zA-Z]$"   G "<0>c</0>"
2246"^[a-zA-Z]$"     "0"
2247"^[a-zA-Z]$"     "&"
2248"^[a-zA-Z]$"     "AbC"
2249"^[a-zA-Z]+$"   G "<0>abc</0>"
2250"^[a-zA-Z]+$"   G "<0>ABC</0>"
2251"^[a-zA-Z]+$"   G "<0>aBcDeF</0>"
2252"^[a-zA-Z]+$"     "abc123"
2253"^[a-zA-Z]+$"     "mr."
2254"^[a-zA-Z]+$"     "a word"
2255"^\s*[a-zA-Z,\p{Zs}]+\s*$"   G "<0>Smith, Ed</0>"
2256"^\s*[a-zA-Z,\p{Zs}]+\s*$"   G "<0>Ed Smith</0>"
2257"^\s*[a-zA-Z,\p{Zs}]+\s*$"   G "<0>aBcDeFgH</0>"
2258"^\s*[a-zA-Z,\p{Zs}]+\s*$"     "a123"
2259"^\s*[a-zA-Z,\p{Zs}]+\s*$"     "AB5"
2260"^\s*[a-zA-Z,\p{Zs}]+\s*$"     "Mr. Ed"
2261"(\w+?@\w+?\u002E.+)"   G "<0>bob@vsnl.com</0>"
2262"(\w+?@\w+?\u002E.+)"     "[AABB]"
2263"^\d+$"   G "<0>123</0>"
2264"^\d+$"   G "<0>10</0>"
2265"^\d+$"   G "<0>54</0>"
2266"^\d+$"     "-54"
2267"^\d+$"     "54.234"
2268"^\d+$"     "abc"
2269"^(\+|-)?\d+$"   G "<0>-34</0>"
2270"^(\+|-)?\d+$"   G "<0>34</0>"
2271"^(\+|-)?\d+$"   G "<0>+5</0>"
2272"^(\+|-)?\d+$"     "abc"
2273"^(\+|-)?\d+$"     "3.1415"
2274"^(\+|-)?\d+$"     "-5.3"
2275"foo"   G "<0>foo</0>"
2276"foo"     "bar"
2277"^[1-5]$"   G "<0>1</0>"
2278"^[1-5]$"   G "<0>3</0>"
2279"^[1-5]$"   G "<0>4</0>"
2280"^[1-5]$"     "6"
2281"^[1-5]$"     "23"
2282"^[1-5]$"     "a"
2283"^[12345]$"   G "<0>1</0>"
2284"^[12345]$"   G "<0>2</0>"
2285"^[12345]$"   G "<0>4</0>"
2286"^[12345]$"     "6"
2287"^[12345]$"     "-1"
2288"^[12345]$"     "abc"
2289"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"   G "<0>joe@aol.com</0>"
2290"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"   G "<0>joe@wrox.co.uk</0>"
2291"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"   G "<0>joe@domain.info</0>"
2292"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"     "a@b"
2293"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"     "notanemail"
2294"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"     "joe@@."
2295"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"   G "<0>joe@aol.com</0>"
2296"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"   G "<0>ssmith@aspalliance.com</0>"
2297"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"   G "<0>a@b.cc</0>"
2298"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"     "joe@123aspx.com"
2299"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"     "joe@web.info"
2300"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"     "joe@company.co.uk"
2301"[\w-]+@([\w-]+\.)+[\w-]+"   G "<0>joe@aol.com</0>"
2302"[\w-]+@([\w-]+\.)+[\w-]+"   G "<0>a@b.c</0>"
2303"[\w-]+@([\w-]+\.)+[\w-]+"     "asdf"
2304"[\w-]+@([\w-]+\.)+[\w-]+"     "1234"
2305"\d{4}-?\d{4}-?\d{4}-?\d{4}"   G "<0>1234-1234-1234-1234</0>"
2306"\d{4}-?\d{4}-?\d{4}-?\d{4}"   G "<0>1234123412341234</0>"
2307"\d{4}-?\d{4}-?\d{4}-?\d{4}"     "1234123412345"
2308"^\d{5}$"   G "<0>33333</0>"
2309"^\d{5}$"   G "<0>55555</0>"
2310"^\d{5}$"   G "<0>23445</0>"
2311"^\d{5}$"     "abcd"
2312"^\d{5}$"     "1324"
2313"^\d{5}$"     "as;lkjdf"
2314"(\w+)\s+\1"   G "<0>hubba hubba</0>"
2315"(\w+)\s+\1"   G "<0>mandate dated</0>"
2316"(\w+)\s+\1"   G "<0>an annual</0>"
2317"(\w+)\s+\1"     "may day"
2318"(\w+)\s+\1"     "gogo"
2319"(\w+)\s+\1"     "1212"
2320"^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"   G "<0>3SquareBand.com</0>"
2321"^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"   G "<0>asp.net</0>"
2322"^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"   G "<0>army.mil</0>"
2323"^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"     "$SquareBand.com"
2324"^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"     "asp/dot.net"
2325"^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$"     "army.military"
2326
2327