regextst.txt (189427B)
1 # Copyright (C) 2016 and later: Unicode, Inc. and others. 2 # License & terms of use: http://www.unicode.org/copyright.html 3 # Copyright (c) 2001-2015 International Business Machines 4 # Corporation and others. All Rights Reserved. 5 # 6 # file: 7 # 8 # ICU regular expression test cases. 9 # 10 # format: one test case per line, 11 # <test case> = <pattern> <flags> <match string> [# comment] 12 # <pattern> = "<regular expression pattern>" 13 # <match string> = "<tagged string>" 14 # the quotes on the pattern and match string can be " or ' or / 15 # <tagged string> = text, with the start and end of each 16 # capture group tagged with <n>...</n>. The overall match, 17 # if any, is group 0, as in <0>matched text</0> 18 # A region can be specified with <r>...</r> tags. 19 # Standard ICU unescape will be applied, allowing \u, \U, etc. to appear. 20 # 21 # <flags> = any combination of 22 # i case insensitive match 23 # x free spacing and comments 24 # s dot-matches-all mode 25 # m multi-line mode. 26 # ($ and ^ match at embedded new-lines) 27 # D Unix Lines mode (only recognize 0x0a as new-line) 28 # Q UREGEX_LITERAL flag. Entire pattern is literal string. 29 # v If icu configured without break iteration, this 30 # regex test pattern should not compile. 31 # e set the UREGEX_ERROR_ON_UNKNOWN_ESCAPES flag 32 # d dump the compiled pattern 33 # t trace operation of match engine. 34 # 2-9 a digit between 2 and 9, specifies the number of 35 # times to execute find(). The expected results are 36 # for the last find() in the sequence. 37 # G Only check match / no match. Do not check capture groups. 38 # E Pattern compilation error expected 39 # L Use LookingAt() rather than find() 40 # M Use matches() rather than find(). 41 # 42 # a Use non-Anchoring Bounds. 43 # b Use Transparent Bounds. 44 # The a and b options only make a difference if 45 # a <r>region</r> has been specified in the string. 46 # z|Z hitEnd was expected(z) or not expected (Z). 47 # With neither, hitEnd is not checked. 48 # y|Y Require End expected(y) or not expected (Y). 49 # 50 # White space must be present between the flags and the match string. 51 # 52 53 # Look-ahead expressions 54 # 55 "(?!0{5})(\d{5})" "<0><1>00001</1></0>zzzz" 56 "(?!0{5})(\d{5})z" "<0><1>00001</1>z</0>zzz" 57 "(?!0{5})(\d{5})(?!y)" "<0><1>00001</1></0>zzzz" 58 "abc(?=def)" "<0>abc</0>def" 59 "(.*)(?=c)" "<0><1>ab</1></0>cdef" 60 61 "(?:.*)(?=c)" "<r>ab</r>cdef" 62 "(?:.*)(?=c)" b "<r><0>ab</0></r>cdef" # transparent bounds 63 "(?:.*)(?=c)" bM "<r><0>ab</0></r>cdef" # transparent bounds 64 65 "(?:.*)(?=(c))" b "<0>ab</0><1>c</1>def" # Capture in look-ahead 66 "(?=(.)\1\1)\1" "abcc<0><1>d</1></0>ddefg" # Backrefs to look-ahead capture 67 68 ".(?!\p{L})" "abc<0>d</0> " # Negated look-ahead 69 ".(?!(\p{L}))" "abc<0>d</0> " # Negated look-ahead, no capture 70 # visible outside of look-ahead 71 "and(?=roid)" L "<0>and</0>roid" 72 "and(?=roid)" M "<r>and</r>roid" 73 "and(?=roid)" bM "<r><0>and</0></r>roid" 74 75 "and(?!roid)" L "<0>and</0>roix" 76 "and(?!roid)" L "android" 77 78 "and(?!roid)" M "<r><0>and</0></r>roid" # Opaque bounds 79 "and(?!roid)" bM "<r>and</r>roid" 80 "and(?!roid)" bM "<r><0>and</0></r>roix" 81 82 # 83 # Negated Lookahead, various regions and region transparency 84 # 85 "abc(?!def)" "<0>abc</0>xyz" 86 "abc(?!def)" "abcdef" 87 "abc(?!def)" "<r><0>abc</0></r>def" 88 "abc(?!def)" b "<r>abc</r>def" 89 "abc(?!def)" b "<r><0>abc</0></r>xyz" 90 91 # 92 # Nested Lookahead / Behind 93 # 94 "one(?=(?:(?!<out>).)*</out>)" "<out><0>one</0> stuff</out>" 95 "one(?=(?:(?!<out>).)*</out>)" "<out>one <out></out>" 96 97 # More nesting lookaround: pattern matches "qq" when not preceded by 'a' and followed by 'z' 98 "(?<!a(?!...z))qq" "<0>qq</0>c" 99 "(?<!a(?!...z))qq" "f<0>qq</0>c" 100 "(?<!a(?!...z))qq" "aqqz" 101 102 # More nested lookaround: match any two chars preceded and followed by an upper case letter. 103 # With gratuitous nesting of look-arounds and capture from the look-arounds. 104 105 "(?=(?<=(\p{Lu})(?=..(\p{Lu})))).." "<1>A</1><0>jk</0><2>B</2>" 106 "(?=(?<=(\p{Lu})(?=..(\p{Lu})))).." "ajkB" 107 "(?=(?<=(\p{Lu})(?=..(\p{Lu})))).." "Ajkb" 108 109 # Nested lookaround cases from bug ICU-20564 110 "(?<=(?<=((?=)){0}+))" "<0></0>abc" 111 "(?<=c(?<=c((?=c)){1}+))" "c<0><1></1></0>cc" 112 113 # 114 # Anchoring Bounds 115 # 116 "^def$" "abc<r><0>def</0></r>ghi" # anchoring (default) bounds 117 "^def$" a "abc<r>def</r>ghi" # non-anchoring bounds 118 "^def" a "<r><0>def</0></r>ghi" # non-anchoring bounds 119 "def$" a "abc<r><0>def</0></r>" # non-anchoring bounds 120 121 "^.*$" m "<0>line 1</0>\n line 2" 122 "^.*$" m2 "line 1\n<0> line 2</0>" 123 "^.*$" m3 "line 1\n line 2" 124 "^.*$" m "li<r><0>ne </0></r>1\n line 2" # anchoring bounds 125 "^.*$" m2 "li<r>ne </r>1\n line 2" # anchoring bounds 126 "^.*$" am "li<r>ne </r>1\n line 2" # non-anchoring bounds 127 "^.*$" am "li\n<r><0>ne </0></r>\n1\n line 2" # non-anchoring bounds 128 129 # 130 # HitEnd and RequireEnd for new-lines just before end-of-input 131 # 132 "xyz$" yz "<0>xyz</0>\n" 133 "xyz$" yz "<0>xyz</0>\x{d}\x{a}" 134 135 "xyz$" myz "<0>xyz</0>" # multi-line mode 136 "xyz$" mYZ "<0>xyz</0>\n" 137 "xyz$" mYZ "<0>xyz</0>\r\n" 138 "xyz$" mYZ "<0>xyz</0>\x{85}abcd" 139 140 "xyz$" Yz "xyz\nx" 141 "xyz$" Yz "xyza" 142 "xyz$" yz "<0>xyz</0>" 143 144 # 145 # HitEnd 146 # 147 "abcd" Lz "a" 148 "abcd" Lz "ab" 149 "abcd" Lz "abc" 150 "abcd" LZ "<0>abcd</0>" 151 "abcd" LZ "<0>abcd</0>e" 152 "abcd" LZ "abcx" 153 "abcd" LZ "abx" 154 "abcd" Lzi "a" 155 "abcd" Lzi "ab" 156 "abcd" Lzi "abc" 157 "abcd" LZi "<0>abcd</0>" 158 "abcd" LZi "<0>abcd</0>e" 159 "abcd" LZi "abcx" 160 "abcd" LZi "abx" 161 162 # 163 # All Unicode line endings recognized. 164 # 0a, 0b, 0c, 0d, 0x85, 0x2028, 0x2029 165 # Multi-line and non-multiline mode take different paths, so repeated tests. 166 # 167 "^def$" mYZ "abc\x{a}<0>def</0>\x{a}ghi" 168 "^def$" mYZ "abc\x{b}<0>def</0>\x{b}ghi" 169 "^def$" mYZ "abc\x{c}<0>def</0>\x{c}ghi" 170 "^def$" mYZ "abc\x{d}<0>def</0>\x{d}ghi" 171 "^def$" mYZ "abc\x{85}<0>def</0>\x{85}ghi" 172 "^def$" mYZ "abc\x{2028}<0>def</0>\x{2028}ghi" 173 "^def$" mYZ "abc\x{2029}<0>def</0>\x{2029}ghi" 174 "^def$" mYZ "abc\r\n<0>def</0>\r\nghi" 175 176 "^def$" yz "<0>def</0>\x{a}" 177 "^def$" yz "<0>def</0>\x{b}" 178 "^def$" yz "<0>def</0>\x{c}" 179 "^def$" yz "<0>def</0>\x{d}" 180 "^def$" yz "<0>def</0>\x{85}" 181 "^def$" yz "<0>def</0>\x{2028}" 182 "^def$" yz "<0>def</0>\x{2029}" 183 "^def$" yz "<0>def</0>\r\n" 184 "^def$" yz "<0>def</0>" 185 186 187 "^def$" "<0>def</0>\x{2028" #TODO: should be an error of some sort. 188 189 # 190 # UNIX_LINES mode 191 # 192 "abc$" D "<0>abc</0>\n" 193 "abc$" D "abc\r" 194 "abc$" D "abc\u0085" 195 "a.b" D "<0>a\rb</0>" 196 "a.b" D "a\nb" 197 "(?d)abc$" "<0>abc</0>\n" 198 "(?d)abc$" "abc\r" 199 "abc$" mD "<0>abc</0>\ndef" 200 "abc$" mD "abc\rdef" 201 202 ".*def" L "abc\r def xyz" # Normal mode, LookingAt() stops at \r 203 ".*def" DL "<0>abc\r def</0> xyz" # Unix Lines mode, \r not line end. 204 ".*def" DL "abc\n def xyz" 205 206 "(?d)a.b" "a\nb" 207 "(?d)a.b" "<0>a\rb</0>" 208 209 "^abc" m "xyz\r<0>abc</0>" 210 "^abc" Dm "xyz\rabc" 211 "^abc" Dm "xyz\n<0>abc</0>" 212 213 214 215 # Capturing parens 216 ".(..)." "<0>a<1>bc</1>d</0>" 217 ".*\A( +hello)" "<0><1> hello</1></0>" 218 "(hello)|(goodbye)" "<0><1>hello</1></0>" 219 "(hello)|(goodbye)" "<0><2>goodbye</2></0>" 220 "abc( +( inner(X?) +) xyz)" "leading cruft <0>abc<1> <2> inner<3></3> </2> xyz</1></0> cruft" 221 "\s*([ixsmdt]*)([:letter:]*)" "<0> <1>d</1><2></2></0> " 222 "(a|b)c*d" "a<0><1>b</1>cd</0>" 223 224 # Non-capturing parens (?: stuff). Groups, but does not capture. 225 "(?:abc)*(tail)" "<0>abcabcabc<1>tail</1></0>" 226 227 # Non-greedy *? quantifier 228 ".*?(abc)" "<0> abx <1>abc</1></0> abc abc abc" 229 ".*(abc)" "<0> abx abc abc abc <1>abc</1></0>" 230 231 "((?:abc |xyz )*?)abc " "<0><1>xyz </1>abc </0>abc abc " 232 "((?:abc |xyz )*)abc " "<0><1>xyz abc abc </1>abc </0>" 233 234 # Non-greedy +? quantifier 235 "(a+?)(a*)" "<0><1>a</1><2>aaaaaaaaaaaa</2></0>" 236 "(a+)(a*)" "<0><1>aaaaaaaaaaaaa</1><2></2></0>" 237 238 "((ab)+?)((ab)*)" "<0><1><2>ab</2></1><3>ababababab<4>ab</4></3></0>" 239 "((ab)+)((ab)*)" "<0><1>abababababab<2>ab</2></1><3></3></0>" 240 241 # Non-greedy ?? quantifier 242 "(ab)(ab)??(ab)??(ab)??(ab)??c" "<0><1>ab</1><4>ab</4><5>ab</5>c</0>" 243 244 # Unicode Properties as naked elements in a pattern 245 "\p{Lu}+" "here we go ... <0>ABC</0> and no more." 246 "(\p{L}+)(\P{L}*?) (\p{Zs}*)" "7999<0><1>letters</1><2>4949%^&*(</2> <3> </3></0>" 247 248 # \w and \W 249 "\w+" " $%^&*( <0>hello123</0>%^&*(" 250 "\W+" "<0> $%^&*( </0>hello123%^&*(" 251 252 # \A match at beginning of input only. 253 ".*\Ahello" "<0>hello</0> hello" 254 ".*hello" "<0>hello hello</0>" 255 ".*\Ahello" "stuff\nhello" # don't match after embedded new-line. 256 257 # \b \B 258 # 259 ".*?\b(.).*" "<0> $%^&*( <1>h</1>ello123%^&*()gxx</0>" 260 "\ba\b" "-<0>a</0>" 261 "\by\b" "xy" 262 "[ \b]" "<0>b</0>" # in a set, \b is a literal b. 263 264 # Finds first chars of up to 5 words 265 "(?:.*?\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" 266 267 "H.*?((?:\B.)+)" "<0>H<1>ello</1></0> " 268 ".*?((?:\B.)+).*?((?:\B.)+).*?((?:\B.)+)" "<0>H<1>ello</1> <2> </2>g<3>oodbye</3></0> " 269 270 "(?:.*?\b(.))?(?:.*?\b(.))?(?:.*?\b(.))?(?:.*?\b(.))?(?:.*?\b(.))?.*" "<0> \u0301 \u0301<1>A</1>\u0302BC\u0303\u0304<2> </2>\u0305 \u0306<3>X</3>\u0307Y\u0308</0>" 271 272 273 # 274 # Unicode word boundary mode 275 # 276 "(?w).*?\b" v "<0></0>hello, world" 277 "(?w).*?(\b.+?\b).*" v "<0><1> </1>123.45 </0>" 278 "(?w).*?(\b\d.*?\b).*" v "<0> <1>123.45</1> </0>" 279 ".*?(\b.+?\b).*" "<0> <1>123</1>.45 </0>" 280 "(?w:.*?(\b\d.*?\b).*)" v "<0> <1>123.45</1> </0>" 281 "(?w:.*?(\b.+?\b).*)" v "<0><1>don't</1> </0>" 282 "(?w:.+?(\b\S.+?\b).*)" v "<0> <1>don't</1> </0>" 283 "(?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>" 284 285 # 286 # Unicode word boundaries with Regions 287 # 288 "(?w).*?\b" v "abc<r><0>def</0></r>ghi" 289 "(?w).*?\b" v2 "abc<r>def<0></0></r>ghi" 290 "(?w).*?\b" v3 "abc<r>def</r>ghi" 291 #"(?w).*?\b" vb "abc<r><0>def</0></r>ghi" # TODO: bug. Ticket 6073 292 #"(?w).*?\b" vb2 "abc<r>def</r>ghi" 293 294 295 296 # . does not match new-lines 297 "." "\u000a\u000d\u0085\u000c\u000b\u2028\u2029<0>X</0>\u000aY" 298 "A." "A\u000a "# no match 299 300 # \d for decimal digits 301 "\d*" "<0>0123456789\u0660\u06F9\u0969\u0A66\u17E2\uFF10\U0001D7CE\U0001D7FF</0>non-digits" 302 "\D+" "<0>non digits</0>" 303 "\D*(\d*)(\D*)" "<0>non-digits<1>3456666</1><2>more non digits</2></0>" 304 305 # \Q...\E quote mode 306 "hel\Qlo, worl\Ed" "<0>hello, world</0>" 307 "\Q$*^^(*)?\A\E(a*)" "<0>$*^^(*)?\\A<1>aaaaaaaaaaaaaaa</1></0>" 308 "[abc\Q]\r\E]+" "<0>aaaccc]]]\\\\\\</0>\r..." # \Q ... \E escape in a [set] 309 310 # UREGEX_LITERAL - entire pattern is a literal string, no escapes recognized. 311 # Note that data strings in test cases still get escape processing. 312 "abc\an\r\E\\abcd\u0031bye" Q "lead<0>abc\\an\\r\\E\\\\abcd\\u0031bye</0>extra" 313 "case insensitive \\ (l)iteral" Qi "stuff!! <0>cAsE InSenSiTiVE \\\\ (L)ITeral</0>" 314 315 # \S and \s space characters 316 "\s+" "not_space<0> \t \r \n \u3000 \u2004 \u2028 \u2029</0>xyz" 317 "(\S+).*?(\S+).*" "<0><1>Not-spaces</1> <2>more-non-spaces</2> </0>" 318 319 # \X consume one Grapheme Cluster. 320 "(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v "<0><1>A</1><2>B</2><3> </3><4>\r\n</4></0>" 321 "(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v "<0><1>A\u0301</1><2>\n</2><3>\u0305</3><4>a\u0302\u0303\u0304</4></0>" 322 "(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v "<0><1>\u1100\u1161\u11a8</1><2>\u115f\u11a2\u11f9</2></0>" 323 "(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v "<0><1>\u1100\uac01</1><2>\uac02</2><3>\uac03\u11b0</3></0>" 324 "(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v "<0><1>\u1100\u1101\uac02\u0301</1><2>\u1100</2></0>" 325 # Regional indicator pairs are grapheme clusters 326 "(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v "<0><1>\U0001f1e6\U0001f1e8</1><2>\U0001f1ea\U0001f1ff</2></0>" 327 # Grapheme Break rule 9b: Prepend x 328 "(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v "<0><1>\U000111C2x</1></0>" 329 330 # Grapheme clusters that straddle a match region. Matching is pinned to the region limits, 331 # giving boundaries inside grapheme clusters 332 "(\X)?(\X)?(\X)?" v "a\u0301<r><0><1>\u0301\u0301</1><2>z\u0302</2></0></r>\u0302\u0302" 333 # Same as previous test case, but without the region limits. 334 "(\X)?(\X)?(\X)?" v "<0><1>a\u0301\u0301\u0301</1><2>z\u0302\u0302\u0302</2></0>" 335 336 # ^ matches only at beginning of line 337 ".*^(Hello)" "<0><1>Hello</1></0> Hello Hello Hello Goodbye" 338 ".*(Hello)" "<0>Hello Hello Hello <1>Hello</1></0> Goodbye" 339 ".*^(Hello)" " Hello Hello Hello Hello Goodbye"# No Match 340 341 # $ matches only at end of line, or before a newline preceding the end of line 342 ".*?(Goodbye)$" zy "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>" 343 ".*?(Goodbye)" ZY "<0>Hello <1>Goodbye</1></0> Goodbye Goodbye" 344 ".*?(Goodbye)$" z "Hello Goodbye> Goodbye Goodbye "# No Match 345 346 ".*?(Goodbye)$" zy "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n" 347 ".*?(Goodbye)$" zy "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n" 348 ".*?(Goodbye)$" zy "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\r\n" 349 ".*?(Goodbye)$" z "Hello Goodbye Goodbye Goodbye\n\n"# No Match 350 351 # \Z matches at end of input, like $ with default flags. 352 ".*?(Goodbye)\Z" zy "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>" 353 ".*?(Goodbye)" ZY "<0>Hello <1>Goodbye</1></0> Goodbye Goodbye" 354 ".*?(Goodbye)\Z" z "Hello Goodbye> Goodbye Goodbye "# No Match 355 "here$" z "here\nthe end"# No Match 356 357 ".*?(Goodbye)\Z" "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n" 358 ".*?(Goodbye)\Z" "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\n" 359 ".*?(Goodbye)\Z" "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>\r\n" 360 ".*?(Goodbye)\Z" "Hello Goodbye Goodbye Goodbye\n\n"# No Match 361 362 # \z matches only at the end of string. 363 # no special treatment of new lines. 364 # no dependencies on flag settings. 365 ".*?(Goodbye)\z" zy "<0>Hello Goodbye Goodbye <1>Goodbye</1></0>" 366 ".*?(Goodbye)\z" z "Hello Goodbye Goodbye Goodbye "# No Match 367 "here$" z "here\nthe end"# No Match 368 369 ".*?(Goodbye)\z" z "Hello Goodbye Goodbye Goodbye\n"# No Match 370 ".*?(Goodbye)\n\z" zy "<0>Hello Goodbye Goodbye <1>Goodbye</1>\n</0>" 371 "abc\z|def" ZY "abc<0>def</0>" 372 373 # (?# comment) doesn't muck up pattern 374 "Hello (?# this is a comment) world" " <0>Hello world</0>..." 375 376 # Check some implementation corner cases base on the way literal strings are compiled. 377 "A" "<0>A</0>" 378 "AB" "<0>AB</0>ABABAB" 379 "AB+" "<0>ABBB</0>A" 380 "AB+" "<0>AB</0>ABAB" 381 "ABC+" "<0>ABC</0>ABC" 382 "ABC+" "<0>ABCCCC</0>ABC" 383 "(?:ABC)+" "<0>ABCABCABC</0>D" 384 "(?:ABC)DEF+" "<0>ABCDEFFF</0>D" 385 "AB\.C\eD\u0666E" "<0>AB.C\u001BD\u0666E</0>F" 386 "ab\Bde" "<0>abde</0>" 387 388 # loop breaking 389 "(a?)*" "<0><1></1></0>xyz" 390 "(a?)+" "<0><1></1></0>xyz" 391 "^(?:a?b?)*$" "a--" 392 "(x?)*xyz" "<0>xx<1></1>xyz</0>" # Sligthtly weird, but correct. The "last" time through (x?), 393 # it matches the empty string. 394 395 # Set expressions, basic operators and escapes work 396 # 397 "[\d]+" "<0>0123</0>abc/.," 398 "[^\d]+" "0123<0>abc/.,</0>" 399 "[\D]+" "0123<0>abc/.,</0>" 400 "[^\D]+" "<0>0123</0>abc/.," 401 402 "[\s]+" "<0> \t</0>abc/.," 403 "[^\s]+" " \t<0>abc/.,</0>" 404 "[\S]+" " \t<0>abc/.,</0>" 405 "[^\S]+" "<0> \t</0>abc/.," 406 407 "[\w]+" "<0>abc123</0> .,;" 408 "[^\w]+" "abc123<0> .,;</0>" 409 "[\W]+" "abc123<0> .,;</0>" 410 "[^\W]+" "<0>abc123</0> .,;" 411 412 "[\z]+" "abc<0>zzz</0>def" # \z has no special meaning 413 "[^\z]+" "<0>abc</0>zzzdef" 414 "[\^]+" "abc<0>^^</0>" 415 "[^\^]+" "<0>abc</0>^^" 416 417 "[\u0041c]+" "<0>AcAc</0>def" 418 "[\U00010002]+" "<0>\ud800\udc02</0>\U00010003" 419 "[^\U00010002]+" "<0>Hello</0>\x{10002}" 420 "[\x61b]+" "<0>abab</0>cde" 421 #"[\x6z]+" "\x06" #TODO: single hex digits should fail 422 "[\x{9}\x{75}\x{6d6}\x{6ba6}\x{6146B}\x{10ffe3}]+" "<0>\u0009\u0075\u06d6\u6ba6\U0006146B\U0010ffe3</0>abc" 423 424 "[\N{LATIN CAPITAL LETTER TONE SIX}ab\N{VARIATION SELECTOR-70} ]+" "x<0> \u0184\U000E0135 ab</0>c" 425 "[\N{LATIN SMALL LETTER C}-\N{LATIN SMALL LETTER F}]+" "ab<0>cdef</0>ghi" 426 427 428 429 # 430 # [set expressions], check the precedence of '-', '&', '--', '&&' 431 # '-' and '&', for compatibility with ICU UnicodeSet, have the same 432 # precedence as the implicit Union between adjacent items. 433 # '--' and '&&', for compatibility with Java, have lower precedence than 434 # the implicit Union operations. '--' and '&&' themselves 435 # have the same precedence, and group left to right. 436 # 437 "[[a-m]-[f-w]p]+" "<0>dep</0>fgwxyz" 438 "[^[a-m]-[f-w]p]+" "dep<0>fgwxyz</0>" 439 440 "[[a-m]--[f-w]p]+" "<0>de</0>pfgwxyz" 441 "[^[a-m]--[f-w]p]+" "de<0>pfgwxyz</0>" 442 443 "[[a-m]&[e-s]w]+" "<0>efmw</0>adnst" 444 "[^[a-m]&[e-s]w]+" "efmw<0>adnst</0>" 445 446 "[[a-m]&[e-s]]+" "<0>efm</0>adnst" 447 448 449 450 # {min,max} iteration qualifier 451 "A{3}BC" "<0>AAABC</0>" 452 453 "(ABC){2,3}AB" "no matchAB" 454 "(ABC){2,3}AB" "ABCAB" 455 "(ABC){2,3}AB" "<0>ABC<1>ABC</1>AB</0>" 456 "(ABC){2,3}AB" "<0>ABCABC<1>ABC</1>AB</0>" 457 "(ABC){2,3}AB" "<0>ABCABC<1>ABC</1>AB</0>CAB" 458 459 "(ABC){2}AB" "ABCAB" 460 "(ABC){2}AB" "<0>ABC<1>ABC</1>AB</0>" 461 "(ABC){2}AB" "<0>ABC<1>ABC</1>AB</0>CAB" 462 "(ABC){2}AB" "<0>ABC<1>ABC</1>AB</0>CABCAB" 463 464 "(ABC){2,}AB" "ABCAB" 465 "(ABC){2,}AB" "<0>ABC<1>ABC</1>AB</0>" 466 "(ABC){2,}AB" "<0>ABCABC<1>ABC</1>AB</0>" 467 "(ABC){2,}AB" "<0>ABCABCABC<1>ABC</1>AB</0>" 468 469 "X{0,0}ABC" "<0>ABC</0>" 470 "X{0,1}ABC" "<0>ABC</0>" 471 472 "(?:Hello(!{1,3}) there){1}" "Hello there" 473 "(?:Hello(!{1,3}) there){1}" "<0>Hello<1>!</1> there</0>" 474 "(?:Hello(!{1,3}) there){1}" "<0>Hello<1>!!</1> there</0>" 475 "(?:Hello(!{1,3}) there){1}" "<0>Hello<1>!!!</1> there</0>" 476 "(?:Hello(!{1,3}) there){1}" "Hello!!!! there" 477 478 # Nongreedy {min,max}? intervals 479 "(ABC){2,3}?AB" "no matchAB" 480 "(ABC){2,3}?AB" "ABCAB" 481 "(ABC){2,3}?AB" "<0>ABC<1>ABC</1>AB</0>" 482 "(ABC){2,3}?AB" "<0>ABC<1>ABC</1>AB</0>CAB" 483 "(ABC){2,3}?AB" "<0>ABC<1>ABC</1>AB</0>CABCAB" 484 "(ABC){2,3}?AX" "<0>ABCABC<1>ABC</1>AX</0>" 485 "(ABC){2,3}?AX" "ABC<0>ABCABC<1>ABC</1>AX</0>" 486 487 # Possessive {min,max}+ intervals 488 "(ABC){2,3}+ABC" "ABCABCABC" 489 "(ABC){1,2}+ABC" "<0>ABC<1>ABC</1>ABC</0>" 490 "(?:(.)\1){2,5}+." "<0>aabbcc<1>d</1>de</0>x" 491 492 493 # Atomic Grouping 494 "(?>.*)abc" "abcabcabc" # no match. .* consumed entire string. 495 "(?>(abc{2,4}?))(c*)" "<0><1>abcc</1><2>ccc</2></0>ddd" 496 "(\.\d\d(?>[1-9]?))\d+" "1.625" 497 "(\.\d\d(?>[1-9]?))\d+" "1<0><1>.625</1>0</0>" 498 499 # Possessive *+ 500 "(abc)*+a" "abcabcabc" 501 "(abc)*+a" "<0>abc<1>abc</1>a</0>b" 502 "(a*b)*+a" "<0><1>aaaab</1>a</0>aaa" 503 504 # Possessive ?+ 505 "c?+ddd" "<0>cddd</0>" 506 "c?+cddd" "cddd" 507 "c?cddd" "<0>cddd</0>" 508 509 # Back Reference 510 "(?:ab(..)cd\1)*" "<0>ab23cd23ab<1>ww</1>cdww</0>abxxcdyy" 511 "ab(?:c|(d?))(\1)" "<0>ab<1><2></2></1></0>c" 512 "ab(?:c|(d?))(\1)" "<0>ab<1>d</1><2>d</2></0>" 513 "ab(?:c|(d?))(\1)" "<0>ab<1></1><2></2></0>e" 514 "ab(?:c|(d?))(\1)" "<0>ab<1></1><2></2></0>" 515 516 # Back References that hit/don't hit end 517 "(abcd) \1" z "abcd abc" 518 "(abcd) \1" Z "<0><1>abcd</1> abcd</0>" 519 "(abcd) \1" Z "<0><1>abcd</1> abcd</0> " 520 521 # Case Insensitive back references that hit/don't hit end. 522 "(abcd) \1" zi "abcd abc" 523 "(abcd) \1" Zi "<0><1>abcd</1> ABCD</0>" 524 "(abcd) \1" Zi "<0><1>abcd</1> ABCD</0> " 525 526 # Back references that hit/don't hit boundary limits. 527 528 "(abcd) \1" z "<r>abcd abc</r>d " 529 "(abcd) \1" Z "<r><0><1>abcd</1> abcd</0></r> " 530 "(abcd) \1" Z "<r><0><1>abcd</1> abcd</0> </r>" 531 532 "(abcd) \1" zi "<r>abcd abc</r>d " 533 "(abcd) \1" Zi "<r><0><1>abcd</1> abcd</0></r> " 534 "(abcd) \1" Zi "<r><0><1>abcd</1> abcd</0> </r>" 535 536 # Back reference that fails match near the end of input without actually hitting the end. 537 "(abcd) \1" ZL "abcd abd" 538 "(abcd) \1" ZLi "abcd abd" 539 540 # Back reference to a zero-length match. They are always a successful match. 541 "ab(x?)cd(\1)ef" "<0>ab<1></1>cd<2></2>ef</0>" 542 "ab(x?)cd(\1)ef" i "<0>ab<1></1>cd<2></2>ef</0>" 543 544 # Back refs to capture groups that didn't participate in the match. 545 "ab(?:(c)|(d))\1" "abde" 546 "ab(?:(c)|(d))\1" "<0>ab<1>c</1>c</0>e" 547 "ab(?:(c)|(d))\1" i "abde" 548 "ab(?:(c)|(d))\1" i "<0>ab<1>c</1>c</0>e" 549 550 # Named back references 551 "(?<one>abcd)\k<one>" "<0><1>abcd</1>abcd</0>" 552 "(no)?(?<one>abcd)\k<one>" "<0><2>abcd</2>abcd</0>" 553 554 "(?<a_1>...)" E " " # backref names are ascii letters & numbers only" 555 "(?<1a>...)" E " " # backref names must begin with a letter" 556 "(?<a>.)(?<a>.)" E " " # Repeated names are illegal. 557 558 559 # Case Insensitive 560 "aBc" i "<0>ABC</0>" 561 "a[^bc]d" i "ABD" 562 '((((((((((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>" 563 564 "(?:(?i)a)b" "<0>Ab</0>" 565 "ab(?i)cd" "<0>abCd</0>" 566 "ab$cd" "abcd" 567 568 "ssl" i "abc<0>ßl</0>xyz" 569 "ssl" i "abc<0>ẞl</0>xyz" 570 "FIND" i "can <0>find</0> ?" # fi ligature, \ufb01 571 "find" i "can <0>FIND</0> ?" 572 "ῧ" i "xxx<0>ῧ</0>xxx" # Composed char (match string) decomposes when case-folded (pattern) 573 574 # White space handling 575 "a b" "ab" 576 "abc " "abc" 577 "abc " "<0>abc </0>" 578 "ab[cd e]z" "<0>ab z</0>" 579 "ab\ c" "<0>ab c</0> " 580 "ab c" "<0>ab c</0> " 581 "ab c" x "ab c " 582 "ab\ c" x "<0>ab c</0> " 583 584 # 585 # Pattern Flags 586 # 587 "(?u)abc" "<0>abc</0>" 588 "(?-u)abc" "<0>abc</0>" 589 590 # 591 # \c escapes (Control-whatever) 592 # 593 "\cA" "<0>\u0001</0>" 594 "\ca" "<0>\u0001</0>" 595 "\c\x" "<0>\u001cx</0>" 596 597 598 #Multi-line mode 599 'b\s^' m "a\nb\n" 600 "(?m)^abc$" "abc \n abc\n<0>abc</0>\nabc" 601 "(?m)^abc$" 2 "abc \n abc\nabc\n<0>abc</0>" 602 "^abc$" 2 "abc \n abc\nabc\nabc" 603 604 # Empty and full range 605 "[\u0000-\U0010ffff]+" "<0>abc\u0000\uffff\U00010000\U0010ffffzz</0>" 606 "[^\u0000-\U0010ffff]" "abc\u0000\uffff\U00010000\U0010ffffzz" 607 "[^a--a]+" "<0>abc\u0000\uffff\U00010000\U0010ffffzz</0>" 608 609 # Free-spacing mode 610 "a b c # this is a comment" x "<0>abc</0> " 611 '^a (?#xxx) (?#yyy) {3}c' x "<0>aaac</0>" 612 "a b c [x y z]" x "abc " 613 "a b c [x y z]" x "a b c " 614 "a b c [x y z]" x "<0>abcx</0>yz" 615 "a b c [x y z]" x "<0>abcy</0>yz" 616 617 # 618 # Look Behind 619 # 620 "(?<=a)b" "a<0>b</0>" 621 "(.*)(?<=[bc])" "<0><1>abc</1></0>d" 622 "(?<=(abc))def" "<1>abc</1><0>def</0>" # lookbehind precedes main match. 623 "(?<=ab|abc)xyz" "abwxyz" # ab matches, but not far enough. 624 "(?<=abc)cde" "abcde" 625 "(?<=abc|ab)cde" "ab<0>cde</0>" 626 "(?<=abc|ab)cde" "abc<0>cde</0>" 627 628 "(?<=bc?c?c?)cd" "ab<0>cd</0>" 629 "(?<=bc?c?c?)cd" "abc<0>cd</0>" 630 "(?<=bc?c?c?)cd" "abcc<0>cd</0>" 631 "(?<=bc?c?c?)cd" "abccc<0>cd</0>" 632 "(?<=bc?c?c?)cd" "abcccccd" 633 "(?<=bc?c?c?)c+d" "ab<0>cccccd</0>" 634 635 ".*(?<=: ?)(\w*)" "<0>1:one 2: two 3:<1>three</1></0> " 636 637 # 638 # Named Characters 639 # 640 "a\N{LATIN SMALL LETTER B}c" "<0>abc</0>" 641 "a\N{LATIN SMALL LETTER B}c" i "<0>abc</0>" 642 "a\N{LATIN SMALL LETTER B}c" i "<0>aBc</0>" 643 "a\N{LATIN SMALL LETTER B}c" "aBc" 644 645 "\N{FULL STOP}*" "<0>...</0>abc" 646 647 "$" "abc<0></0>" 648 649 # 650 # Optimizations of .* at end of patterns 651 # 652 "abc.*" "<0>abcdef</0>" 653 "abc.*$" "<0>abcdef</0>" 654 "abc(.*)" "<0>abc<1>def</1></0>" 655 "abc(.*)" "<0>abc<1></1></0>" 656 "abc.*" "<0>abc</0>\ndef" 657 "abc.*" s "<0>abc\ndef</0>" 658 "abc.*$" s "<0>abc\ndef</0>" 659 "abc.*$" "abc\ndef" 660 "abc.*$" m "<0>abc</0>\ndef" 661 "abc.*\Z" m "abc\ndef" 662 "abc.*\Z" sm "<0>abc\ndef</0>" 663 664 "abc*" "<0>abccc</0>d" 665 "abc*$" "<0>abccc</0>" 666 "ab(?:ab[xyz]\s)*" "<0>ababy abx </0>abc" 667 668 "(?:(abc)|a)(?:bc)+" "<0>abc</0>" 669 "(?:(abc)|a)(?:bc)*" "<0><1>abc</1></0>" 670 "^[+\-]?[0-9]*\.?[0-9]*" "<0>123.456</0>" 671 672 "ab.+yz" "<0>abc12345xyz</0>ttt" 673 "ab.+yz" s "<0>abc12345xyz</0>ttt" 674 675 "ab.+yz" "abc123\n45xyzttt" 676 "ab.+yz" s "<0>abc12\n345xyz</0>ttt" 677 678 "ab[0-9]+yz" "---abyz+++" 679 "ab[0-9]+yz" "---<0>ab1yz</0>+++" 680 "ab[0-9]+yz" "---<0>ab12yz</0>+++" 681 "ab[0-9]+yz" "---<0>ab123456yz</0>+++" 682 683 "ab([0-9]+|[A-Z]+)yz" "---abyz+++" 684 "ab([0-9]+|[A-Z]+)yz" "---<0>ab<1>1</1>yz</0>+++" 685 "ab([0-9]+|[A-Z]+)yz" "---<0>ab<1>12</1>yz</0>+++" 686 "ab([0-9]+|[A-Z]+)yz" "---<0>ab<1>A</1>yz</0>+++" 687 "ab([0-9]+|[A-Z]+)yz" "---<0>ab<1>AB</1>yz</0>+++" 688 "ab([0-9]+|[A-Z]+)yz" "---<0>ab<1>ABCDE</1>yz</0>+++" 689 690 # 691 # Hex format \x escaping 692 # 693 "ab\x63" "<0>abc</0>" 694 "ab\x09w" "<0>ab\u0009w</0>" 695 "ab\xabcdc" "<0>ab\u00abcdc</0>" 696 "ab\x{abcd}c" "<0>ab\uabcdc</0>" 697 "ab\x{101234}c" "<0>ab\U00101234c</0>" 698 "abα" "<0>abα</0>" 699 700 # 701 # Octal Escaping. This conforms to Java conventions, not Perl. 702 "\0101\00\03\073\0154\01442" "<0>A\u0000\u0003\u003b\u006c\u0064\u0032</0>" 703 "\0776" "<0>\u003f\u0036</0>" # overflow, the 6 is literal. 704 "\0376xyz" "<0>\u00fexyz</0>" 705 "\08" E "<0>\u00008</0>" 706 "\0" E "x" 707 708 # 709 # \u Surrogate Pairs 710 # 711 "\ud800\udc00" "<0>\U00010000</0>" 712 "\ud800\udc00*" "<0>\U00010000\U00010000\U00010000</0>\U00010001" 713 "\ud800\ud800\udc00" "<0>\ud800\U00010000</0>\U00010000\U00010000\U00010001" 714 "(\ud800)(\udc00)" "\U00010000" 715 "\U00010001+" "<0>\U00010001\U00010001</0>\udc01" 716 717 # 718 # hitEnd with find() 719 # 720 "abc" Z "aa<0>abc</0> abcab" 721 "abc" 2Z "aaabc <0>abc</0>ab" 722 "abc" 3z "aa>abc abcab" 723 724 # 725 # \ escaping 726 # 727 "abc\jkl" "<0>abcjkl</0>" # escape of a non-special letter is just itself. 728 "abc[ \j]kl" "<0>abcjkl</0>" 729 730 # 731 # \R all newline sequences. 732 # 733 "abc\Rxyz" "<0>abc\u000axyz</0>gh" 734 "abc\Rxyz" "<0>abc\u000bxyz</0>gh" 735 "abc\Rxyz" "<0>abc\u000cxyz</0>gh" 736 "abc\Rxyz" "<0>abc\u000dxyz</0>gh" 737 "abc\Rxyz" "<0>abc\u0085xyz</0>gh" 738 "abc\Rxyz" "<0>abc\u2028xyz</0>gh" 739 "abc\Rxyz" "<0>abc\u2029xyz</0>gh" 740 "abc\Rxyz" "<0>abc\u000d\u000axyz</0>gh" 741 742 "abc\R\nxyz" "abc\u000d\u000axyzgh" # \R cannot match only the CR from a CR/LF sequence. 743 "abc\r\nxyz" "<0>abc\u000d\u000axyz</0>gh" 744 745 "abc\Rxyz" "abc\u0009xyz" # Assorted non-matches. 746 "abc\Rxyz" "abc\u000exyz" 747 "abc\Rxyz" "abc\u202axyz" 748 749 # \v \V single character new line sequences. 750 751 "abc\vxyz" "<0>abc\u000axyz</0>gh" 752 "abc\vxyz" "<0>abc\u000bxyz</0>gh" 753 "abc\vxyz" "<0>abc\u000cxyz</0>gh" 754 "abc\vxyz" "<0>abc\u000dxyz</0>gh" 755 "abc\vxyz" "<0>abc\u0085xyz</0>gh" 756 "abc\vxyz" "<0>abc\u2028xyz</0>gh" 757 "abc\vxyz" "<0>abc\u2029xyz</0>gh" 758 "abc\vxyz" "abc\u000d\u000axyzgh" 759 "abc\vxyz" "abc?xyzgh" 760 761 "abc[\v]xyz" "<0>abc\u000axyz</0>gh" 762 "abc[\v]xyz" "<0>abc\u000bxyz</0>gh" 763 "abc[\v]xyz" "<0>abc\u000cxyz</0>gh" 764 "abc[\v]xyz" "<0>abc\u000dxyz</0>gh" 765 "abc[\v]xyz" "<0>abc\u0085xyz</0>gh" 766 "abc[\v]xyz" "<0>abc\u2028xyz</0>gh" 767 "abc[\v]xyz" "<0>abc\u2029xyz</0>gh" 768 "abc[\v]xyz" "abc\u000d\u000axyzgh" 769 "abc[\v]xyz" "abc?xyzgh" 770 771 "abc\Vxyz" "abc\u000axyzgh" 772 "abc\Vxyz" "abc\u000bxyzgh" 773 "abc\Vxyz" "abc\u000cxyzgh" 774 "abc\Vxyz" "abc\u000dxyzgh" 775 "abc\Vxyz" "abc\u0085xyzgh" 776 "abc\Vxyz" "abc\u2028xyzgh" 777 "abc\Vxyz" "abc\u2029xyzgh" 778 "abc\Vxyz" "abc\u000d\u000axyzgh" 779 "abc\Vxyz" "<0>abc?xyz</0>gh" 780 781 # \h \H horizontal white space. Defined as gc=space_separator plus ascii tab 782 783 "abc\hxyz" "<0>abc xyz</0>gh" 784 "abc\Hxyz" "abc xyzgh" 785 "abc\hxyz" "<0>abc\u2003xyz</0>gh" 786 "abc\Hxyz" "abc\u2003xyzgh" 787 "abc\hxyz" "<0>abc\u0009xyz</0>gh" 788 "abc\Hxyz" "abc\u0009xyzgh" 789 "abc\hxyz" "abc?xyzgh" 790 "abc\Hxyz" "<0>abc?xyz</0>gh" 791 792 "abc[\h]xyz" "<0>abc xyz</0>gh" 793 "abc[\H]xyz" "abc xyzgh" 794 "abc[\h]xyz" "<0>abc\u2003xyz</0>gh" 795 "abc[\H]xyz" "abc\u2003xyzgh" 796 "abc[\h]xyz" "<0>abc\u0009xyz</0>gh" 797 "abc[\H]xyz" "abc\u0009xyzgh" 798 "abc[\h]xyz" "abc?xyzgh" 799 "abc[\H]xyz" "<0>abc?xyz</0>gh" 800 801 802 # 803 # Bug xxxx 804 # 805 "(?:\-|(\-?\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>" 806 807 808 # 809 # A random, complex, meaningless pattern that should at least compile 810 # 811 "(?![^\<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" 812 813 814 # 815 # Bug 3225 816 817 "1|9" "<0>1</0>" 818 "1|9" "<0>9</0>" 819 "1*|9" "<0>1</0>" 820 "1*|9" "<0></0>9" 821 822 "(?:a|ac)d" "<0>acd</0>" 823 "a|ac" "<0>a</0>c" 824 825 # 826 # Bug 3320 827 # 828 "(a([^ ]+)){0,} (c)" "<0><1>a<2>b</2></1> <3>c</3></0> " 829 "(a([^ ]+))* (c)" "<0><1>a<2>b</2></1> <3>c</3></0> " 830 831 # 832 # Bug 3436 833 # 834 "(.*?) *$" "<0><1>test</1> </0>" 835 836 # 837 # Bug 4034 838 # 839 "\D" "<0>A</0>BC\u00ffDEF" 840 "\d" "ABC\u00ffDEF" 841 "\D" "<0>\u00ff</0>DEF" 842 "\d" "\u00ffDEF" 843 "\D" "123<0>\u00ff</0>DEF" 844 "\D" "<0>\u0100</0>DEF" 845 "\D" "123<0>\u0100</0>DEF" 846 847 # 848 #bug 4024, new line sequence handling 849 # 850 "(?m)^" "<0></0>AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 851 "(?m)^" 2 "AA\u000d\u000a<0></0>BB\u000d\u000aCC\u000d\u000a" 852 "(?m)^" 3 "AA\u000d\u000aBB\u000d\u000a<0></0>CC\u000d\u000a" 853 "(?m)^" 4 "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 854 855 "(?m)$" "AA<0></0>\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 856 "(?m)$" 2 "AA\u000d\u000aBB<0></0>\u000d\u000aCC\u000d\u000a" 857 "(?m)$" 3 "AA\u000d\u000aBB\u000d\u000aCC<0></0>\u000d\u000a" 858 "(?m)$" 4 "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a<0></0>" 859 "(?m)$" 5 "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 860 861 "$" "AA\u000d\u000aBB\u000d\u000aCC<0></0>\u000d\u000a" 862 "$" 2 "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a<0></0>" 863 "$" 3 "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 864 865 "$" "\u000a\u0000a<0></0>\u000a" 866 "$" 2 "\u000a\u0000a\u000a<0></0>" 867 "$" 3 "\u000a\u0000a\u000a" 868 869 "$" "<0></0>" 870 "$" 2 "" 871 872 "$" "<0></0>\u000a" 873 "$" 2 "\u000a<0></0>" 874 "$" 3 "\u000a" 875 876 "^" "<0></0>" 877 "^" 2 "" 878 879 "\Z" "<0></0>" 880 "\Z" 2 "" 881 "\Z" 2 "\u000a<0></0>" 882 "\Z" "<0></0>\u000d\u000a" 883 "\Z" 2 "\u000d\u000a<0></0>" 884 885 886 # No matching ^ at interior new-lines if not in multi-line mode. 887 "^" "<0></0>AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 888 "^" 2 "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 889 890 # 891 # Dot-matches-any mode, and stopping at new-lines if off. 892 # 893 "." "<0>1</0>23\u000aXYZ" 894 "." 2 "1<0>2</0>3\u000aXYZ" 895 "." 3 "12<0>3</0>\u000aXYZ" 896 "." 4 "123\u000a<0>X</0>YZ" # . doesn't match newlines 897 "." 4 "123\u000b<0>X</0>YZ" 898 "." 4 "123\u000c<0>X</0>YZ" 899 "." 4 "123\u000d<0>X</0>YZ" 900 "." 4 "123\u000d\u000a<0>X</0>YZ" 901 "." 4 "123\u0085<0>X</0>YZ" 902 "." 4 "123\u2028<0>X</0>YZ" 903 "." 4 "123\u2029<0>X</0>YZ" 904 "." 4s "123<0>\u000a</0>XYZ" # . matches any 905 "." 4s "123<0>\u000b</0>XYZ" 906 "." 4s "123<0>\u000c</0>XYZ" 907 "." 4s "123<0>\u000d</0>XYZ" 908 "." 4s "123<0>\u000d\u000a</0>XYZ" 909 "." 4s "123<0>\u0085</0>XYZ" 910 "." 4s "123<0>\u2028</0>XYZ" 911 "." 4s "123<0>\u2029</0>XYZ" 912 ".{6}" "123\u000a\u000dXYZ" 913 ".{6}" s "<0>123\u000a\u000dX</0>Y" 914 915 916 # 917 # Ranges 918 # 919 ".*" "abc<r><0>def</0></r>ghi" 920 "a" "aaa<r><0>a</0>aa</r>aaa" 921 "a" 2 "aaa<r>a<0>a</0>a</r>aaa" 922 "a" 3 "aaa<r>aa<0>a</0></r>aaa" 923 "a" 4 "aaa<r>aaa</r>aaa" 924 "a" "aaa<r><0>a</0>aa</r>aaa" 925 926 # 927 # [set] parsing, systematically run through all of the parser states. 928 # 929 # 930 "[def]+" "abc<0>ddeeff</0>ghi" # set-open 931 "[^def]+" "<0>abc</0>defghi" 932 "[:digit:]+" "abc<0>123</0>def" 933 "[:^digit:]+" "<0>abc</0>123def" 934 "[\u005edef]+" "abc<0>de^f</0>ghi" 935 936 "[]]+" "abc<0>]]]</0>[def" # set-open2 937 "[^]]+" "<0>abc</0>]]][def" 938 939 "[:Lu:]+" "abc<0>ABC</0>def" # set-posix 940 "[:Lu]+" "abc<0>uL::Lu</0>" 941 "[:^Lu]+" "abc<0>uL:^:Lu</0>" 942 "[:]+" "abc<0>:::</0>def" 943 "[:whats this:]" E " " 944 "[--]+" dE "-------" 945 946 "[[nested]]+" "xyz[<0>nnetsteed</0>]abc" #set-start 947 "[\x{41}]+" "CB<0>AA</0>ZYX" 948 "[\[\]\\]+" "&*<0>[]\\</0>..." 949 "[*({<]+" "^&<0>{{(<<*</0>)))" 950 951 952 "[-def]+" "abc<0>def-ef-d</0>xyz" # set-start-dash 953 "[abc[--def]]" E " " 954 955 "[x[&def]]+" "abc<0>def&</0>ghi" # set-start-amp 956 "[&& is bad at start]" E " " 957 958 "[abc" E " " # set-after-lit 959 "[def]]" "abcdef" 960 "[def]]" "abcde<0>f]</0>]" 961 962 "[[def][ghi]]+" "abc]<0>defghi</0>[xyz" # set-after-set 963 "[[def]ghi]+" "abc]<0>defghi</0>[xyz" 964 "[[[[[[[[[[[abc]" E " " 965 "[[abc]\p{Lu}]+" "def<0>abcABC</0>xyz" 966 967 "[d-f]+" "abc<0>def</0>ghi" # set-after-range 968 "[d-f[x-z]]+" "abc<0>defxyzzz</0>gw" 969 "[\s\d]+" "abc<0> 123</0>def" 970 "[d-f\d]+" "abc<0>def123</0>ghi" 971 "[d-fr-t]+" "abc<0>defrst</0>uvw" 972 973 "[abc--]" E " " # set-after-op 974 "[[def]&&]" E " " 975 "[-abcd---]+" "<0>abc</0>--" #[-abcd]--[-] 976 "[&abcd&&&ac]+" "b<0>ac&&ca</0>d" #[&abcd]&&[&ac] 977 978 "[[abcd]&[ac]]+" "b<0>acac</0>d" # set-set-amp 979 "[[abcd]&&[ac]]+" "b<0>acac</0>d" 980 "[[abcd]&&ac]+" "b<0>acac</0>d" 981 "[[abcd]&ac]+" "<0>bacacd&&&</0>" 982 983 "[abcd&[ac]]+" "<0>bacacd&&&</0>" #set-lit-amp 984 "[abcd&&[ac]]+" "b<0>acac</0>d" 985 "[abcd&&ac]+" "b<0>acac</0>d" 986 987 "[[abcd]-[ac]]+" "a<0>bdbd</0>c" # set-set-dash 988 "[[abcd]--[ac]]+" "a<0>bdbd</0>c" 989 "[[abcd]--ac]+" "a<0>bdbd</0>c" 990 "[[abcd]-ac]+" "<0>bacacd---</0>" 991 992 "[a-d--[b-c]]+" "b<0>adad</0>c" # set-range-dash 993 "[a-d--b-c]+" "b<0>adad</0>c" 994 "[a-d-[b-c]]+" "<0>bad-adc</0>" 995 "[a-d-b-c]+" "<0>bad-adc</0>" 996 "[\w--[b-c]]+" "b<0>adad</0>c" 997 "[\w--b-c]+" "b<0>adad</0>c" 998 "[\w-[b-c]]+" "<0>bad-adc</0>" 999 "[\w-b-c]+" "<0>bad-adc</0>" 1000 1001 "[a-d&&[b-c]]+" "a<0>bcbc</0>d" # set-range-amp 1002 "[a-d&&b-c]+" "a<0>bcbc</0>d" 1003 "[a-d&[b-c]]+" "<0>abc&bcd</0>" 1004 "[a-d&b-c]+" "<0>abc&bcd</0>" 1005 1006 "[abcd--bc]+" "b<0>adda</0>c" # set-lit-dash 1007 "[abcd--[bc]]+" "b<0>adda</0>c" 1008 "[abcd-[bc]]+" "<0>bad--dac</0>xyz" 1009 "[abcd-]+" "<0>bad--dac</0>xyz" 1010 1011 "[abcd-\s]+" E "xyz<0>abcd --</0>xyz" # set-lit-dash-esc 1012 "[abcd-\N{LATIN SMALL LETTER G}]+" "xyz-<0>abcdefg</0>hij-" 1013 "[bcd-\{]+" "a<0>bcdefyz{</0>|}" 1014 1015 "[\p{Ll}]+" "ABC<0>abc</0>^&*&" # set-escape 1016 "[\P{Ll}]+" "abc<0>ABC^&*&</0>xyz" 1017 "[\N{LATIN SMALL LETTER Q}]+" "mnop<0>qqq</0>rst" 1018 "[\sa]+" "cb<0>a a </0>(*&" 1019 "[\S]+" " <0>hello</0> " 1020 "[\w]+" " <0>hello_world</0>! " 1021 "[\W]+" "a<0> *$%#,</0>hello " 1022 "[\d]+" "abc<0>123</0>def" 1023 "[\D]+" "123<0>abc</0>567" 1024 "[\$\#]+" "123<0>$#$#</0>\\" 1025 1026 # 1027 # Try each of the Java compatibility properties. 1028 # These are checked here, while normal Unicode properties aren't, because 1029 # these Java compatibility properties are implemented directly by regexp, while other 1030 # properties are handled by ICU's Property and UnicodeSet APIs. 1031 # 1032 # These tests are only to verify that the names are recognized and the 1033 # implementation isn't dead. They are not intended to verify that the 1034 # function definitions are 100% correct. 1035 # 1036 "[:InBasic Latin:]+" "ΓΔΕΖΗΘ<0>hello, world.</0>ニヌネノハバパ" 1037 "[:^InBasic Latin:]+" "<0>ΓΔΕΖΗΘ</0>hello, world.ニヌネノハバパ" 1038 "\p{InBasicLatin}+" "ΓΔΕΖΗΘ<0>hello, world.</0>ニヌネノハバパ" 1039 "\P{InBasicLatin}+" "<0>ΓΔΕΖΗΘ</0>hello, world.ニヌネノハバパ" 1040 "\p{InGreek}+" "<0>ΓΔΕΖΗΘ</0>hello, world.ニヌネノハバパ" 1041 "\p{InCombining Marks for Symbols}" "<0>\u20d0</0>" 1042 "\p{Incombiningmarksforsymbols}" "<0>\u20d0</0>" 1043 1044 1045 "\p{javaDefined}+" "\uffff<0>abcd</0>\U00045678" 1046 "\p{javaDigit}+" "abc<0>1234</0>xyz" 1047 "\p{javaIdentifierIgnorable}+" "abc<0>\u0000\u000e\u009f</0>xyz" 1048 "\p{javaISOControl}+" "abc<0>\u0000\u000d\u0083</0>xyz" 1049 "\p{javaJavaIdentifierPart}+" "#@!<0>abc123_$</0>;" 1050 "\p{javaJavaIdentifierStart}+" "123\u0301<0>abc$_</0>%^&" 1051 "\p{javaLetter}+" "123<0>abcDEF</0>&*()(" 1052 "\p{javaLetterOrDigit}+" "$%^&*<0>123abcகஙசஜஞ</0>☺♘♚☔☎♬⚄⚡" 1053 "\p{javaLowerCase}+" "ABC<0>def</0>&^%#:=" 1054 "\p{javaMirrored}+" "ab$%<0>(){}[]</0>xyz" 1055 "\p{javaSpaceChar}+" "abc<0> \u00ao\u2028</0>!@#" 1056 "\p{javaSupplementaryCodePoint}+" "abc\uffff<0>\U00010000\U0010ffff</0>\u0000" 1057 "\p{javaTitleCase}+" "abCE<0>Džῌᾨ</0>123" 1058 "\p{javaUnicodeIdentifierStart}+" "123<0>abcⅣ</0>%^&&*" 1059 "\p{javaUnicodeIdentifierPart}+" "%&&^<0>abc123\u0301\u0002</0>..." 1060 "\p{javaUpperCase}+" "abc<0>ABC</0>123" 1061 "\p{javaValidCodePoint}+" "<0>\u0000abc\ud800 unpaired \udfff |\U0010ffff</0>" 1062 "\p{javaWhitespace}+" "abc\u00a0\u2007\u202f<0> \u0009\u001c\u001f\u2028</0>42" 1063 "\p{all}+" "<0>123\u0000\U0010ffff</0>" 1064 "\P{all}+" "123\u0000\U0010ffff" 1065 1066 # [:word:] is implemented directly by regexp. Not a java compat property, but PCRE and others. 1067 1068 "[:word:]+" ".??$<0>abc123ΓΔΕΖΗ_</0>%%%" 1069 "\P{WORD}+" "<0>.??$</0>abc123ΓΔΕΖΗ_%%%" 1070 1071 # 1072 # Errors on unrecognized ASCII letter escape sequences. 1073 # 1074 "[abc\Y]+" "<0>abcY</0>" 1075 "[abc\Y]+" eE "<0>abcY</0>" 1076 1077 "(?:a|b|c|\Y)+" "<0>abcY</0>" 1078 "(?:a|b|c|\Y)+" eE "<0>abcY</0>" 1079 1080 "\Q\Y\E" e "<0>\\Y</0>" 1081 1082 # 1083 # Reported problem 1084 # 1085 "[a-\w]" E "x" 1086 1087 # 1088 # Bug 4045 1089 # 1090 "A*" "<0>AAAA</0>" 1091 "A*" 2 "AAAA<0></0>" 1092 "A*" 3 "AAAA" 1093 "A*" 4 "AAAA" 1094 "A*" 5 "AAAA" 1095 "A*" 6 "AAAA" 1096 "A*" "<0></0>" 1097 "A*" 2 "" 1098 "A*" 3 "" 1099 "A*" 4 "" 1100 "A*" 5 "" 1101 1102 # 1103 # Bug 4046 1104 # 1105 "(?m)^" "<0></0>AA\u000dBB\u000dCC\u000d" 1106 "(?m)^" 2 "AA\u000d<0></0>BB\u000dCC\u000d" 1107 "(?m)^" 3 "AA\u000dBB\u000d<0></0>CC\u000d" 1108 "(?m)^" 4 "AA\u000dBB\u000dCC\u000d" 1109 "(?m)^" 5 "AA\u000dBB\u000dCC\u000d" 1110 "(?m)^" 6 "AA\u000dBB\u000dCC\u000d" 1111 1112 "(?m)^" "<0></0>AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 1113 "(?m)^" 2 "AA\u000d\u000a<0></0>BB\u000d\u000aCC\u000d\u000a" 1114 "(?m)^" 3 "AA\u000d\u000aBB\u000d\u000a<0></0>CC\u000d\u000a" 1115 "(?m)^" 4 "AA\u000d\u000aBB\u000d\u000aCC\u000d\u000a" 1116 1117 # 1118 # Bug 4059 1119 # 1120 "\w+" "<0>イチロー</0>" 1121 "\b....\b." "<0>イチロー?</0>" 1122 1123 1124 # 1125 # Bug 4058 ICU Unicode Set patterns have an odd feature - 1126 # A $ as the last character before the close bracket means match 1127 # a \uffff, which means off the end of the string in transliterators. 1128 # Didn't make sense for regular expressions, and is now fixed. 1129 # 1130 "[\$](P|C|D);" "<0>$<1>P</1>;</0>" 1131 "[$](P|C|D);" "<0>$<1>P</1>;</0>" 1132 "[$$](P|C|D);" "<0>$<1>P</1>;</0>" 1133 1134 # 1135 # bug 4888 Flag settings lost in some cases. 1136 # 1137 "((a){2})|(#)" is "no" 1138 "((a){2})|(#)" is "<0><1>a<2>a</2></1></0>#" 1139 "((a){2})|(#)" is "a<0><3>#</3></0>" 1140 1141 "((a|b){2})|c" is "<0>c</0>" 1142 "((a|b){2})|c" is "<0>C</0>" 1143 "((a|b){2})|c" s "C" 1144 1145 # 1146 # bug 5617 ZWJ \u200d shouldn't cause word boundaries 1147 # 1148 ".+?\b" "<0> </0>\u0935\u0915\u094D\u200D\u0924\u0947 " 1149 ".+?\b" 2 " <0>\u0935\u0915\u094D\u200D\u0924\u0947</0> " 1150 ".+?\b" 3 " \u0935\u0915\u094D\u200D\u0924\u0947 " 1151 1152 # 1153 # bug 5386 "^.*$" should match empty input 1154 # 1155 "^.*$" "<0></0>" 1156 "^.*$" m "<0></0>" 1157 "^.*$" "<0></0>\n" 1158 "(?s)^.*$" "<0>\n</0>" 1159 1160 # 1161 # bug 5386 Empty pattern and empty input should match. 1162 # 1163 "" "<0></0>abc" 1164 "" "<0></0>" 1165 1166 # 1167 # bug 5386 Range upper and lower bounds can be equal 1168 # 1169 "[a-a]" "<0>a</0>" 1170 1171 # 1172 # bug 5386 $* should not fail, should match empty string. 1173 # 1174 "$*" "<0></0>abc" 1175 1176 # 1177 # bug 5386 \Q ... \E escaping problem 1178 # 1179 "[a-z\Q-$\E]+" "QE<0>abc-def$</0>." 1180 1181 # More reported 5386 Java comaptibility failures 1182 # 1183 "[^]*abb]*" "<0>kkkk</0>" 1184 "\xa" "huh" # Java would like to be warned. 1185 "^.*$" "<0></0>" 1186 1187 # 1188 # bug 5386 Empty left alternation should produce a zero length match. 1189 # 1190 "|a" "<0></0>a" 1191 "$|ab" "<0>ab</0>" 1192 "$|ba" "ab<0></0>" 1193 1194 # 1195 # bug 5386 Java compatibility for set expressions 1196 # 1197 "[a-z&&[cde]]+" "ab<0>cde</0>fg" 1198 1199 # 1200 # bug 6019 matches() needs to backtrack and check for a longer match if the 1201 # first match(es) found don't match the entire input. 1202 # 1203 "a?|b" "<0></0>b" 1204 "a?|b" M "<0>b</0>" 1205 "a?|.*?u|stuff|d" M "<0>stuff</0>" 1206 "a?|.*?(u)|stuff|d" M "<0>stuff<1>u</1></0>" 1207 "a+?" "<0>a</0>aaaaaaaaaaaa" 1208 "a+?" M "<0>aaaaaaaaaaaaa</0>" 1209 1210 # 1211 # Bug 7724. Expression to validate zip codes. 1212 # 1213 "(?!0{5})(\d{5})(?!-?0{4})(-?\d{4})?" "<0><1>94040</1><2>-3344</2></0>" 1214 "(?!0{5})(\d{5})(?!-?0{4})(-?\d{4})?" "94040-0000" 1215 "(?!0{5})(\d{5})(?!-?0{4})(-?\d{4})?" "00000-3344" 1216 1217 # 1218 # Bug 8666. Assertion failure on match, bad operand to JMP_SAV_X opcode. 1219 # 1220 "((.??)+|A)*" "<0><1><2></2></1></0>AAAAABBBBBCCCCCDDDDEEEEE" 1221 1222 # 1223 # Bug 8826. Incorrect results with case insensitive matches. 1224 # 1225 "AS(X)" i "aßx" 1226 "AS.*" i "aßx" # Expansion of sharp s can't split between pattern terms. 1227 "ASßS" i "<0>aßß</0>" # All one literal string, does match. 1228 "ASß{1}S" i "aßß" # Pattern with terms, no match. 1229 "aßx" i "<0>assx</0>" 1230 "aßx" i "<0>ASSX</0>" 1231 "aßx" i "<0>aßx</0>" 1232 "ASS(.)" i "<0>aß<1>x</1></0>" 1233 1234 # Case Insensitive, probe some corner cases. 1235 "ass+" i "aß" # Second 's' in pattern is qualified, can't combine with first. 1236 "as+" i "aß" 1237 "aßs" i "as" # Can't match half of a ß 1238 "aß+" i "<0>assssssss</0>s" 1239 "aß+" i "<0>assßSssSSS</0>s" 1240 "a(ß?)+" i "<0>assssssss<1></1></0>s" 1241 "a(ß?)+" i "<0>a<1></1></0>zzzzzzzzs" 1242 1243 "\U00010400" i "<0>\U00010428</0>" # case folded supplemental code point. 1244 1245 "sstuff" i "<0>ßtuff</0>" # exercise optimizations on what chars can start a match. 1246 "sstuff" i "s<0>ßtuff</0>" # exercise optimizations on what chars can start a match. 1247 "ßtuff" i "s<0>sstuff</0>" 1248 "ßtuff" i "s<0>Sstuff</0>" 1249 1250 "a(..)\1" i "<0>A<1>bc</1>BC</0>def" 1251 "(ß)\1" i "aa<0><1>ss</1>ß</0>zz" # Case insensitive back reference 1252 "..(.)\1" i "<0>aa<1>ß</1>ss</0>" 1253 "ab(..)\1" i "xx<0>ab<1>ss</1>ß</0>ss" 1254 1255 " (ss) ((\1.*)|(.*))" i "<0> <1>ss</1> <2><4>sß</4></2></0>" # The back reference 'ss' must not match in 'sß' 1256 1257 # Bug 9057 1258 # \u200c and \u200d should be word characters. 1259 # 1260 "\w+" " <0>abc\u200cdef\u200dghi</0> " 1261 "\w+" i " <0>abc\u200cdef\u200dghi</0> " 1262 "[\w]+" " <0>abc\u200cdef\u200dghi</0> " 1263 "[\w]+" i " <0>abc\u200cdef\u200dghi</0> " 1264 1265 # Bug 9283 1266 # uregex_open fails for look-behind assertion + case-insensitive 1267 1268 "(ab)?(?<=ab)cd|ef" i "<0><1>ab</1>cd</0>" 1269 1270 # Bug 9719 Loop breaking on (zero length match){3,} (unlimited upper bound). 1271 # 1272 1273 "(?:abc){1,}abc" "<0>abcabcabcabcabc</0>" 1274 "(?:2*){2,}?a2\z" "<0>2a2</0>" 1275 "(?:2*){2,}?a2\z" "2a3" 1276 "(?:x?+){3,}+yz" "w<0>yz</0>" 1277 "(2*){2,}?a2\\z" "2a3" 1278 "(2*){2,}?a2\\z" "<0>2<1></1>a2\\z</0>" 1279 "(2*){2,}?a2\z" "<0>2<1></1>a2</0>" 1280 1281 1282 # Bug 10024 1283 # Incorrect (unbounded) longest match length with {1, 20} style quantifiers. 1284 # Unbounded match is disallowed in look-behind expressions. 1285 # Max match length is used to limit where to check for look-behind matches. 1286 1287 "(?<=a{1,5})bc" "aaaa<0>bc</0>def" 1288 "(?<=(?:aa){3,20})bc" "aaaaaa<0>bc</0>def" 1289 "(?<!abc {1,100}|def {1,100}|ghi {1,100})jkl" "def jkl" 1290 "(?<!abc {1,100}|def {1,100}|ghi {1,100})jkl" "rst <0>jkl</0>" 1291 "(?<=a{11})bc" "aaaaaaaaaaa<0>bc</0>" 1292 "(?<=a{11})bc" "aaaaaaaaaabc" 1293 "(?<=a{1,})bc" E "aaaa<0>bc</0>def" # U_REGEX_LOOK_BEHIND_LIMIT error. 1294 "(?<=(?:){11})bc" "<0>bc</0>" # Empty (?:) expression. 1295 1296 # Bug 10835 1297 # Match Start Set not being correctly computed for case insensitive patterns. 1298 # (Test here is to dump the compiled pattern & manually check the start set.) 1299 1300 "(private|secret|confidential|classified|restricted)" i "hmm, <0><1>Classified</1></0> stuff" 1301 "(private|secret|confidential|classified|restricted)" "hmm, Classified stuff" 1302 1303 # Bug 10844 1304 1305 "^([\w\d:]+)$" "<0><1>DiesIst1Beispiel:text</1></0>" 1306 "^([\w\d:]+)$" i "<0><1>DiesIst1Beispiel:text</1></0>" 1307 "^(\w+\d\w+:\w+)$" "<0><1>DiesIst1Beispiel:text</1></0>" 1308 "^(\w+\d\w+:\w+)$" i "<0><1>DiesIst1Beispiel:text</1></0>" 1309 1310 # Bug 11049 1311 # Edge cases in find() when pattern match begins with set of code points 1312 # and the match begins at the end of the string. 1313 1314 "A|B|C" "hello <0>A</0>" 1315 "A|B|C" "hello \U00011234" 1316 "A|B|\U00012345" "hello <0>\U00012345</0>" 1317 "A|B|\U00010000" "hello \ud800" 1318 1319 # Bug 11369 1320 # Incorrect optimization of patterns with a zero length quantifier {0} 1321 1322 "(.|b)(|b){0}\$(?#xxx){3}(?>\D*)" "AAAAABBBBBCCCCCDDDDEEEEE" 1323 "(|b)ab(c)" "<0><1></1>ab<2>c</2></0>" 1324 "(|b){0}a{3}(D*)" "<0>aaa<2></2></0>" 1325 "(|b){0,1}a{3}(D*)" "<0><1></1>aaa<2></2></0>" 1326 "((|b){0})a{3}(D*)" "<0><1></1>aaa<3></3></0>" 1327 1328 # Bug 11370 1329 # Max match length computation of look-behind expression gives result that is too big to fit in the 1330 # in the 24 bit operand portion of the compiled code. Expressions should fail to compile 1331 # (Look-behind match length must be bounded. This case is treated as unbounded, an error.) 1332 1333 "(?<!(0123456789a){10000000})x" E "no match" 1334 "(?<!\\ubeaf(\\ubeaf{11000}){11000})" E "no match" 1335 1336 # Bug 11374 Bad integer overflow check in number conversion. 1337 # 4294967300 converts to 4 with 32 bit overflow. 1338 1339 "x{4294967300}" E "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 1340 "x{0,4294967300}" E "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 1341 1342 # Bug 11373 1343 # 1344 # Overflow checking in max match length computation for loops. 1345 # Value here is 10 * 100000 * 3000 = 3E9, overflowing a 32 bit signed value. 1346 # Before fixing, this case gave an assertion failure. 1347 1348 "(?<=((0123456789){100000}){3000})abc" E "abc" 1349 1350 # Bug 11507 Capture of an unpaired surrogate shouldn't allow a back reference to 1351 # match half of a surrogate pair, but only another unpaired surrogate. 1352 # 1353 "pre(.)post\1" "pre\ud800post\ud800\udc00" 1354 "pre(.)post\1" "<0>pre<1>\ud800</1>post\ud800</0> fin" 1355 "pre(.)post\1" i "pre\ud800post\ud800\udc00" # case insensiteve backrefs take a different code path 1356 "pre(.)post\1" i "<0>pre<1>\ud800</1>post\ud800</0> fin" 1357 1358 # Bug 11554 1359 # 1360 # Maximum match length computation was assuming UTF-16. 1361 # Used in look-behind matches to constrain how far back to look. 1362 1363 "(?<=a\x{100000})spam" "***a\x{100000}<0>spam</0>**" 1364 "(?<=aą)spam" "**aą<0>spam</0>**" 1365 "(?<=ąabc)spam" "**ąabc<0>spam</0>**" 1366 1367 "(?<=a\x{100000})spam" "***a\x{100001}spam**" 1368 "(?<=aą)spam" "**bąspam**" 1369 "(?<=ąabc)spam" "**ąabxspam**" 1370 1371 # with negative look-behind 1372 1373 "(?<!a\x{100000})spam" "***a\x{100000}spam**" 1374 "(?<!aą)spam" "**aąspam**" 1375 "(?<!ąabc)spam" "**ąabcspam**" 1376 1377 "(?<!a\x{100000})spam" "***a\x{100001}<0>spam</0>**" 1378 "(?<!aą)spam" "**bą<0>spam</0>**" 1379 "(?<!ąabc)spam" "**ąabx<0>spam</0>**" 1380 1381 # Bug #12930 1382 # 1383 # Minimum Match Length computation, int32_t overflow on an empty set in the pattern. 1384 # The empty set, with no match possible, has a min match length of INT32_MAX. 1385 # Was incremented subsequently. Caused assertion failure on pattern compile. 1386 1387 "[^\u0000-\U0010ffff]bc?" "bc no match" 1388 "[^\u0000-\U0010ffff]?bc?" "<0>bc</0> has a match" 1389 1390 # Bug #12160 Hit End behavior after find fails to find. 1391 # To match Java, should be true if find fails to find. 1392 # 1393 "abc" Z "<0>abc</0> abc abc xyz" 1394 "abc" Z2 "abc <0>abc</0> abc xyz" 1395 "abc" Z3 "abc abc <0>abc</0> xyz" 1396 "abc" z4 "abc abc abc xyz" 1397 1398 # Bug #13844 Verify that non-standard Java property names are recognized. 1399 "[\p{IsAlphabetic}]" " <0>A</0>" 1400 "[\P{IsAlphabetic}]" "A<0> </0>" 1401 "[\p{IsIdeographic}]" "A<0>〆</0>" 1402 "[\P{IsIdeographic}]" "〆<0>A</0>" 1403 "[\p{IsLetter}]" " <0>A</0>" 1404 "[\P{IsLetter}]" "A<0> </0>" 1405 "[\p{Letter}]" " <0>A</0>" 1406 "[\p{IsLowercase}]" "A<0>a</0>" 1407 "[\P{IsLowercase}]" "a<0>A</0>" 1408 "[\p{IsUppercase}]" "a<0>A</0>" 1409 "[\P{IsUppercase}]" "A<0>a</0>" 1410 "[\p{IsTitlecase}]" "D<0>Dz</0>" 1411 "[\P{IsTitlecase}]" "Dz<0>D</0>" 1412 "[\p{IsPunctuation}]" " <0>&</0>" 1413 "[\P{IsPunctuation}]" "&<0> </0>" 1414 "[\p{IsControl}]" " <0>\x{82}</0>" 1415 "[\P{IsControl}]" "\x{82}<0> </0>" 1416 "[\p{IsWhite_Space}]" "x<0> </0>" 1417 "[\P{IsWhite_Space}]" " <0>x</0>" 1418 "[\p{IsDigit}]" " <0>4</0>" 1419 "[\P{IsDigit}]" "4<0> </0>" 1420 "[\p{IsHex_Digit}]" " <0>F</0>" 1421 "[\P{IsHex_Digit}]" "F<0> </0>" 1422 "[\p{IsJoin_Control}]" " <0>\x{200d}</0>" 1423 "[\P{IsJoin_Control}]" "\x{200d}<0> </0>" 1424 "[\p{IsNoncharacter_Code_Point}]" "A<0>\x{5fffe}</0>" 1425 "[\p{IsAssigned}]" "\x{10ffff}<0>a</0>" 1426 "[\P{IsAssigned}]" "a<0>\x{10ffff}</0>" 1427 1428 "[\p{InBasic Latin}]" "〆<0>A</0>" 1429 "[\p{InBasicLatin}]" "〆<0>A</0>" 1430 "[\p{InBasic-Latin}]" "〆<0>A</0>" # ICU accepts '-'; Java does not. 1431 "[\p{InBasic_Latin}]" "〆<0>A</0>" 1432 "[\p{Inbasiclatin}]" "〆<0>A</0>" 1433 "[\p{inbasiclatin}]" E "〆<0>A</0>" # "In" must be cased as shown. Property name part is case insensitive. 1434 "[\p{InCombining_Marks_for_Symbols}]" "a<0>\x{20DD}</0>" # COMBINING ENCLOSING CIRCLE 1435 1436 "[\p{all}]*" "<0>\x{00}abc\x{10ffff}</0>" 1437 "[\p{javaBadProperty}]" E "whatever" 1438 "[\p{IsBadProperty}]" E "whatever" 1439 "[\p{InBadBlock}]" E "whatever" 1440 "[\p{In}]" E "whatever" 1441 "[\p{Is}]" E "whatever" 1442 "[\p{java}]" "x<0>ꦉ</0>" # Note: "java" is a valid script code. 1443 1444 "[\p{javaLowerCase}]+" "A<0>a</0>" 1445 "[\p{javaLowerCase}]+" i "<0>Aa</0>" 1446 "[\P{javaLowerCase}]+" "<0>A</0>a" 1447 "[\P{javaLowerCase}]+" i "Aa" # No Match because case fold of the set happens first, then negation. 1448 # JDK is not case insensitive w named properties, even though 1449 # the insensitive match flag is set. A JDK bug? 1450 1451 "[a-z]+" i "<0>Aa</0>" # Matches JDK behavior. 1452 "[^a-z]+" i "Aa" # (no match) which is JDK behavior. Case fold first, then negation. 1453 1454 # Bug 20385. Assertion failure while compiling a negative look-behind expression consisting of a set with 1455 # no contents. Meaning the [set] can never match. There is no syntax to directly express 1456 # an empty set, so generate it by negating (^) a set of all code points. 1457 # Also check empty sets in other contexts. 1458 1459 "(?<![^[^a]a])" "<0></0>abc" 1460 1461 "(?<![^\u0000-\U0010ffff])" "<0></0>abc" 1462 "x(?<![^\u0000-\U0010ffff])" "<0>x</0>abc" 1463 "x(?<![^\u0000-\U0010ffff]{1,5})" "<0>x</0>abc" 1464 "x(?<![^\u0000-\U0010ffff]{0,5})" "xabc" 1465 1466 "(?<=[^\u0000-\U0010ffff])" "abc" 1467 "(x?<=[^\u0000-\U0010ffff])" "abc" 1468 "x(?<=[^\u0000-\U0010ffff]{1,5})" "xabc" 1469 "x(?<=[^\u0000-\U0010ffff]{0,5})" "<0>x</0>abc" 1470 1471 "[^\u0000-\U0010ffff]" "a" 1472 "[^[^\u0000-\U0010ffff]]" "<0>a</0>" 1473 1474 "This is a string with (?:one |two |three )endings" "<0>This is a string with two endings</0>" 1475 1476 # Bug ICU-20544. Similar to 20385, above. Assertion failure with a negative look-behind assertion containing 1477 # a set with no contents. Look-behind pattern includes more than just the empty set. 1478 1479 "(?<![ⰿ&&m]c)" "<0></0>abc" # note: first 'ⰿ' is \u2c3f, hence empty set. 1480 "(?<![^\u0000-\U0010ffff]c)" "<0></0>abc" 1481 "(?<=[^[^]]†)" "abc" # Problem also exists w positive look-behind 1482 1483 # Bug ICU-20391. Crash in computation of minimum match length with nested look-around patterns. 1484 # 1485 "(?<=(?<=((?=)){0}+)" E "aaa" 1486 "(?<=(?<=((?=)){0}+))" "<0></0>" 1487 "(?<=c(?<=b((?=a)){1}+))" "aaa" 1488 "abc(?=de(?=f))...g" "<0>abcdefg</0>" 1489 "abc(?=de(?=f))...g" "abcdxfg" 1490 1491 # Bug ICU-20618 Assertion failure with nested look-around expressions. 1492 # 1493 "(?<=(?<=b?(?=a)))" "hello, world." 1494 1495 # Bug ICU-20939 1496 # Incorrect word \b boundaries w UTF-8 input and non-ASCII text 1497 # 1498 "(?w)\b" v2 "äää<0></0> äää" 1499 1500 # Bug ICU-21492 Assertion failure with nested look-around expressions. 1501 # 1502 "(?<=(?:(?<=(?:(?<=(?:(?<=)){2})){3})){4}" E "<0></0>" # orig failure from bug report, w mismatched parens. 1503 "(?:(?<=(?:(?<=)){2}))" "<0></0>" # Simplified case, with a valid pattern. 1504 1505 # Random debugging, Temporary 1506 # 1507 1508 # 1509 # Regexps from http://www.regexlib.com 1510 # 1511 "^[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>" 1512 "^[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>" 1513 "^[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>" 1514 "^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$" "G111 1AA" 1515 "^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$" "X10 WW" 1516 "^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$" "DDD 5WW" 1517 #"^[\w\-]+(?:\.[\w\-]+)*@(?:[\w\-]+\.)+[a-zA-Z]{2,7}$" dG "<0>joe.tillis@unit.army.mil</0>" # TODO: \w in pattern 1518 #"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$" G "<0>jack_rabbit@slims.com</0>" # TODO: \w in pattern 1519 #"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$" G "<0>foo99@foo.co.uk</0>" # TODO: \w in pattern 1520 #"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$" "find_the_mistake.@foo.org" # TODO: \w in pattern 1521 #"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$" ".prefix.@some.net" 1522 "^([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>" 1523 "^([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>" 1524 "^([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>" 1525 "^([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" 1526 "^([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" 1527 "^([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" 1528 "^\d{1,2}\/\d{1,2}\/\d{4}$" G "<0>4/1/2001</0>" 1529 "^\d{1,2}\/\d{1,2}\/\d{4}$" G "<0>12/12/2001</0>" 1530 "^\d{1,2}\/\d{1,2}\/\d{4}$" G "<0>55/5/3434</0>" 1531 "^\d{1,2}\/\d{1,2}\/\d{4}$" "1/1/01" 1532 "^\d{1,2}\/\d{1,2}\/\d{4}$" "12 Jan 01" 1533 "^\d{1,2}\/\d{1,2}\/\d{4}$" "1-1-2001" 1534 "^(?:(?:(?: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>" 1535 "^(?:(?:(?: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>" 1536 "^(?:(?:(?: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>" 1537 "^(?:(?:(?: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" 1538 "^(?:(?:(?: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" 1539 "^(?:(?:(?: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" 1540 "^(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>" 1541 "^(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>" 1542 "^(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>" 1543 "^(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" 1544 "^(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" 1545 "^(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" 1546 "(AUX|PRN|NUL|COM\d|LPT\d)+\s*$" G "<0>COM1</0>" 1547 "(AUX|PRN|NUL|COM\d|LPT\d)+\s*$" G "<0>AUX</0>" 1548 "(AUX|PRN|NUL|COM\d|LPT\d)+\s*$" G "<0>LPT1</0>" 1549 "(AUX|PRN|NUL|COM\d|LPT\d)+\s*$" "image.jpg" 1550 "(AUX|PRN|NUL|COM\d|LPT\d)+\s*$" "index.html" 1551 "(AUX|PRN|NUL|COM\d|LPT\d)+\s*$" "readme.txt" 1552 "^(?:(?: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>" 1553 "^(?:(?: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>" 1554 "^(?:(?: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>" 1555 "^(?:(?: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" 1556 "^(?:(?: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" 1557 "^(?:(?: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" 1558 "^(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>" 1559 "^(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>" 1560 "^(user=([a-z0-9]+,)*(([a-z0-9]+){1});)?(group=([a-z0-9]+,)*(([a-z0-9]+){1});)?(level=[0-9]+;)?$" "user=foo" 1561 "^(user=([a-z0-9]+,)*(([a-z0-9]+){1});)?(group=([a-z0-9]+,)*(([a-z0-9]+){1});)?(level=[0-9]+;)?$" "blahh" 1562 "^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$" G "<0>(+44)(0)20-12341234</0>" 1563 "^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$" G "<0>02012341234</0>" 1564 "^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$" G "<0>+44 (0) 1234-1234</0>" 1565 "^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$" "(44+)020-12341234" 1566 "^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$" "12341234(+020)" 1567 "\b(\w+)\s+\1\b" G "<0>Tell the the preacher</0>" 1568 "\b(\w+)\s+\1\b" G "<0>some some</0>" 1569 "\b(\w+)\s+\1\b" G "<0>hubba hubba</0>" 1570 "\b(\w+)\s+\1\b" "once an annual report" 1571 "\b(\w+)\s+\1\b" "mandate dated submissions" 1572 "\b(\w+)\s+\1\b" "Hubba hubba" 1573 "(^\+[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>" 1574 "(^\+[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>" 1575 "(^\+[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>" 1576 "(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)" "+3123525667788999" 1577 "(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)" "3123525667788" 1578 "(^\+[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" 1579 "^[-+]?\d*\.?\d*$" G "<0>123</0>" 1580 "^[-+]?\d*\.?\d*$" G "<0>+3.14159</0>" 1581 "^[-+]?\d*\.?\d*$" G "<0>-3.14159</0>" 1582 "^[-+]?\d*\.?\d*$" "abc" 1583 "^[-+]?\d*\.?\d*$" "3.4.5" 1584 "^[-+]?\d*\.?\d*$" "$99.95" 1585 "^\$?([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>" 1586 "^\$?([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>" 1587 "^\$?([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>" 1588 "^\$?([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" 1589 "^\$?([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" 1590 "^[A-Z]{2}[0-9]{6}[A-DFM]{1}$" G "<0>AB123456D</0>" 1591 "^[A-Z]{2}[0-9]{6}[A-DFM]{1}$" G "<0>AB123456F</0>" 1592 "^[A-Z]{2}[0-9]{6}[A-DFM]{1}$" G "<0>AB123456M</0>" 1593 "^[A-Z]{2}[0-9]{6}[A-DFM]{1}$" "AB123456E" 1594 "^[A-Z]{2}[0-9]{6}[A-DFM]{1}$" "ab123456d" 1595 #"(http|ftp|https):\/\/[\w]+(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?" G "<0>http://regxlib.com/Default.aspx</0>" # TODO: \w in pattern 1596 #"(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 1597 #"(http|ftp|https):\/\/[\w]+(.[\w]+)([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?" "www.yahoo.com" # TODO: \w in pattern 1598 "^[0-9]{4}\s{0,1}[a-zA-Z]{2}$" G "<0>2034AK</0>" 1599 "^[0-9]{4}\s{0,1}[a-zA-Z]{2}$" G "<0>2034 AK</0>" 1600 "^[0-9]{4}\s{0,1}[a-zA-Z]{2}$" G "<0>2034 ak</0>" 1601 "^[0-9]{4}\s{0,1}[a-zA-Z]{2}$" "2034 AK" 1602 "^[0-9]{4}\s{0,1}[a-zA-Z]{2}$" "321321 AKSSAA" 1603 "((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))" G "<0>4/5/91</0>" 1604 "((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))" G "<0>04/5/1991</0>" 1605 "((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))" G "<0>4/05/89</0>" 1606 "((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))" "4/5/1" 1607 #"(^|\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. 1608 "(^|\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>" 1609 "(^|\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>" 1610 "(^|\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" 1611 "(^|\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" 1612 "(^|\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" 1613 "^\d{3}\s?\d{3}$" G "<0>400 099</0>" 1614 "^\d{3}\s?\d{3}$" G "<0>400099</0>" 1615 "^\d{3}\s?\d{3}$" G "<0>400050</0>" 1616 "^\d{3}\s?\d{3}$" "2345678" 1617 "^\d{3}\s?\d{3}$" "12345" 1618 "^\d{3}\s?\d{3}$" "asdf" 1619 "^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$" G "<0>(111) 222-3333</0>" 1620 "^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$" G "<0>1112223333</0>" 1621 "^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$" G "<0>111-222-3333</0>" 1622 "^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$" "11122223333" 1623 "^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$" "11112223333" 1624 "^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$" "11122233333" 1625 "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$" G "<0>#00ccff</0>" 1626 "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$" G "<0>#039</0>" 1627 "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$" G "<0>ffffcc</0>" 1628 "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$" "blue" 1629 "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$" "0x000000" 1630 "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$" "#ff000" 1631 "^([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>" 1632 "^([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>" 1633 "^([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>" 1634 "^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$" "01:23:45:67:89:ab:cd" 1635 "^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$" "01:23:45:67:89:Az" 1636 "^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$" "01:23:45:56:" 1637 "^(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>" 1638 "^(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>" 1639 "^(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>" 1640 "^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$" "www.blah.com" 1641 "^(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!" 1642 "^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+\&%\$#\=~])*$" "ftp://blah_underscore/[nope]" 1643 "^(([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>" 1644 "^(([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>" 1645 "^(([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" 1646 "^(([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" 1647 "^(([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" 1648 "^[0-9](\.[0-9]+)?$" G "<0>1.2345</0>" 1649 "^[0-9](\.[0-9]+)?$" G "<0>0.00001</0>" 1650 "^[0-9](\.[0-9]+)?$" G "<0>7</0>" 1651 "^[0-9](\.[0-9]+)?$" "12.2" 1652 "^[0-9](\.[0-9]+)?$" "1.10.1" 1653 "^[0-9](\.[0-9]+)?$" "15.98" 1654 "^(?:[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>" 1655 "^(?:[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>" 1656 "^(?:[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>" 1657 "^(?:[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" 1658 "^(?:[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" 1659 "^(?:[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" 1660 "^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$" G "<0>123</0>" 1661 "^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$" G "<0>-123.35</0>" 1662 "^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$" G "<0>-123.35e-2</0>" 1663 "^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$" "abc" 1664 "^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$" "123.32e" 1665 "^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$" "123.32.3" 1666 "^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$" G "<0>T.F. Johnson</0>" 1667 "^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$" G "<0>John O'Neil</0>" 1668 "^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$" G "<0>Mary-Kate Johnson</0>" 1669 "^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$" "sam_johnson" 1670 "^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$" "Joe--Bob Jones" 1671 "^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$" "dfjsd0rd" 1672 "^(20|21|22|23|[0-1]\d)[0-5]\d$" G "<0>1200</0>" 1673 "^(20|21|22|23|[0-1]\d)[0-5]\d$" G "<0>1645</0>" 1674 "^(20|21|22|23|[0-1]\d)[0-5]\d$" G "<0>2359</0>" 1675 "^(20|21|22|23|[0-1]\d)[0-5]\d$" "2400" 1676 "^(20|21|22|23|[0-1]\d)[0-5]\d$" "asbc" 1677 "^(20|21|22|23|[0-1]\d)[0-5]\d$" "12:45" 1678 /<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/ G '<0><td background="../img/img.jpg" ></0>' 1679 /<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/ G "<0><img src=img.jpg ></0>" 1680 /<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/ G "<0><img src='img.jpg'></0>" 1681 /<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/ "= img.jpg" 1682 /<[^>]*\n?.*=("|')?(.*\.jpg)("|')?.*\n?[^<]*>/ "img.jpg" 1683 "^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$" G "<0>78754</0>" 1684 "^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$" G "<0>78754-1234</0>" 1685 "^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$" G "<0>G3H 6A3</0>" 1686 "^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$" "78754-12aA" 1687 "^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$" "7875A" 1688 "^(\d{5}-\d{4}|\d{5})$|^([a-zA-Z]\d[a-zA-Z] \d[a-zA-Z]\d)$" "g3h6a3" 1689 #"^([\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 1690 #"^([\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>" 1691 #"^([\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 1692 #"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$" "bob@com" # TODO: \w in pattern 1693 #"^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$" "bob.jones@some.where" # TODO: \w in pattern 1694 #"^([\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 1695 #"^(([-\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 1696 #"^(([-\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 1697 #"^(([-\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 1698 #"^(([-\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 1699 #"^(([-\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 1700 #"^(([-\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 1701 "^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$" G "<0>SW112LE</0>" 1702 "^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$" G "<0>SW11 2LE</0>" 1703 "^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$" G "<0>CR05LE</0>" 1704 "^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$" "12CR0LE" 1705 "^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$" "12CR 0LE" 1706 "^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$" "SWLE05" 1707 "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>" 1708 "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>" 1709 "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>" 1710 "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" 1711 "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" 1712 "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" 1713 "^((?: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>" 1714 "^((?: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>" 1715 "^((?: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>" 1716 "^((?: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" 1717 "^((((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>" 1718 "^((((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>" 1719 "^((((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>" 1720 "^((((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" 1721 "^((((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" 1722 "^((((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" 1723 #"^(?=[^\&])(?:(?<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 1724 #"^(?=[^\&])(?:(?<scheme>[^:/?#]+):)?(?://(?<authority>[^/?#]*))?(?<path>[^?#]*)(?:\?(?<query>[^#]*))?(?:#(?<fragment>.*))?" "&" # out of context, can't work stand-alone 1725 "^[-+]?\d+(\.\d+)?$" G "<0>123</0>" 1726 "^[-+]?\d+(\.\d+)?$" G "<0>-123.45</0>" 1727 "^[-+]?\d+(\.\d+)?$" G "<0>+123.56</0>" 1728 "^[-+]?\d+(\.\d+)?$" "123x" 1729 "^[-+]?\d+(\.\d+)?$" ".123" 1730 "^[-+]?\d+(\.\d+)?$" "-123." 1731 "^(\d{4}[- ]){3}\d{4}|\d{16}$" G "<0>1234-1234-1234-1234</0>" 1732 "^(\d{4}[- ]){3}\d{4}|\d{16}$" G "<0>1234 1234 1234 1234</0>" 1733 "^(\d{4}[- ]){3}\d{4}|\d{16}$" G "<0>1234123412341234</0>" 1734 "^(\d{4}[- ]){3}\d{4}|\d{16}$" "Visa" 1735 "^(\d{4}[- ]){3}\d{4}|\d{16}$" "1234" 1736 "^(\d{4}[- ]){3}\d{4}|\d{16}$" "123-1234-12345" 1737 "^((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>" 1738 "^((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>" 1739 "^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$" G "<0>341111111111111</0>" 1740 "^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$" "4111-111-111-111" 1741 "^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$" "3411-1111-1111-111" 1742 "^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$" "Visa" 1743 "^[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>" 1744 "^[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>" 1745 "^[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" 1746 "^[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}" 1747 "^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$" "AAAAAAAAAAAAAAAAA" 1748 "^[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" 1749 "(^(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>" 1750 "(^(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>" 1751 "(^(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>" 1752 "(^(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" 1753 "(^(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" 1754 "(^(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" 1755 #'\[link="(?<link>((.|\n)*?))"\](?<text>((.|\n)*?))\[\/link\]' G '<0>[link="http://www.yahoo.com"]Yahoo[/link]</0>' #named capture 1756 #'\[link="(?<link>((.|\n)*?))"\](?<text>((.|\n)*?))\[\/link\]' "[link]http://www.yahoo.com[/link]" #named capture 1757 #'\[link="(?<link>((.|\n)*?))"\](?<text>((.|\n)*?))\[\/link\]' "[link=http://www.yahoo.com]Yahoo[/link]" #named capture 1758 "^[a-zA-Z0-9]+$" G "<0>10a</0>" 1759 "^[a-zA-Z0-9]+$" G "<0>ABC</0>" 1760 "^[a-zA-Z0-9]+$" G "<0>A3fg</0>" 1761 "^[a-zA-Z0-9]+$" "45.3" 1762 "^[a-zA-Z0-9]+$" "this or that" 1763 "^[a-zA-Z0-9]+$" "$23" 1764 "((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}" G "<0>(123) 456-7890</0>" 1765 "((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}" G "<0>123-456-7890</0>" 1766 "((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}" "1234567890" 1767 "^[a-zA-Z]\w{3,14}$" G "<0>abcd</0>" 1768 "^[a-zA-Z]\w{3,14}$" G "<0>aBc45DSD_sdf</0>" 1769 "^[a-zA-Z]\w{3,14}$" G "<0>password</0>" 1770 "^[a-zA-Z]\w{3,14}$" "afv" 1771 "^[a-zA-Z]\w{3,14}$" "1234" 1772 "^[a-zA-Z]\w{3,14}$" "reallylongpassword" 1773 "^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$" G "<0>G1 1AA </0>" 1774 "^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$" G "<0>GIR 0AA</0>" 1775 "^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$" G "<0>SW1 1ZZ</0>" 1776 "^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$" "BT01 3RT" 1777 "^[A-Z]{1,2}[1-9][0-9]?[A-Z]? [0-9][A-Z]{2,}|GIR 0AA$" "G111 1AA" 1778 "^0[23489]{1}(\-)?[^0\D]{1}\d{6}$" G "<0>03-6106666</0>" 1779 "^0[23489]{1}(\-)?[^0\D]{1}\d{6}$" G "<0>036106666</0>" 1780 "^0[23489]{1}(\-)?[^0\D]{1}\d{6}$" G "<0>02-5523344</0>" 1781 "^0[23489]{1}(\-)?[^0\D]{1}\d{6}$" "00-6106666" 1782 "^0[23489]{1}(\-)?[^0\D]{1}\d{6}$" "03-0106666" 1783 "^0[23489]{1}(\-)?[^0\D]{1}\d{6}$" "02-55812346" 1784 "^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$" G "<0>050-346634</0>" 1785 "^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$" G "<0>058633633</0>" 1786 "^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$" G "<0>064-228226</0>" 1787 "^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$" "059-336622" 1788 "^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$" "064-022663" 1789 "^0(5[012345678]|6[47]){1}(\-)?[^0\D]{1}\d{5}$" "0545454545" 1790 "^([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>" 1791 "^([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>" 1792 "^([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>" 1793 "^([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" 1794 "^([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" 1795 "^([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" 1796 "@{2}((\S)+)@{2}" G "<0>@@test@@</0>" 1797 "@{2}((\S)+)@{2}" G "<0>@@name@@</0>" 1798 "@{2}((\S)+)@{2}" G "<0>@@2342@@</0>" 1799 "@{2}((\S)+)@{2}" "@test@" 1800 "@{2}((\S)+)@{2}" "@@na me@@" 1801 "@{2}((\S)+)@{2}" "@@ name@@" 1802 "([0-1][0-9]|2[0-3]):[0-5][0-9]" G "<0>00:00</0>" 1803 "([0-1][0-9]|2[0-3]):[0-5][0-9]" G "<0>13:59</0>" 1804 "([0-1][0-9]|2[0-3]):[0-5][0-9]" G "<0>23:59</0>" 1805 "([0-1][0-9]|2[0-3]):[0-5][0-9]" "24:00" 1806 "([0-1][0-9]|2[0-3]):[0-5][0-9]" "23:60" 1807 "^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$" G "<0>23</0>" 1808 "^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$" G "<0>-17.e23</0>" 1809 "^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$" G "<0>+.23e+2</0>" 1810 "^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$" "+.e2" 1811 "^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$" "23.17.5" 1812 "^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$" "10e2.0" 1813 "^([1-zA-Z0-1@.\s ]{1,255})$" G "<0>email@email.com</0>" 1814 "^([1-zA-Z0-1@.\s ]{1,255})$" G "<0>My Name</0>" 1815 "^([1-zA-Z0-1@.\s ]{1,255})$" G "<0>asdf12df</0>" 1816 "^([1-zA-Z0-1@.\s ]{1,255})$" "‘,\*&$<>" 1817 "^([1-zA-Z0-1@.\s ]{1,255})$" "1001' string" 1818 "^((0[1-9])|(1[0-2]))\/(\d{4})$" G "<0>12/2002</0>" 1819 "^((0[1-9])|(1[0-2]))\/(\d{4})$" G "<0>11/1900</0>" 1820 "^((0[1-9])|(1[0-2]))\/(\d{4})$" G "<0>02/1977</0>" 1821 "^((0[1-9])|(1[0-2]))\/(\d{4})$" "1/1977" 1822 "^((0[1-9])|(1[0-2]))\/(\d{4})$" "00/000" 1823 "^((0[1-9])|(1[0-2]))\/(\d{4})$" "15/2002" 1824 "^\(\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>" 1825 "^\(\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>" 1826 "^\(\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>" 1827 "^\(\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" 1828 "^\(\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" 1829 "^\(\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" 1830 "(?:\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>" 1831 "(?:\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>" 1832 "(?:\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>" 1833 "(?:\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" 1834 "(?:\d|I{1,3})?\s?\w{2,}\.?\s*\d{1,}\:\d{1,}-?,?\d{0,2}(?:,\d{0,2}){0,2}" "2nd Samuel 2" 1835 "(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])" G "<0>[IMG]http://bleh.jpg[/IMG]</0>" 1836 "(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])" G "<0>[ImG]bleh[/imG]</0>" 1837 "(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])" G "<0>[img]ftp://login:pass@bleh.gif[/img]</0>" 1838 "(\[[Ii][Mm][Gg]\])(\S+?)(\[\/[Ii][Mm][Gg]\])" '<img src="bleh.jpg">' 1839 "^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$" G "<0>10/03/1979</0>" 1840 "^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$" G "<0>1-1-02</0>" 1841 "^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$" G "<0>01.1.2003</0>" 1842 "^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$" "10/03/197" 1843 "^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$" "01-02-003" 1844 "^([0-9]{1,2})[./-]+([0-9]{1,2})[./-]+([0-9]{2}|[0-9]{4})$" "01 02 03" 1845 #"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$" G "<0>12345</0>" # No Conditionals? 1846 #"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$" G "<0>12345-6789</0>" # No Conditionals? 1847 #"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$" "00000" # No Conditionals? 1848 #"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$" "00000-0000" # No Conditionals? 1849 #"^(?(^00000(|-0000))|(\d{5}(|-\d{4})))$" "a4650-465s" # No Conditionals? 1850 "^((0?[1-9])|((1|2)[0-9])|30|31)$" G "<0>01</0>" 1851 "^((0?[1-9])|((1|2)[0-9])|30|31)$" G "<0>12</0>" 1852 "^((0?[1-9])|((1|2)[0-9])|30|31)$" G "<0>31</0>" 1853 "^((0?[1-9])|((1|2)[0-9])|30|31)$" "123" 1854 "^((0?[1-9])|((1|2)[0-9])|30|31)$" "32" 1855 "^((0?[1-9])|((1|2)[0-9])|30|31)$" "abc" 1856 "^([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>" 1857 "^([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>" 1858 "^([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>" 1859 "^([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" 1860 "^([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" 1861 "^([0-1]([\s\-./\\])?)?(\(?[2-9]\d{2}\)?|[2-9]\d{3})([\s\-./\\])?(\d{3}([\s\-./\\])?\d{4}|[a-zA-Z0-9]{7})$" "11231321131" 1862 "^([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>" 1863 "^([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>" 1864 "^([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>" 1865 "^([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" 1866 "^([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" 1867 "^([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" 1868 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$" G "<0>asD1</0>" 1869 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$" G "<0>asDF1234</0>" 1870 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$" G "<0>ASPgo123</0>" 1871 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$" "asdf" 1872 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$" "1234" 1873 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$" "ASDF12345" 1874 "^([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>" 1875 "^([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>" 1876 "^([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>" 1877 "^([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" 1878 "^([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" 1879 "^([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" 1880 "^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$" G "<0>09:00</0>" 1881 "^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$" G "<0>9:00</0>" 1882 "^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$" G "<0>11:35</0>" 1883 "^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$" "13:00" 1884 "^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$" "9.00" 1885 "^(([0]?[1-9]|1[0-2])(:)([0-5][0-9]))$" "6:60" 1886 "^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$" G "<0>1</0>" 1887 "^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$" G "<0>108</0>" 1888 "^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$" G "<0>255</0>" 1889 "^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$" "01" 1890 "^([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$" "256" 1891 "^((((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>" 1892 "^((((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>" 1893 "^((((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>" 1894 "^((((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" 1895 "^((((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" 1896 "^((((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" 1897 "^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$" G "<0>SP939393H</0>" 1898 "^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$" G "<0>PX123456D</0>" 1899 "^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$" G "<0>SW355667G</0>" 1900 "^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$" "12SP9393H" 1901 "^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$" "S3P93930D" 1902 "^[A-Za-z]{2}[0-9]{6}[A-Za-z]{1}$" "11223344SP00ddSS" 1903 "(^0[78][2347][0-9]{7})" G "<0>0834128458</0>" 1904 "(^0[78][2347][0-9]{7})" G "<0>0749526308</0>" 1905 "(^0[78][2347][0-9]{7})" "0861212308" 1906 "(^0[78][2347][0-9]{7})" "0892549851" 1907 "^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$" G "<0>C1406HHA</0>" 1908 "^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$" G "<0>A4126AAB</0>" 1909 "^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$" G "<0>c1406hha</0>" 1910 "^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$" "c1406HHA" 1911 "^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$" "4126" 1912 "^([A-HJ-TP-Z]{1}\d{4}[A-Z]{3}|[a-z]{1}\d{4}[a-hj-tp-z]{3})$" "C1406hha" 1913 "^(((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>" 1914 "^(((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>" 1915 "^(((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>" 1916 "^(((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" 1917 "^(((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" 1918 "^(((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" 1919 "^([\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>" 1920 "^([\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>" 1921 "^([\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>" 1922 "^([\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" 1923 "^([\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" 1924 "^([\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" 1925 "/\*[\d\D]*?\*/" G "<0>/* my comment */</0>" 1926 "/\*[\d\D]*?\*/" G "<0>/* my multiline comment */</0>" 1927 "/\*[\d\D]*?\*/" G "<0>/* my nested comment */</0>" 1928 "/\*[\d\D]*?\*/" "*/ anything here /*" 1929 "/\*[\d\D]*?\*/" "anything between 2 separate comments" 1930 "/\*[\d\D]*?\*/" "\* *\" 1931 "/\*[\p{N}\P{N}]*?\*/" G "<0>/* my comment */</0>" 1932 "/\*[\p{N}\P{N}]*?\*/" G "<0>/* my multiline comment */</0>" 1933 "/\*[\p{N}\P{N}]*?\*/" G "<0>/* my nested comment */</0>" 1934 "/\*[\p{N}\P{N}]*?\*/" "*/ anything here /*" 1935 "/\*[\p{N}\P{N}]*?\*/" "anything between 2 separate comments" 1936 "/\*[\p{N}\P{N}]*?\*/" "\* *\" 1937 "((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>" 1938 "((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>" 1939 "((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>" 1940 "((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" 1941 "((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" 1942 "((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" 1943 '^(([^<>;()\[\]\\.,;:@"]+(\.[^<>()\[\]\\.,;:@"]+)*)|(".+"))@((([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>" 1944 '^(([^<>;()\[\]\\.,;:@"]+(\.[^<>()\[\]\\.,;:@"]+)*)|(".+"))@((([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>" 1945 '^(([^<>;()\[\]\\.,;:@"]+(\.[^<>()\[\]\\.,;:@"]+)*)|(".+"))@((([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@." 1946 "^\d{9}[\d|X]$" G "<0>1234123412</0>" 1947 "^\d{9}[\d|X]$" G "<0>123412341X</0>" 1948 "^\d{9}[\d|X]$" "not an isbn" 1949 "^\d{9}(\d|X)$" G "<0>1234123412</0>" 1950 "^\d{9}(\d|X)$" G "<0>123412341X</0>" 1951 "^\d{9}(\d|X)$" "not an isbn" 1952 "^(([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>" 1953 "^(([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>" 1954 "^(([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>" 1955 "^(([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" 1956 "^(([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" 1957 "^(([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" 1958 "^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$" G "<0>0.25</0>" 1959 "^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$" G "<0>.75</0>" 1960 "^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$" G "<0>123.50</0>" 1961 "^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$" ".77" 1962 "^\d*\.?((25)|(50)|(5)|(75)|(0)|(00))?$" "1.435" 1963 "^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$" G "<0>12345</0>" 1964 "^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$" G "<0>932 68</0>" 1965 "^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$" G "<0>S-621 46</0>" 1966 "^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$" "5367" 1967 "^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$" "425611" 1968 "^(s-|S-){0,1}[0-9]{3}\s?[0-9]{2}$" "31 545" 1969 "^\d{5}(-\d{4})?$" G "<0>48222</0>" 1970 "^\d{5}(-\d{4})?$" G "<0>48222-1746</0>" 1971 "^\d{5}(-\d{4})?$" "4632" 1972 "^\d{5}(-\d{4})?$" "Blake" 1973 "^\d{5}(-\d{4})?$" "37333-32" 1974 '^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$' G "<0>test.txt</0>" 1975 '^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$' G "<0>test.jpg.txt</0>" 1976 '^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$' G "<0>a&b c.bmp</0>" 1977 '^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$' "CON" 1978 '^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$' ".pdf" 1979 '^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$' "test:2.pdf" 1980 "^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" G "<0>1'235.140</0>" 1981 "^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" G "<0>1'222'333.120</0>" 1982 "^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" G "<0>456</0>" 1983 "^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" "1234.500" 1984 "^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" "78'45.123" 1985 "^(\d{1,3}'(\d{3}')*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" "123,0012" 1986 "^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$" G "<0>T2p 3c7</0>" 1987 "^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$" G "<0>T3P3c7</0>" 1988 "^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$" G "<0>T2P 3C7</0>" 1989 "^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$" "123456" 1990 "^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$" "3C7T2P" 1991 "^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$" "11T21RWW" 1992 "^\$[0-9]+(\.[0-9][0-9])?$" G "<0>$1.50</0>" 1993 "^\$[0-9]+(\.[0-9][0-9])?$" G "<0>$49</0>" 1994 "^\$[0-9]+(\.[0-9][0-9])?$" G "<0>$0.50</0>" 1995 "^\$[0-9]+(\.[0-9][0-9])?$" "1.5" 1996 "^\$[0-9]+(\.[0-9][0-9])?$" "$1.333" 1997 "^\$[0-9]+(\.[0-9][0-9])?$" "this $5.12 fails" 1998 "\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>" 1999 "\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>" 2000 "\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>" 2001 "\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" 2002 "\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" 2003 "\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" 2004 "((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)" G "<0>http://www.aspemporium.com</0>" 2005 "((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)" G "<0>mailto:dominionx@hotmail.com</0>" 2006 "((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)" G "<0>ftp://ftp.test.com</0>" 2007 "((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)" "www.aspemporium.com" 2008 "((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)" "dominionx@hotmail.com" 2009 "((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)" "bloggs" 2010 "\(([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>" 2011 "\(([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>" 2012 "\(([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>" 2013 "\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}" "12 123 1234" 2014 "\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}" "(012) 123/1234" 2015 "\(([0-9]{2}|0{1}((x|[0-9]){2}[0-9]{2}))\)\s*[0-9]{3,4}[- ]*[0-9]{4}" "(012) 123 12345" 2016 "^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$" G "<0>bob-smith@foo.com</0>" 2017 "^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$" G "<0>bob.smith@foo.com</0>" 2018 "^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$" G "<0>bob_smith@foo.com</0>" 2019 "^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$" "-smith@foo.com" 2020 "^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$" ".smith@foo.com" 2021 "^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$" "smith@foo_com" 2022 "^(?=.*\d).{4,8}$" G "<0>1234</0>" 2023 "^(?=.*\d).{4,8}$" G "<0>asdf1234</0>" 2024 "^(?=.*\d).{4,8}$" G "<0>asp123</0>" 2025 "^(?=.*\d).{4,8}$" "asdf" 2026 "^(?=.*\d).{4,8}$" "asdf12345" 2027 "^(?=.*\d).{4,8}$" "password" 2028 "[^A-Za-z0-9_@\.]|@{2,}|\.{5,}" G "<0>user name</0>" 2029 "[^A-Za-z0-9_@\.]|@{2,}|\.{5,}" G "<0>user#name</0>" 2030 "[^A-Za-z0-9_@\.]|@{2,}|\.{5,}" G "<0>.....</0>" 2031 "[^A-Za-z0-9_@\.]|@{2,}|\.{5,}" "User_Name1" 2032 "[^A-Za-z0-9_@\.]|@{2,}|\.{5,}" "username@foo.com" 2033 "[^A-Za-z0-9_@\.]|@{2,}|\.{5,}" "user.name@mail.foo.com" 2034 "^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$" G "<0>12,654</0>" 2035 "^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$" G "<0>1,987</0>" 2036 "^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$" "128,2" 2037 "^100$|^[0-9]{1,2}$|^[0-9]{1,2}\,[0-9]{1,3}$" "12," 2038 "^(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>" 2039 "^(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." 2040 "^(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)" 2041 "^(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," 2042 "(\d{1,3},(\d{3},)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" G "<0>2&651.50</0>" 2043 "(\d{1,3},(\d{3},)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" G "<0>987.895</0>" 2044 "(\d{1,3},(\d{3},)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{3})?)$" "25$%787*" 2045 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$" G "<0>$1,456,983.00</0>" 2046 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$" G "<0>$1,700.07</0>" 2047 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$" G "<0>$68,944.23</0>" 2048 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$" "$20,86.93" 2049 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$" "$1098.84" 2050 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9]?)?$" "$150." 2051 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$" G "<0>$28,009,987.88</0>" 2052 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$" G "<0>$23,099.05</0>" 2053 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$" G "<0>$.88</0>" 2054 "\$[0-9]?[0-9]?[0-9]?((\,[0-9][0-9][0-9])*)?(\.[0-9][0-9])?$" "$234,5.99" 2055 "^((((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>" 2056 "^((((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>" 2057 "^((((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>" 2058 "^((((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" 2059 "^((((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" 2060 "^((((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" 2061 "^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" G "<0>something@someserver.com</0>" 2062 "^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" G "<0>firstname.lastname@mailserver.domain.com</0>" 2063 "^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" G "<0>username-something@some-server.nl</0>" 2064 "^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" "username@someserver.domain.c" 2065 "^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" "somename@server.domain-com" 2066 "^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" "someone@something.se_eo" 2067 "(^([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>" 2068 "(^([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>" 2069 "(^([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>" 2070 "(^([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" 2071 "(^([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" 2072 "(^([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" 2073 "^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$" G "<0>55(21)123-4567</0>" 2074 "^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$" G "<0>(11)1234-5678</0>" 2075 "^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$" G "<0>55(71)4562-2234</0>" 2076 "^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$" "3434-3432" 2077 "^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$" "4(23)232-3232" 2078 "^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$" "55(2)232-232" 2079 "^((([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>" 2080 "^((([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>" 2081 "^((([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>" 2082 "^((([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" 2083 "^((([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" 2084 "^((([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" 2085 "^\d{0,2}(\.\d{1,2})?$" G "<0>99.99</0>" 2086 "^\d{0,2}(\.\d{1,2})?$" G "<0>99</0>" 2087 "^\d{0,2}(\.\d{1,2})?$" G "<0>.99</0>" 2088 "^\d{0,2}(\.\d{1,2})?$" "999.999" 2089 "^\d{0,2}(\.\d{1,2})?$" "999" 2090 "^\d{0,2}(\.\d{1,2})?$" ".999" 2091 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$" G "<0>1agdA*$#</0>" 2092 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$" G "<0>1agdA*$#</0>" 2093 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$" G "<0>1agdA*$#</0>" 2094 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$" "wyrn%@*&$# f" 2095 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$" "mbndkfh782" 2096 "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$" "BNfhjdhfjd&*)%#$)" 2097 "^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$" G "<0>freshmeat.net</0>" 2098 "^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$" G "<0>123.com</0>" 2099 "^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$" G "<0>TempLate-toolkKt.orG</0>" 2100 "^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$" "-dog.com" 2101 "^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$" "?boy.net" 2102 "^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9]\.)+([a-zA-Z0-9]{3,5})$" "this.domain" 2103 "^[^']*$" G "<0>asljas</0>" 2104 "^[^']*$" G "<0>%/&89uhuhadjkh</0>" 2105 "^[^']*$" G '<0>"hi there!"</0>' 2106 "^[^']*$" "'hi there!'" 2107 "^[^']*$" "It's 9 o'clock" 2108 "^[^']*$" "'''''" 2109 "(^\(\)$|^\(((\([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>" 2110 "(^\(\)$|^\(((\([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>" 2111 "(^\(\)$|^\(((\([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>" 2112 "(^\(\)$|^\(((\([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)))" 2113 "(^\(\)$|^\(((\([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}\)))$" "( )" 2114 "(^\(\)$|^\(((\([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)))" 2115 "^[a-zA-Z0-9\s .\-_']+$" G "<0>dony d'gsa</0>" 2116 "^[a-zA-Z0-9\s .\-_']+$" "^[a-zA-Z0-9\s.\-_']+$" 2117 "^[_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>" 2118 "^[_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>" 2119 "^[_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>" 2120 "^[_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" 2121 "^[_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" 2122 "^[_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" 2123 "^\d{5}(-\d{3})?$" G "<0>13165-000</0>" 2124 "^\d{5}(-\d{3})?$" G "<0>38175-000</0>" 2125 "^\d{5}(-\d{3})?$" G "<0>81470-276</0>" 2126 "^\d{5}(-\d{3})?$" "13165-00" 2127 "^\d{5}(-\d{3})?$" "38175-abc" 2128 "^\d{5}(-\d{3})?$" "81470-2763" 2129 "^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$" G "<0>$0.84</0>" 2130 "^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$" G "<0>$123458</0>" 2131 "^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$" G "<0>$1,234,567.89</0>" 2132 "^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$" "$12,3456.01" 2133 "^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$" "12345" 2134 "^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$" "$1.234" 2135 "([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})" G "<0>C:\\temp\\this allows spaces\\web.config</0>" 2136 "([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})" G "<0>\\\\Andromeda\\share\\file name.123</0>" 2137 "([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})" "tz:\temp\ fi*le?na:m<e>.doc" 2138 "([A-Z]:\\[^/:\*\?<>\|]+\.\w{2,6})|(\\{2}[^/:\*\?<>\|]+\.\w{2,6})" "\\Andromeda\share\filename.a" 2139 "(^([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>" 2140 "(^([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>" 2141 "(^([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>" 2142 "(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)" "24:00" 2143 "(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)" "20 PM" 2144 "(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)" "20:15 PM" 2145 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$" G "<0>$3,023,123.34</0>" 2146 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$" G "<0>9,876,453</0>" 2147 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$" G "<0>123456.78</0>" 2148 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$" "4,33,234.34" 2149 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$" "$1.234" 2150 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(\.[0-9][0-9])?$" "abc" 2151 "^\$?\d+(\.(\d{2}))?$" G "<0>$2.43</0>" 2152 "^\$?\d+(\.(\d{2}))?$" G "<0>2.02</0>" 2153 "^\$?\d+(\.(\d{2}))?$" G "<0>$2112</0>" 2154 "^\$?\d+(\.(\d{2}))?$" "2.1" 2155 "^\$?\d+(\.(\d{2}))?$" "$.14" 2156 "^\$?\d+(\.(\d{2}))?$" "$2,222.12" 2157 /("[^"]*")|('[^\r]*)(\r\n)?/ G '<0>"my string"</0>' 2158 /("[^"]*")|('[^\r]*)(\r\n)?/ G '<0>"a string with \u0027 in it"</0>' 2159 /("[^"]*")|('[^\r]*)(\r\n)?/ G "<0>' comment</0>" 2160 /("[^"]*")|('[^\r]*)(\r\n)?/ /asd "/ 2161 "^[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>" 2162 "^[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>" 2163 "^[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" 2164 "^[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" 2165 "^[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" 2166 "^\d{2}(\x2e)(\d{3})(-\d{3})?$" G "<0>12.345-678</0>" 2167 "^\d{2}(\x2e)(\d{3})(-\d{3})?$" G "<0>23.345-123</0>" 2168 "^\d{2}(\x2e)(\d{3})(-\d{3})?$" G "<0>99.999</0>" 2169 "^\d{2}(\x2e)(\d{3})(-\d{3})?$" "41222-222" 2170 "^\d{2}(\x2e)(\d{3})(-\d{3})?$" "3.444-233" 2171 "^\d{2}(\x2e)(\d{3})(-\d{3})?$" "43.324444" 2172 "^\d{2}(\u002e)(\d{3})(-\d{3})?$" G "<0>12.345-678</0>" 2173 "^\d{2}(\u002e)(\d{3})(-\d{3})?$" G "<0>23.345-123</0>" 2174 "^\d{2}(\u002e)(\d{3})(-\d{3})?$" G "<0>99.999</0>" 2175 "^\d{2}(\u002e)(\d{3})(-\d{3})?$" "41222-222" 2176 "^\d{2}(\u002e)(\d{3})(-\d{3})?$" "3.444-233" 2177 "^\d{2}(\u002e)(\d{3})(-\d{3})?$" "43.324444" 2178 #"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$" G "<0>c:\file.txt</0>" # TODO: debug 2179 #"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$" G "<0>c:\folder\sub folder\file.txt</0>" # TODO: debug 2180 #"^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$" G "<0>\\network\folder\file.txt</0>" # TODO: debug 2181 "^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$" "C:" 2182 "^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$" "C:\file.xls" 2183 "^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w ]*))+\.(txt|TXT)$" "folder.txt" 2184 "^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" G "<0>my.domain.com</0>" 2185 "^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" G "<0>regexlib.com</0>" 2186 "^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" G "<0>big-reg.com</0>" 2187 "^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" ".mydomain.com" 2188 "^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" "regexlib.comm" 2189 "^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" "-bigreg.com" 2190 "^\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>" 2191 "^\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>" 2192 "^\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>" 2193 "^\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" 2194 "^\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" 2195 "^\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" 2196 "^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$" G "<0>http://psychopop.org</0>" 2197 "^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$" G "<0>http://www.edsroom.com/newUser.asp</0>" 2198 "^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$" G "<0>http://unpleasant.jarrin.net/markov/inde</0>" 2199 "^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$" "ftp://psychopop.org" 2200 "^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$" "http://www.edsroom/" 2201 "^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$" "http://un/pleasant.jarrin.net/markov/index.asp" 2202 "^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$" G "<0>1145</0>" 2203 "^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$" G "<0>933</0>" 2204 "^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$" G "<0> 801</0>" 2205 "^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$" "0000" 2206 "^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$" "1330" 2207 "^( [1-9]|[1-9]|0[1-9]|10|11|12)[0-5]\d$" "8:30" 2208 "^\d{1,2}\/\d{2,4}$" G "<0>9/02</0>" 2209 "^\d{1,2}\/\d{2,4}$" G "<0>09/2002</0>" 2210 "^\d{1,2}\/\d{2,4}$" G "<0>09/02</0>" 2211 "^\d{1,2}\/\d{2,4}$" "Fall 2002" 2212 "^\d{1,2}\/\d{2,4}$" "Sept 2002" 2213 "^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$" G "<0>01/01/2001</0>" 2214 "^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$" G "<0>02/30/2001</0>" 2215 "^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$" G "<0>12/31/2002</0>" 2216 "^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$" "1/1/02" 2217 "^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$" "1/1/2002" 2218 "^(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((\d{4}))$" "1/25/2002" 2219 "^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$" G "<0>15615552323</0>" 2220 "^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$" G "<0>1-561-555-1212</0>" 2221 "^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$" G "<0>5613333</0>" 2222 "^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$" "1-555-5555" 2223 "^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$" "15553333" 2224 "^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$" "0-561-555-1212" 2225 '<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>' G '<0><input type = text name = "bob"></0>' 2226 '<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>' G '<0><select name = "fred"></0>' 2227 #'<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>' G '<0><form></0>' #TODO: Debug 2228 '<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>' "<input type = submit>" # TODO: \w in pattern 2229 '<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>' '<font face = "arial">' # TODO: \w in pattern 2230 '<[^>]*name[\s]*=[\s]*"?[^\w_]*"?[^>]*>' "The dirty brown fox stank like" 2231 "^(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>" 2232 "^(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>" 2233 "^(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>" 2234 "^(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" 2235 "^\d*$" G "<0>123</0>" 2236 "^\d*$" G "<0>000</0>" 2237 "^\d*$" G "<0>43</0>" 2238 "^\d*$" "asbc" 2239 "^\d*$" "-34" 2240 "^\d*$" "3.1415" 2241 "^[-+]?\d*$" G "<0>123</0>" 2242 "^[-+]?\d*$" G "<0>-123</0>" 2243 "^[-+]?\d*$" G "<0>+123</0>" 2244 "^[-+]?\d*$" "abc" 2245 "^[-+]?\d*$" "3.14159" 2246 "^[-+]?\d*$" "-3.14159" 2247 "^\d*\.?\d*$" G "<0>123</0>" 2248 "^\d*\.?\d*$" G "<0>3.14159</0>" 2249 "^\d*\.?\d*$" G "<0>.234</0>" 2250 "^\d*\.?\d*$" "abc" 2251 "^\d*\.?\d*$" "-3.14159" 2252 "^\d*\.?\d*$" "3.4.2" 2253 "^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$" G "<0>44240</0>" 2254 "^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$" G "<0>44240-5555</0>" 2255 "^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$" G "<0>T2P 3C7</0>" 2256 "^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$" "44240ddd" 2257 "^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$" "t44240-55" 2258 "^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$" "t2p3c7" 2259 "^[\\(]{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>" 2260 "^[\\(]{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>" 2261 "^[\\(]{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>" 2262 "^[\\(]{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" 2263 "^[\\(]{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" 2264 "^[\\(]{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" 2265 "^((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>" 2266 "^((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>" 2267 "^((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>" 2268 "^((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" 2269 "^((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" 2270 "^((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" 2271 "^(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>" 2272 "^(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>" 2273 "^(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>" 2274 "^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$" "1/1/2002" 2275 "^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$" "01/01/02" 2276 "^(0[1-9]|1[0-2])\/((0[1-9]|2\d)|3[0-1])\/(19\d\d|200[0-3])$" "01/01/2004" 2277 "^((((([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>" 2278 "^((((([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>" 2279 "^((((([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>" 2280 "^((((([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" 2281 "^((((([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" 2282 "^((((([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" 2283 "([a-zA-Z]:(\\w+)*\\[a-zA-Z0_9]+)?.xls" G "<0>E:\DyAGT\SD01A_specV2.xls</0>" 2284 "([a-zA-Z]:(\\w+)*\\[a-zA-Z0_9]+)?.xls" "E:\DyAGT\SD01A_specV2.txt" 2285 "(((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>" 2286 "(((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>" 2287 "(((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>" 2288 "(((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" 2289 "(((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" 2290 "(((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" 2291 "^[a-zA-Z0-9\s .\-]+$" G "<0>2222 Mock St.</0>" # TODO: \s in patterns not implemented 2292 "^[a-zA-Z0-9\s .\-]+$" G "<0>1 A St.</0>" 2293 "^[a-zA-Z0-9\s .\-]+$" G "<0>555-1212</0>" 2294 "^[a-zA-Z0-9\s.\-]+$" "[A Street]" 2295 "^[a-zA-Z0-9\s.\-]+$" "(3 A St.)" 2296 "^[a-zA-Z0-9\s.\-]+$" "{34 C Ave.}" 2297 "^[a-zA-Z0-9\s.\-]+$" "Last.*?(\d+.?\d*)" 2298 "^[a-zA-Z0-9\s .\-]+$" G "<TR><TD ALIGN=RIGHT> </TD><TD>Last</TD><TD ALIGN=RIGHT NOW" 2299 "^[a-zA-Z0-9\s.\-]+$" "[AADDSS]" 2300 "^([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>" 2301 "^([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>" 2302 "^([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>" 2303 "^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$" "1.123.123.1234" 2304 "^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$" "(123)-1234-123" 2305 "^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$" "123-1234" 2306 "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$" G "<0>02:04</0>" 2307 "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$" G "<0>16:56</0>" 2308 "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$" G "<0>23:59</0>" 2309 "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$" "02:00 PM" 2310 "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$" "PM2:00" 2311 "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$" "24:00" 2312 "^[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>" 2313 "^[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>" 2314 "^[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>" 2315 "^[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" 2316 "^[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" 2317 "^[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" 2318 "((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})" G "<0>1.2123644567</0>" 2319 "((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})" G "<0>0-234.567/8912</0>" 2320 "((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})" G "<0>1-(212)-123 4567</0>" 2321 "((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})" "0-212364345" 2322 "((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})" "1212-364,4321" 2323 "((\(\d{3}\)?)|(\d{3}))([\s \-./]?)(\d{3})([\s \-./]?)(\d{4})" "0212\345/6789" 2324 "^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$" G "<0>000000 000000000000</0>" 2325 "^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$" G "<0>000000-000000000000</0>" 2326 "^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$" G "<0>000000000000000000</0>" 2327 "^([0-9]{6}[\s \-]{1}[0-9]{12}|[0-9]{18})$" "000000_000000000000" 2328 "^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$" G "<0>01/01/2001</0>" 2329 "^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$" G "<0>1/1/2001</0>" 2330 "^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$" G "<0>01/1/01</0>" 2331 "^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$" "13/01/2001" 2332 "^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$" "1/2/100" 2333 "^(([1-9])|(0[1-9])|(1[0-2]))\/((0[1-9])|([1-31]))\/((\d{2})|(\d{4}))$" "09/32/2001" 2334 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$" G "<0>$3,023,123.34</0>" 2335 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$" G "<0>9,876,453</0>" 2336 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$" G "<0>123456.78</0>" 2337 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$" "4,33,234.34" 2338 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$" "$1.234" 2339 "^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$" "abc" 2340 "^\d{5}$|^\d{5}-\d{4}$" G "<0>55555-5555</0>" 2341 "^\d{5}$|^\d{5}-\d{4}$" G "<0>34564-3342</0>" 2342 "^\d{5}$|^\d{5}-\d{4}$" G "<0>90210</0>" 2343 "^\d{5}$|^\d{5}-\d{4}$" "434454444" 2344 "^\d{5}$|^\d{5}-\d{4}$" "645-32-2345" 2345 "^\d{5}$|^\d{5}-\d{4}$" "abc" 2346 "^\d{3}-\d{2}-\d{4}$" G "<0>333-22-4444</0>" 2347 "^\d{3}-\d{2}-\d{4}$" G "<0>123-45-6789</0>" 2348 "^\d{3}-\d{2}-\d{4}$" "123456789" 2349 "^\d{3}-\d{2}-\d{4}$" "SSN" 2350 "^[2-9]\d{2}-\d{3}-\d{4}$" G "<0>800-555-5555</0>" 2351 "^[2-9]\d{2}-\d{3}-\d{4}$" G "<0>333-444-5555</0>" 2352 "^[2-9]\d{2}-\d{3}-\d{4}$" G "<0>212-666-1234</0>" 2353 "^[2-9]\d{2}-\d{3}-\d{4}$" "000-000-0000" 2354 "^[2-9]\d{2}-\d{3}-\d{4}$" "123-456-7890" 2355 "^[2-9]\d{2}-\d{3}-\d{4}$" "2126661234" 2356 "^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$" G "<0>44240</0>" 2357 "^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$" G "<0>44240-5555</0>" 2358 "^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$" G "<0>G3H 6A3</0>" 2359 "^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$" "Ohio" 2360 "^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$" "abc" 2361 "^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$" "g3h6a3" 2362 "[0-9]{4}\s*[a-zA-Z]{2}" G "<0>1054 WD</0>" 2363 "[0-9]{4}\s*[a-zA-Z]{2}" G "<0>1054WD</0>" 2364 "[0-9]{4}\s*[a-zA-Z]{2}" G "<0>1054 wd</0>" 2365 "[0-9]{4}\s*[a-zA-Z]{2}" "10543" 2366 "(^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>" 2367 "(^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>" 2368 "(^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>" 2369 "(^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" 2370 "(^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" 2371 "^((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>" 2372 "^((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>" 2373 "^((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>" 2374 "^((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/" 2375 "^((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/" 2376 "^((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" 2377 "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" G "<0>2002-11-03</0>" 2378 "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" G "<0>2007-17-08</0>" 2379 "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" G "<0>9999-99-99</0>" 2380 "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" "2002/17/18" 2381 "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" "2002.18.45" 2382 "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" "18.45.2002" 2383 "^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$" G "<0>$0,234.50</0>" 2384 "^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$" G "<0>0234.5</0>" 2385 "^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$" G "<0>0,234.</0>" 2386 "^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$" "$1,23,50" 2387 "^\$?(\d{1,3}(\,\d{3})*|(\d+))(\.\d{0,2})?$" "$123.123" 2388 "(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})" G "<0>12.345-678</0>" 2389 "(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})" G "<0>12345-678</0>" 2390 "(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})" G "<0>12345678</0>" 2391 "(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})" "12.345678" 2392 "(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})" "12345-1" 2393 "(^\d{5}-\d{3}|^\d{2}.\d{3}-\d{3}|\d{8})" "123" 2394 '^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$' G "<0>x:\\test\\testing.htm</0>" 2395 '^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$' G "<0>x:\\test\\test#$ ing.html</0>" 2396 '^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$' G "<0>\\\\test\testing.html</0>" 2397 '^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$' "x:\test\test/ing.htm" 2398 '^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$' "x:\test\test*.htm" 2399 '^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.htm(l)?$' "\\test?<.htm" 2400 "^[1-9]{1}[0-9]{3}$" G "<0>1234</0>" 2401 "^[1-9]{1}[0-9]{3}$" "123" 2402 "^[1-9]{1}[0-9]{3}$" "123A" 2403 "^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$" G "<0>A-1234</0>" 2404 "^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$" G "<0>A 1234</0>" 2405 "^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$" G "<0>A1234</0>" 2406 "^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$" "AA-1234" 2407 "^[A-Z]{1}( |-)?[1-9]{1}[0-9]{3}$" "A12345" 2408 "^(F-)?[0-9]{5}$" G "<0>12345</0>" 2409 "^(F-)?[0-9]{5}$" G "<0>F-12345</0>" 2410 "^(F-)?[0-9]{5}$" "F12345" 2411 "^(F-)?[0-9]{5}$" "F-123456" 2412 "^(F-)?[0-9]{5}$" "123456" 2413 "^(V-|I-)?[0-9]{4}$" G "<0>1234</0>" 2414 "^(V-|I-)?[0-9]{4}$" G "<0>V-1234</0>" 2415 "^(V-|I-)?[0-9]{4}$" "12345" 2416 "^[1-9]{1}[0-9]{3} ?[A-Z]{2}$" G "<0>1234 AB</0>" 2417 "^[1-9]{1}[0-9]{3} ?[A-Z]{2}$" G "<0>1234AB</0>" 2418 "^[1-9]{1}[0-9]{3} ?[A-Z]{2}$" "123AB" 2419 "^[1-9]{1}[0-9]{3} ?[A-Z]{2}$" "1234AAA" 2420 "^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$" G "<0>12345</0>" 2421 "^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$" G "<0>10234</0>" 2422 "^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$" G "<0>01234</0>" 2423 "^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$" "00123" 2424 "^(/w|/W|[^<>+?$%\{}\&])+$" G "<0>John Doe Sr.</0>" 2425 "^(/w|/W|[^<>+?$%\{}\&])+$" G "<0>100 Elm St., Suite 25</0>" 2426 "^(/w|/W|[^<>+?$%\{}\&])+$" G "<0>Valerie's Gift Shop</0>" 2427 "^(/w|/W|[^<>+?$%\{}\&])+$" "<h1>Hey</h1>" 2428 /<[a-zA-Z][^>]*\son\w+=(\w+|'[^']*'|"[^"]*")[^>]*>/ G '<0><IMG onmouseover="window.close()"></0>' 2429 /<[a-zA-Z][^>]*\son\w+=(\w+|'[^']*'|"[^"]*")[^>]*>/ '<IMG src="star.gif">' 2430 "(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$" G "<0>1</0>" 2431 "(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$" G "<0>12345.123</0>" 2432 "(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$" G "<0>0.5</0>" 2433 "(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$" "0" 2434 "(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$" "0.0" 2435 "(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,3})?$" "123456.1234" 2436 "^.+@[^\.].*\.[a-z]{2,}$" G "<0>whatever@somewhere.museum</0>" 2437 "^.+@[^\.].*\.[a-z]{2,}$" G "<0>foreignchars@myforeigncharsdomain.nu</0>" 2438 "^.+@[^\.].*\.[a-z]{2,}$" G "<0>me+mysomething@mydomain.com</0>" 2439 "^.+@[^\.].*\.[a-z]{2,}$" "a@b.c" 2440 "^.+@[^\.].*\.[a-z]{2,}$" "me@.my.com" 2441 "^.+@[^\.].*\.[a-z]{2,}$" "a@b.comFOREIGNCHAR" 2442 "^(\d{5}-\d{4}|\d{5})$" G "<0>12345</0>" 2443 "^(\d{5}-\d{4}|\d{5})$" G "<0>12345-1234</0>" 2444 "^(\d{5}-\d{4}|\d{5})$" "12345-12345" 2445 "^(\d{5}-\d{4}|\d{5})$" "123" 2446 "^(\d{5}-\d{4}|\d{5})$" "12345-abcd" 2447 "^(\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>" 2448 "^(\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>" 2449 "^(\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>" 2450 "^(\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" 2451 "^(\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" 2452 "^(\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." 2453 "<img([^>]*[^/])>" G '<0><img src="bob"></0>' 2454 "<img([^>]*[^/])>" '<img src="bob" />' 2455 "<!--[\s\S]*?-->" G "<0><!-- comments --></0>" 2456 "<!--[\s\S]*?-->" G "<0><!-- x = a > b - 3 --></0>" 2457 "<!--[\s\S]*?-->" "<COMMENTS>this is a comment</COMMENTS>" 2458 "<!--[\p{Zs}\P{Zs}]*?-->" G "<0><!-- comments --></0>" 2459 "<!--[\p{Zs}\P{Zs}]*?-->" G "<0><!-- x = a > b - 3 --></0>" 2460 "<!--[\p{Zs}\P{Zs}]*?-->" "<COMMENTS>this is a comment</COMMENTS>" 2461 /<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/ G "<0><TD></0>" 2462 /<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/ G '<0><TD bgColor="FFFFFF"></0>' 2463 /<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/ G "<0></TD></0>" 2464 /<\u002f?(\w+)(\s+\w+=(\w+|"[^"]*"|'[^']*'))*>/ "No Tag Here ..." 2465 "(\{\\f\d*)\\([^;]+;)" G "<0>{\\f0\\Some Font names here;</0>" 2466 "(\{\\f\d*)\\([^;]+;)" G "<0>{\\f1\\fswiss\\fcharset0\\fprq2{\\*\\panose 020b0604020202020204}Arial;</0>" 2467 "(\{\\f\d*)\\([^;]+;)" G "{\\f" 2468 "(\{\\f\d*)\\([^;]+;)" "{f0fs20 some text}" 2469 #"</?([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! 2470 #"</?([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" 2471 "^([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>" 2472 "^([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>" 2473 "^([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>" 2474 "^([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" 2475 "^([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" 2476 "^([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" 2477 #"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))" G "<0>BEGIN:</0>" #named capture 2478 #"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))" G "<0>TEL;WORK;VOICE:</0>" #named capture 2479 #"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))" G "<0>TEL:</0>" #named capture 2480 #"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))" "begin:" #named capture 2481 #"((?<strElement>(^[A-Z0-9-;=]*:))(?<strValue>(.*)))" "TEL;PREF;" #named capture 2482 '^<a\s+href\s*=\s*"http:\/\/([^"]*)"([^>]*)>(.*?(?=<\/a>))<\/a>$' G '<0><a href="http://www.mysite.com">my external link</a></0>' 2483 '^<a\s+href\s*=\s*"http:\/\/([^"]*)"([^>]*)>(.*?(?=<\/a>))<\/a>$' G '<a href="http:/' 2484 '^<a\s+href\s*=\s*"http:\/\/([^"]*)"([^>]*)>(.*?(?=<\/a>))<\/a>$' '<a href="myinternalpage.html">my internal link</a>' 2485 "^([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>" 2486 "^([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>" 2487 "^([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>" 2488 "^([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" 2489 "^([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" 2490 "<blockquote>(?:\s*([^<]+)<br>\s*)+</blockquote>" G "<0><blockquote>string1<br>string2<br>string3<br></blockquote></0>" 2491 "<blockquote>(?:\s*([^<]+)<br>\s*)+</blockquote>" ".." 2492 "^((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>" 2493 "^((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>" 2494 "^((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>" 2495 "^((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" 2496 "^((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" 2497 '</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>' G '<0><font color="blue"></0>' 2498 '</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>' G "<0></font></0>" 2499 '</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>' G "<0><br /></0>" 2500 '</?(\w+)(\s*\w*\s*=\s*("[^"]*"|\u0027[^\u0027]\u0027|[^>]*))*|/?>' "this is a test..." 2501 "^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$" G "<0>12:00am</0>" 2502 "^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$" G "<0>1:00 PM</0>" 2503 "^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$" G "<0> 12:59 pm</0>" 2504 "^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$" "0:00" 2505 "^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$" "0:01 am" 2506 "^ *(1[0-2]|[1-9]):[0-5][0-9] *(a|p|A|P)(m|M) *$" "13:00 pm" 2507 "\({1}[0-9]{3}\){1}\-{1}[0-9]{3}\-{1}[0-9]{4}" G "<0>(111)-111-1111</0>" 2508 "\({1}[0-9]{3}\){1}\-{1}[0-9]{3}\-{1}[0-9]{4}" "11111111111" 2509 "[^abc]" G "<0>def</0>" 2510 "[^abc]" "abc" 2511 "^(([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>" 2512 "^(([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>" 2513 "^(([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>" 2514 "^(([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" 2515 "^(([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" 2516 "^(([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" 2517 "^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$" G "<0>11-02-02</0>" 2518 "^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$" G "<0>1-25-2002</0>" 2519 "^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$" G "<0>01/25/2002</0>" 2520 "^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$" "13-02-02" 2521 "^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$" "11.02.02" 2522 "^([1][12]|[0]?[1-9])[\/-]([3][01]|[12]\d|[0]?[1-9])[\/-](\d{4}|\d{2})$" "11/32/2002" 2523 "(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])" G "<0>09:30:00</0>" 2524 "(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])" G "<0>17:45:20</0>" 2525 "(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])" G "<0>23:59:59</0>" 2526 "(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])" "24:00:00" 2527 "(((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>" 2528 "(((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>" 2529 "(((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>" 2530 "(((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" 2531 "(((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" 2532 "(((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" 2533 "^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>" 2534 "^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>" 2535 "^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$" G "<0>0146708912</0>" 2536 "^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$" "01-46708912" 2537 "^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$" "01 46708912" 2538 "^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$" "+33235256677" 2539 "^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$" G "<0>good.gif</0>" 2540 "^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$" G "<0>go d.GIf</0>" 2541 "^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$" G "<0>goo_d.jPg</0>" 2542 "^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$" "junk" 2543 "^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$" "bad.bad.gif" 2544 "^[0-9A-Za-z_ ]+(.[jJ][pP][gG]|.[gG][iI][fF])$" "slash\gif." 2545 "<[^>\s]*\bauthor\b[^>]*>" G '<0><author name="Daniel"></0>' 2546 "<[^>\s]*\bauthor\b[^>]*>" G "<0></sch:author></0>" 2547 # "<[^>\s]*\bauthor\b[^>]*>" G '<0><pp:author name="Daniel"</0>' #Debug should work 2548 "<[^> ]*\bauthor\b[^>]*>" G "<0></sch:author></0>" 2549 "<[^> ]*\bauthor\b[^>]*>" G '<0><pp:author name="Daniel"></0>' 2550 "<[^>\s]*\bauthor\b[^>]*>" "<other>" 2551 "<[^>\s]*\bauthor\b[^>]*>" "</authors>" 2552 "<[^>\s]*\bauthor\b[^>]*>" "<work>author</work>" 2553 "^(?:(?:(?:(?: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>" 2554 "^(?:(?:(?:(?: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>" 2555 "^(?:(?:(?:(?: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>" 2556 "^(?:(?:(?:(?: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" 2557 "^(?:(?:(?:(?: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" 2558 "^(?:(?:(?:(?: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" 2559 '(\d*)\u0027*-*(\d*)/*(\d*)"' G '<0>5\u0027-3/16"</0>' 2560 '(\d*)\u0027*-*(\d*)/*(\d*)"' G '<0>1\u0027-2"</0>' 2561 '(\d*)\u0027*-*(\d*)/*(\d*)"' G '<0>5/16"</0>' 2562 '(\d*)\u0027*-*(\d*)/*(\d*)"' '1 3/16' 2563 "^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$" G "<0>1</0>" 2564 "^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$" G "<0>23</0>" 2565 "^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$" G "<0>50</0>" 2566 "^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$" "0" 2567 "^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$" "111" 2568 "^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$" "xyz" 2569 "^([ \u00c0-\u01ffa-zA-Z'])+$" G "<0>Jon Doe</0>" 2570 "^([ \u00c0-\u01ffa-zA-Z'])+$" G "<0>J\u00f8rn</0>" 2571 "^([ \u00c0-\u01ffa-zA-Z'])+$" G "<0>Mc'Neelan</0>" 2572 "^([ \u00c0-\u01ffa-zA-Z'])+$" "Henry); hacking attempt" 2573 "^((([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>" 2574 "^((([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>" 2575 "^((([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>" 2576 "^((([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" 2577 "^((([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" 2578 "^((([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" 2579 "(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)" G "<0>0.050</0>" 2580 "(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)" G "<0>5.0000</0>" 2581 "(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)" G "<0>5000</0>" 2582 "(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)" "0" 2583 "(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)" "0.0" 2584 "(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)" ".0" 2585 "^([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>" 2586 "^([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>" 2587 "^([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>" 2588 "^([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" 2589 "^([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" 2590 "^([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" 2591 "^\{?[a-fA-F\d]{8}-([a-fA-F\d]{4}-){3}[a-fA-F\d]{12}\}?$" G "<0>{e02ff0e4-00ad-090A-c030-0d00a0008ba0}</0>" 2592 "^\{?[a-fA-F\d]{8}-([a-fA-F\d]{4}-){3}[a-fA-F\d]{12}\}?$" G "<0>e02ff0e4-00ad-090A-c030-0d00a0008ba0</0>" 2593 "^\{?[a-fA-F\d]{8}-([a-fA-F\d]{4}-){3}[a-fA-F\d]{12}\}?$" "0xe02ff0e400ad090Ac0300d00a0008ba0" 2594 "^\{?[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}\}?$" G "<0>{e02ff0e4-00ad-090A-c030-0d00a0008ba0}</0>" 2595 "^\{?[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}\}?$" G "<0>e02ff0e4-00ad-090A-c030-0d00a0008ba0</0>" 2596 "^\{?[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}\}?$" "0xe02ff0e400ad090Ac0300d00a0008ba0" 2597 "^([a-zA-Z0-9@*#]{8,15})$" G "<0>@12X*567</0>" 2598 "^([a-zA-Z0-9@*#]{8,15})$" G "<0>1#Zv96g@*Yfasd4</0>" 2599 "^([a-zA-Z0-9@*#]{8,15})$" G "<0>#67jhgt@erd</0>" 2600 "^([a-zA-Z0-9@*#]{8,15})$" "$12X*567" 2601 "^([a-zA-Z0-9@*#]{8,15})$" "1#Zv_96" 2602 "^([a-zA-Z0-9@*#]{8,15})$" "+678jhgt@erd" 2603 '(("|\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>' 2604 '(("|\u0027)[a-z0-9\/\.\?\=\&]*(\.htm|\.asp|\.php|\.jsp)[a-z0-9\/\.\?\=\&]*("|\u0027))|(href=*?[a-z0-9\/\.\?\=\&"\u0027]*)' G '<0>href="NuclearTesting.htm"</0>' 2605 '(("|\u0027)[a-z0-9\/\.\?\=\&]*(\.htm|\.asp|\.php|\.jsp)[a-z0-9\/\.\?\=\&]*("|\u0027))|(href=*?[a-z0-9\/\.\?\=\&"\u0027]*)' 'U Suck' 2606 "^(((((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>" 2607 "^(((((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>" 2608 "^(((((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>" 2609 "^(((((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" 2610 "^(((((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" 2611 "^(((((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" 2612 "^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$" G "<0>123456.123456</0>" 2613 "^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$" G "<0>123456,123456</0>" 2614 "^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$" G "<0>123456</0>" 2615 "^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$" "123a.123" 2616 "^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$" "123a,123" 2617 "^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$" "a" 2618 "^(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>" 2619 "^(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>" 2620 "^(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>" 2621 "^(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" 2622 "^(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" 2623 "^(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" 2624 "^[+]?\d*$" G "<0>0123456789</0>" 2625 "^[+]?\d*$" G "<0>1234</0>" 2626 "^[+]?\d*$" G "<0>1</0>" 2627 "^[+]?\d*$" "1.0?&" 2628 "^[+]?\d*$" "a1" 2629 "^[+]?\d*$" "2a-" 2630 #/<[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 2631 #/<[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. 2632 "^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$" G "<0>0:00</0>" 2633 "^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$" G "<0>23:00</0>" 2634 "^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$" G "<0>00:59</0>" 2635 "^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$" "0:0" 2636 "^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$" "24:00" 2637 "^([0-1]?[0-9]|[2][0-3]):([0-5][0-9])$" "00:60" 2638 "^((0[1-9])|(1[0-2]))\/(\d{2})$" G "<0>11/03</0>" 2639 "^((0[1-9])|(1[0-2]))\/(\d{2})$" G "<0>01/04</0>" 2640 "^((0[1-9])|(1[0-2]))\/(\d{2})$" "13/03" 2641 "^((0[1-9])|(1[0-2]))\/(\d{2})$" "10/2003" 2642 "<script[^>]*>[\w|\t|\r|\W]*</script>" G '<0><script language=javascript>document.write("one");</script></0>' 2643 "<script[^>]*>[\w|\t|\r|\W]*</script>" "--" 2644 "<script[^>]*>[\w|\t|\r|\W]*</script>" "A-Z][a-z]+" 2645 #"<script[^>]*>[\w|\t|\r|\W]*</script>" G "<0>strFirstName</0>" # Test Case damaged? 2646 #"<script[^>]*>[\w|\t|\r|\W]*</script>" G "<0>intAgeInYears</0>" # Test Case damaged? 2647 #"<script[^>]*>[\w|\t|\r|\W]*</script>" G "<0>Where the Wild Things Are</0>" # Test Case damaged? 2648 "<script[^>]*>[\w|\t|\r|\W]*</script>" "123" 2649 "<script[^>]*>[\w|\t|\r|\W]*</script>" "abc" 2650 "<script[^>]*>[\w|\t|\r|\W]*</script>" "this has no caps in it" 2651 "(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)" G "<0>-0.050</0>" 2652 "(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)" G "<0>-5.000</0>" 2653 "(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)" G "<0>-5</0>" 2654 "(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)" "0" 2655 "(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)" "0.0" 2656 "(^-\d*\.?\d*[1-9]+\d*$)|(^-[1-9]+\d*\.\d*$)" ".0" 2657 "^([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>" 2658 "^([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>" 2659 "^([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" 2660 "^([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" 2661 "^(\d|,)*\.?\d*$" G "<0>1,000</0>" 2662 "^(\d|,)*\.?\d*$" G "<0>3,000.05</0>" 2663 "^(\d|,)*\.?\d*$" G "<0>5,000,000</0>" 2664 "^(\d|,)*\.?\d*$" "abc" 2665 "^(\d|,)*\.?\d*$" "$100,000" 2666 "^(\d|,)*\.?\d*$" "Forty" 2667 "^\d$" G "<0>1</0>" 2668 "^\d$" G "<0>2</0>" 2669 "^\d$" G "<0>3</0>" 2670 "^\d$" "a" 2671 "^\d$" "324" 2672 "^\d$" "num" 2673 "^[0-9]+$" G "<0>1234567890</0>" 2674 "^[0-9]+$" G "<0>1234567890</0>" 2675 "^[0-9]+$" G "<0>1234567890</0>" 2676 "^[0-9]+$" "http://none" 2677 "^[0-9]+$" "http://none" 2678 "^[0-9]+$" "http://none" 2679 "^.{4,8}$" G "<0>asdf</0>" 2680 "^.{4,8}$" G "<0>1234</0>" 2681 "^.{4,8}$" G "<0>asdf1234</0>" 2682 "^.{4,8}$" "asd" 2683 "^.{4,8}$" "123" 2684 "^.{4,8}$" "asdfe12345" 2685 "^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$" G "<0>a@a.com</0>" 2686 "^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$" G "<0>a@a.com.au</0>" 2687 "^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$" G "<0>a@a.au</0>" 2688 "^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$" "word" 2689 "^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$" "word@" 2690 "^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$" "@word" 2691 "^\d{5}-\d{4}$" G "<0>22222-3333</0>" 2692 "^\d{5}-\d{4}$" G "<0>34545-2367</0>" 2693 "^\d{5}-\d{4}$" G "<0>56334-2343</0>" 2694 "^\d{5}-\d{4}$" "123456789" 2695 "^\d{5}-\d{4}$" "A3B 4C5" 2696 "^\d{5}-\d{4}$" "55335" 2697 "(a|b|c).(a.b)*.b+.c" G "<0>autbfc</0>" 2698 "(a|b|c).(a.b)*.b+.c" "attc" 2699 '"((\\")|[^"(\\")])+"' G '<0>"test"</0>' 2700 '"((\\")|[^"(\\")])+"' G '<0>"escape\"quote"</0>' 2701 '"((\\")|[^"(\\")])+"' G '<0>"\\""</0>' 2702 '"((\\")|[^"(\\")])+"' "test" 2703 '"((\\")|[^"(\\")])+"' '"test' 2704 '"((\\")|[^"(\\")])+"' '""test\\"' 2705 "((0[1-9])|(1[02]))/\d{2}" G "<0>01/00</0>" 2706 "((0[1-9])|(1[02]))/\d{2}" G "<0>12/99</0>" 2707 "((0[1-9])|(1[02]))/\d{2}" "13/00" 2708 "((0[1-9])|(1[02]))/\d{2}" "12/AS" 2709 "^[a-zA-Z]$" G "<0>a</0>" 2710 "^[a-zA-Z]$" G "<0>B</0>" 2711 "^[a-zA-Z]$" G "<0>c</0>" 2712 "^[a-zA-Z]$" "0" 2713 "^[a-zA-Z]$" "&" 2714 "^[a-zA-Z]$" "AbC" 2715 "^[a-zA-Z]+$" G "<0>abc</0>" 2716 "^[a-zA-Z]+$" G "<0>ABC</0>" 2717 "^[a-zA-Z]+$" G "<0>aBcDeF</0>" 2718 "^[a-zA-Z]+$" "abc123" 2719 "^[a-zA-Z]+$" "mr." 2720 "^[a-zA-Z]+$" "a word" 2721 "^\s*[a-zA-Z,\p{Zs}]+\s*$" G "<0>Smith, Ed</0>" 2722 "^\s*[a-zA-Z,\p{Zs}]+\s*$" G "<0>Ed Smith</0>" 2723 "^\s*[a-zA-Z,\p{Zs}]+\s*$" G "<0>aBcDeFgH</0>" 2724 "^\s*[a-zA-Z,\p{Zs}]+\s*$" "a123" 2725 "^\s*[a-zA-Z,\p{Zs}]+\s*$" "AB5" 2726 "^\s*[a-zA-Z,\p{Zs}]+\s*$" "Mr. Ed" 2727 "(\w+?@\w+?\u002E.+)" G "<0>bob@vsnl.com</0>" 2728 "(\w+?@\w+?\u002E.+)" "[AABB]" 2729 "^\d+$" G "<0>123</0>" 2730 "^\d+$" G "<0>10</0>" 2731 "^\d+$" G "<0>54</0>" 2732 "^\d+$" "-54" 2733 "^\d+$" "54.234" 2734 "^\d+$" "abc" 2735 "^(\+|-)?\d+$" G "<0>-34</0>" 2736 "^(\+|-)?\d+$" G "<0>34</0>" 2737 "^(\+|-)?\d+$" G "<0>+5</0>" 2738 "^(\+|-)?\d+$" "abc" 2739 "^(\+|-)?\d+$" "3.1415" 2740 "^(\+|-)?\d+$" "-5.3" 2741 "foo" G "<0>foo</0>" 2742 "foo" "bar" 2743 "^[1-5]$" G "<0>1</0>" 2744 "^[1-5]$" G "<0>3</0>" 2745 "^[1-5]$" G "<0>4</0>" 2746 "^[1-5]$" "6" 2747 "^[1-5]$" "23" 2748 "^[1-5]$" "a" 2749 "^[12345]$" G "<0>1</0>" 2750 "^[12345]$" G "<0>2</0>" 2751 "^[12345]$" G "<0>4</0>" 2752 "^[12345]$" "6" 2753 "^[12345]$" "-1" 2754 "^[12345]$" "abc" 2755 "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" G "<0>joe@aol.com</0>" 2756 "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" G "<0>joe@wrox.co.uk</0>" 2757 "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" G "<0>joe@domain.info</0>" 2758 "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" "a@b" 2759 "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" "notanemail" 2760 "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" "joe@@." 2761 "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" G "<0>joe@aol.com</0>" 2762 "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" G "<0>ssmith@aspalliance.com</0>" 2763 "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" G "<0>a@b.cc</0>" 2764 "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" "joe@123aspx.com" 2765 "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" "joe@web.info" 2766 "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" "joe@company.co.uk" 2767 "[\w-]+@([\w-]+\.)+[\w-]+" G "<0>joe@aol.com</0>" 2768 "[\w-]+@([\w-]+\.)+[\w-]+" G "<0>a@b.c</0>" 2769 "[\w-]+@([\w-]+\.)+[\w-]+" "asdf" 2770 "[\w-]+@([\w-]+\.)+[\w-]+" "1234" 2771 "\d{4}-?\d{4}-?\d{4}-?\d{4}" G "<0>1234-1234-1234-1234</0>" 2772 "\d{4}-?\d{4}-?\d{4}-?\d{4}" G "<0>1234123412341234</0>" 2773 "\d{4}-?\d{4}-?\d{4}-?\d{4}" "1234123412345" 2774 "^\d{5}$" G "<0>33333</0>" 2775 "^\d{5}$" G "<0>55555</0>" 2776 "^\d{5}$" G "<0>23445</0>" 2777 "^\d{5}$" "abcd" 2778 "^\d{5}$" "1324" 2779 "^\d{5}$" "as;lkjdf" 2780 "(\w+)\s+\1" G "<0>hubba hubba</0>" 2781 "(\w+)\s+\1" G "<0>mandate dated</0>" 2782 "(\w+)\s+\1" G "<0>an annual</0>" 2783 "(\w+)\s+\1" "may day" 2784 "(\w+)\s+\1" "gogo" 2785 "(\w+)\s+\1" "1212" 2786 "^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" G "<0>3SquareBand.com</0>" 2787 "^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" G "<0>asp.net</0>" 2788 "^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" G "<0>army.mil</0>" 2789 "^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" "$SquareBand.com" 2790 "^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" "asp/dot.net" 2791 "^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$" "army.military"