tools/pcre/testdata/testinput2
author Ruben Gonzalez <drifter01620@gmail.com>
Thu May 22 09:49:27 2014 -0400 (2014-05-22)
changeset 4378 568f4497ef4a
parent 3831 babd0eee3c5e
permissions -rw-r--r--
Update CS:GO team score gamedata.
     1 /-- This set of tests is not Perl-compatible. It checks on special features
     2     of PCRE's API, error diagnostics, and the compiled code of some patterns.
     3     It also checks the non-Perl syntax the PCRE supports (Python, .NET, 
     4     Oniguruma). Finally, there are some tests where PCRE and Perl differ, 
     5     either because PCRE can't be compatible, or there is a possible Perl 
     6     bug.
     7     
     8     NOTE: This is a non-UTF set of tests. When UTF support is needed, use
     9     test 5, and if Unicode Property Support is needed, use test 7. --/
    10   
    11 /(a)b|/I
    12 
    13 /abc/I
    14     abc
    15     defabc
    16     \Aabc
    17     *** Failers
    18     \Adefabc
    19     ABC
    20 
    21 /^abc/I
    22     abc
    23     \Aabc
    24     *** Failers
    25     defabc
    26     \Adefabc
    27 
    28 /a+bc/I
    29 
    30 /a*bc/I
    31 
    32 /a{3}bc/I
    33 
    34 /(abc|a+z)/I
    35 
    36 /^abc$/I
    37     abc
    38     *** Failers
    39     def\nabc
    40 
    41 /ab\idef/X
    42 
    43 /(?X)ab\idef/X
    44 
    45 /x{5,4}/
    46 
    47 /z{65536}/
    48 
    49 /[abcd/
    50 
    51 /(?X)[\B]/
    52 
    53 /(?X)[\R]/
    54 
    55 /(?X)[\X]/
    56 
    57 /[\B]/BZ
    58 
    59 /[\R]/BZ
    60 
    61 /[\X]/BZ
    62 
    63 /[z-a]/
    64 
    65 /^*/
    66 
    67 /(abc/
    68 
    69 /(?# abc/
    70 
    71 /(?z)abc/
    72 
    73 /.*b/I
    74 
    75 /.*?b/I
    76 
    77 /cat|dog|elephant/I
    78     this sentence eventually mentions a cat
    79     this sentences rambles on and on for a while and then reaches elephant
    80 
    81 /cat|dog|elephant/IS
    82     this sentence eventually mentions a cat
    83     this sentences rambles on and on for a while and then reaches elephant
    84 
    85 /cat|dog|elephant/IiS
    86     this sentence eventually mentions a CAT cat
    87     this sentences rambles on and on for a while to elephant ElePhant
    88 
    89 /a|[bcd]/IS
    90 
    91 /(a|[^\dZ])/IS
    92 
    93 /(a|b)*[\s]/IS
    94 
    95 /(ab\2)/
    96 
    97 /{4,5}abc/
    98 
    99 /(a)(b)(c)\2/I
   100     abcb
   101     \O0abcb
   102     \O3abcb
   103     \O6abcb
   104     \O9abcb
   105     \O12abcb
   106 
   107 /(a)bc|(a)(b)\2/I
   108     abc
   109     \O0abc
   110     \O3abc
   111     \O6abc
   112     aba
   113     \O0aba
   114     \O3aba
   115     \O6aba
   116     \O9aba
   117     \O12aba
   118 
   119 /abc$/IE
   120     abc
   121     *** Failers
   122     abc\n
   123     abc\ndef
   124 
   125 /(a)(b)(c)(d)(e)\6/
   126 
   127 /the quick brown fox/I
   128     the quick brown fox
   129     this is a line with the quick brown fox
   130 
   131 /the quick brown fox/IA
   132     the quick brown fox
   133     *** Failers
   134     this is a line with the quick brown fox
   135 
   136 /ab(?z)cd/
   137 
   138 /^abc|def/I
   139     abcdef
   140     abcdef\B
   141 
   142 /.*((abc)$|(def))/I
   143     defabc
   144     \Zdefabc
   145 
   146 /)/
   147 
   148 /a[]b/
   149 
   150 /[^aeiou ]{3,}/I
   151     co-processors, and for
   152 
   153 /<.*>/I
   154     abc<def>ghi<klm>nop
   155 
   156 /<.*?>/I
   157     abc<def>ghi<klm>nop
   158 
   159 /<.*>/IU
   160     abc<def>ghi<klm>nop
   161 
   162 /(?U)<.*>/I
   163     abc<def>ghi<klm>nop
   164 
   165 /<.*?>/IU
   166     abc<def>ghi<klm>nop
   167 
   168 /={3,}/IU
   169     abc========def
   170 
   171 /(?U)={3,}?/I
   172     abc========def
   173 
   174 /(?<!bar|cattle)foo/I
   175     foo
   176     catfoo
   177     *** Failers
   178     the barfoo
   179     and cattlefoo
   180 
   181 /(?<=a+)b/
   182 
   183 /(?<=aaa|b{0,3})b/
   184 
   185 /(?<!(foo)a\1)bar/
   186 
   187 /(?i)abc/I
   188 
   189 /(a|(?m)a)/I
   190 
   191 /(?i)^1234/I
   192 
   193 /(^b|(?i)^d)/I
   194 
   195 /(?s).*/I
   196 
   197 /[abcd]/IS
   198 
   199 /(?i)[abcd]/IS
   200 
   201 /(?m)[xy]|(b|c)/IS
   202 
   203 /(^a|^b)/Im
   204 
   205 /(?i)(^a|^b)/Im
   206 
   207 /(a)(?(1)a|b|c)/
   208 
   209 /(?(?=a)a|b|c)/
   210 
   211 /(?(1a)/
   212 
   213 /(?(1a))/
   214 
   215 /(?(?i))/
   216 
   217 /(?(abc))/
   218 
   219 /(?(?<ab))/
   220 
   221 /((?s)blah)\s+\1/I
   222 
   223 /((?i)blah)\s+\1/I
   224 
   225 /((?i)b)/IDZS
   226 
   227 /(a*b|(?i:c*(?-i)d))/IS
   228 
   229 /a$/I
   230     a
   231     a\n
   232     *** Failers
   233     \Za
   234     \Za\n
   235 
   236 /a$/Im
   237     a
   238     a\n
   239     \Za\n
   240     *** Failers
   241     \Za
   242 
   243 /\Aabc/Im
   244 
   245 /^abc/Im
   246 
   247 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
   248   aaaaabbbbbcccccdef
   249 
   250 /(?<=foo)[ab]/IS
   251 
   252 /(?<!foo)(alpha|omega)/IS
   253 
   254 /(?!alphabet)[ab]/IS
   255 
   256 /(?<=foo\n)^bar/Im
   257     foo\nbarbar
   258     ***Failers
   259     rhubarb
   260     barbell
   261     abc\nbarton
   262 
   263 /^(?<=foo\n)bar/Im
   264     foo\nbarbar
   265     ***Failers
   266     rhubarb
   267     barbell
   268     abc\nbarton
   269 
   270 /(?>^abc)/Im
   271     abc
   272     def\nabc
   273     *** Failers
   274     defabc
   275 
   276 /(?<=ab(c+)d)ef/
   277 
   278 /(?<=ab(?<=c+)d)ef/
   279 
   280 /(?<=ab(c|de)f)g/
   281 
   282 /The next three are in testinput2 because they have variable length branches/
   283 
   284 /(?<=bullock|donkey)-cart/I
   285     the bullock-cart
   286     a donkey-cart race
   287     *** Failers
   288     cart
   289     horse-and-cart
   290 
   291 /(?<=ab(?i)x|y|z)/I
   292 
   293 /(?>.*)(?<=(abcd)|(xyz))/I
   294     alphabetabcd
   295     endingxyz
   296 
   297 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
   298     abxyZZ
   299     abXyZZ
   300     ZZZ
   301     zZZ
   302     bZZ
   303     BZZ
   304     *** Failers
   305     ZZ
   306     abXYZZ
   307     zzz
   308     bzz
   309 
   310 /(?<!(foo)a)bar/I
   311     bar
   312     foobbar
   313     *** Failers
   314     fooabar
   315 
   316 /This one is here because Perl 5.005_02 doesn't fail it/I
   317 
   318 /^(a)?(?(1)a|b)+$/I
   319     *** Failers
   320     a
   321 
   322 /This one is here because Perl behaves differently; see also the following/I
   323 
   324 /^(a\1?){4}$/I
   325     aaaa
   326     aaaaaa
   327     
   328 /Perl does not fail these two for the final subjects. Neither did PCRE until/
   329 /release 8.01. The problem is in backtracking into a subpattern that contains/
   330 /a recursive reference to itself. PCRE has now made these into atomic patterns./
   331 
   332 /^(xa|=?\1a){2}$/
   333     xa=xaa
   334     ** Failers
   335     xa=xaaa
   336 
   337 /^(xa|=?\1a)+$/
   338     xa=xaa
   339     ** Failers
   340     xa=xaaa
   341 
   342 /These are syntax tests from Perl 5.005/I
   343 
   344 /a[b-a]/
   345 
   346 /a[]b/
   347 
   348 /a[/
   349 
   350 /*a/
   351 
   352 /(*)b/
   353 
   354 /abc)/
   355 
   356 /(abc/
   357 
   358 /a**/
   359 
   360 /)(/
   361 
   362 /\1/
   363 
   364 /\2/
   365 
   366 /(a)|\2/
   367 
   368 /a[b-a]/Ii
   369 
   370 /a[]b/Ii
   371 
   372 /a[/Ii
   373 
   374 /*a/Ii
   375 
   376 /(*)b/Ii
   377 
   378 /abc)/Ii
   379 
   380 /(abc/Ii
   381 
   382 /a**/Ii
   383 
   384 /)(/Ii
   385 
   386 /:(?:/
   387 
   388 /(?<%)b/
   389 
   390 /a(?{)b/
   391 
   392 /a(?{{})b/
   393 
   394 /a(?{}})b/
   395 
   396 /a(?{"{"})b/
   397 
   398 /a(?{"{"}})b/
   399 
   400 /(?(1?)a|b)/
   401 
   402 /[a[:xyz:/
   403 
   404 /(?<=x+)y/
   405 
   406 /a{37,17}/
   407 
   408 /abc/\
   409 
   410 /abc/\i
   411 
   412 /(a)bc(d)/I
   413     abcd
   414     abcd\C2
   415     abcd\C5
   416 
   417 /(.{20})/I
   418     abcdefghijklmnopqrstuvwxyz
   419     abcdefghijklmnopqrstuvwxyz\C1
   420     abcdefghijklmnopqrstuvwxyz\G1
   421 
   422 /(.{15})/I
   423     abcdefghijklmnopqrstuvwxyz
   424     abcdefghijklmnopqrstuvwxyz\C1\G1
   425 
   426 /(.{16})/I
   427     abcdefghijklmnopqrstuvwxyz
   428     abcdefghijklmnopqrstuvwxyz\C1\G1\L
   429 
   430 /^(a|(bc))de(f)/I
   431     adef\G1\G2\G3\G4\L
   432     bcdef\G1\G2\G3\G4\L
   433     adefghijk\C0
   434 
   435 /^abc\00def/I
   436     abc\00def\L\C0
   437 
   438 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
   439 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
   440 )?)?)?)?)?)?)?)?)?otherword/I
   441 
   442 /.*X/IDZ
   443 
   444 /.*X/IDZs
   445 
   446 /(.*X|^B)/IDZ
   447 
   448 /(.*X|^B)/IDZs
   449 
   450 /(?s)(.*X|^B)/IDZ
   451 
   452 /(?s:.*X|^B)/IDZ
   453 
   454 /\Biss\B/I+
   455     Mississippi
   456 
   457 /iss/IG+
   458     Mississippi
   459 
   460 /\Biss\B/IG+
   461     Mississippi
   462 
   463 /\Biss\B/Ig+
   464     Mississippi
   465     *** Failers
   466     Mississippi\A
   467 
   468 /(?<=[Ms])iss/Ig+
   469     Mississippi
   470 
   471 /(?<=[Ms])iss/IG+
   472     Mississippi
   473 
   474 /^iss/Ig+
   475     ississippi
   476 
   477 /.*iss/Ig+
   478     abciss\nxyzisspqr
   479 
   480 /.i./I+g
   481     Mississippi
   482     Mississippi\A
   483     Missouri river
   484     Missouri river\A
   485 
   486 /^.is/I+g
   487     Mississippi
   488 
   489 /^ab\n/Ig+
   490     ab\nab\ncd
   491 
   492 /^ab\n/Img+
   493     ab\nab\ncd
   494 
   495 /abc/I
   496 
   497 /abc|bac/I
   498 
   499 /(abc|bac)/I
   500 
   501 /(abc|(c|dc))/I
   502 
   503 /(abc|(d|de)c)/I
   504 
   505 /a*/I
   506 
   507 /a+/I
   508 
   509 /(baa|a+)/I
   510 
   511 /a{0,3}/I
   512 
   513 /baa{3,}/I
   514 
   515 /"([^\\"]+|\\.)*"/I
   516 
   517 /(abc|ab[cd])/I
   518 
   519 /(a|.)/I
   520 
   521 /a|ba|\w/I
   522 
   523 /abc(?=pqr)/I
   524 
   525 /...(?<=abc)/I
   526 
   527 /abc(?!pqr)/I
   528 
   529 /ab./I
   530 
   531 /ab[xyz]/I
   532 
   533 /abc*/I
   534 
   535 /ab.c*/I
   536 
   537 /a.c*/I
   538 
   539 /.c*/I
   540 
   541 /ac*/I
   542 
   543 /(a.c*|b.c*)/I
   544 
   545 /a.c*|aba/I
   546 
   547 /.+a/I
   548 
   549 /(?=abcda)a.*/I
   550 
   551 /(?=a)a.*/I
   552 
   553 /a(b)*/I
   554 
   555 /a\d*/I
   556 
   557 /ab\d*/I
   558 
   559 /a(\d)*/I
   560 
   561 /abcde{0,0}/I
   562 
   563 /ab\d+/I
   564 
   565 /a(?(1)b)(.)/I
   566 
   567 /a(?(1)bag|big)(.)/I
   568 
   569 /a(?(1)bag|big)*(.)/I
   570 
   571 /a(?(1)bag|big)+(.)/I
   572 
   573 /a(?(1)b..|b..)(.)/I
   574 
   575 /ab\d{0}e/I
   576 
   577 /a?b?/I
   578     a
   579     b
   580     ab
   581     \
   582     *** Failers
   583     \N
   584 
   585 /|-/I
   586     abcd
   587     -abc
   588     \Nab-c
   589     *** Failers
   590     \Nabc
   591 
   592 /^.?abcd/IS
   593 
   594 /\(             # ( at start
   595   (?:           # Non-capturing bracket
   596   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
   597   |             # Or
   598   (?R)          # Recurse - i.e. nested bracketed string
   599   )*            # Zero or more contents
   600   \)            # Closing )
   601   /Ix
   602     (abcd)
   603     (abcd)xyz
   604     xyz(abcd)
   605     (ab(xy)cd)pqr
   606     (ab(xycd)pqr
   607     () abc ()
   608     12(abcde(fsh)xyz(foo(bar))lmno)89
   609     *** Failers
   610     abcd
   611     abcd)
   612     (abcd
   613 
   614 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
   615     (ab(xy)cd)pqr
   616     1(abcd)(x(y)z)pqr
   617 
   618 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
   619     (abcd)
   620     (ab(xy)cd)
   621     (a(b(c)d)e)
   622     ((ab))
   623     *** Failers
   624     ()
   625 
   626 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
   627     ()
   628     12(abcde(fsh)xyz(foo(bar))lmno)89
   629 
   630 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
   631     (ab(xy)cd)
   632 
   633 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   634     (ab(xy)cd)
   635 
   636 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   637     (ab(xy)cd)
   638     (123ab(xy)cd)
   639 
   640 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
   641     (ab(xy)cd)
   642     (123ab(xy)cd)
   643 
   644 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
   645     (ab(xy)cd)
   646 
   647 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
   648     (abcd(xyz<p>qrs)123)
   649 
   650 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
   651     (ab(cd)ef)
   652     (ab(cd(ef)gh)ij)
   653 
   654 /^[[:alnum:]]/DZ
   655 
   656 /^[[:^alnum:]]/DZ
   657 
   658 /^[[:alpha:]]/DZ
   659 
   660 /^[[:^alpha:]]/DZ
   661 
   662 /[_[:alpha:]]/IS
   663 
   664 /^[[:ascii:]]/DZ
   665 
   666 /^[[:^ascii:]]/DZ
   667 
   668 /^[[:blank:]]/DZ
   669 
   670 /^[[:^blank:]]/DZ
   671 
   672 /[\n\x0b\x0c\x0d[:blank:]]/IS
   673 
   674 /^[[:cntrl:]]/DZ
   675 
   676 /^[[:digit:]]/DZ
   677 
   678 /^[[:graph:]]/DZ
   679 
   680 /^[[:lower:]]/DZ
   681 
   682 /^[[:print:]]/DZ
   683 
   684 /^[[:punct:]]/DZ
   685 
   686 /^[[:space:]]/DZ
   687 
   688 /^[[:upper:]]/DZ
   689 
   690 /^[[:xdigit:]]/DZ
   691 
   692 /^[[:word:]]/DZ
   693 
   694 /^[[:^cntrl:]]/DZ
   695 
   696 /^[12[:^digit:]]/DZ
   697 
   698 /^[[:^blank:]]/DZ
   699 
   700 /[01[:alpha:]%]/DZ
   701 
   702 /[[.ch.]]/I
   703 
   704 /[[=ch=]]/I
   705 
   706 /[[:rhubarb:]]/I
   707 
   708 /[[:upper:]]/Ii
   709     A
   710     a
   711 
   712 /[[:lower:]]/Ii
   713     A
   714     a
   715 
   716 /((?-i)[[:lower:]])[[:lower:]]/Ii
   717     ab
   718     aB
   719     *** Failers
   720     Ab
   721     AB
   722 
   723 /[\200-\110]/I
   724 
   725 /^(?(0)f|b)oo/I
   726 
   727 /This one's here because of the large output vector needed/I
   728 
   729 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
   730     \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
   731 
   732 /This one's here because Perl does this differently and PCRE can't at present/I
   733 
   734 /(main(O)?)+/I
   735     mainmain
   736     mainOmain
   737 
   738 /These are all cases where Perl does it differently (nested captures)/I
   739 
   740 /^(a(b)?)+$/I
   741     aba
   742 
   743 /^(aa(bb)?)+$/I
   744     aabbaa
   745 
   746 /^(aa|aa(bb))+$/I
   747     aabbaa
   748 
   749 /^(aa(bb)??)+$/I
   750     aabbaa
   751 
   752 /^(?:aa(bb)?)+$/I
   753     aabbaa
   754 
   755 /^(aa(b(b))?)+$/I
   756     aabbaa
   757 
   758 /^(?:aa(b(b))?)+$/I
   759     aabbaa
   760 
   761 /^(?:aa(b(?:b))?)+$/I
   762     aabbaa
   763 
   764 /^(?:aa(bb(?:b))?)+$/I
   765     aabbbaa
   766 
   767 /^(?:aa(b(?:bb))?)+$/I
   768     aabbbaa
   769 
   770 /^(?:aa(?:b(b))?)+$/I
   771     aabbaa
   772 
   773 /^(?:aa(?:b(bb))?)+$/I
   774     aabbbaa
   775 
   776 /^(aa(b(bb))?)+$/I
   777     aabbbaa
   778 
   779 /^(aa(bb(bb))?)+$/I
   780     aabbbbaa
   781 
   782 /--------------------------------------------------------------------/I
   783 
   784 /#/IxDZ
   785 
   786 /a#/IxDZ
   787 
   788 /[\s]/DZ
   789 
   790 /[\S]/DZ
   791 
   792 /a(?i)b/DZ
   793     ab
   794     aB
   795     *** Failers
   796     AB
   797 
   798 /(a(?i)b)/DZ
   799     ab
   800     aB
   801     *** Failers
   802     AB
   803 
   804 /   (?i)abc/IxDZ
   805 
   806 /#this is a comment
   807   (?i)abc/IxDZ
   808 
   809 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   810 
   811 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   812 
   813 /\Q\E/DZ
   814     \
   815 
   816 /\Q\Ex/DZ
   817 
   818 / \Q\E/DZ
   819 
   820 /a\Q\E/DZ
   821   abc
   822   bca
   823   bac
   824 
   825 /a\Q\Eb/DZ
   826   abc
   827 
   828 /\Q\Eabc/DZ
   829 
   830 /x*+\w/DZ
   831     *** Failers
   832     xxxxx
   833 
   834 /x?+/DZ
   835 
   836 /x++/DZ
   837 
   838 /x{1,3}+/DZ
   839 
   840 /(x)*+/DZ
   841 
   842 /^(\w++|\s++)*$/I
   843     now is the time for all good men to come to the aid of the party
   844     *** Failers
   845     this is not a line with only words and spaces!
   846 
   847 /(\d++)(\w)/I
   848     12345a
   849     *** Failers
   850     12345+
   851 
   852 /a++b/I
   853     aaab
   854 
   855 /(a++b)/I
   856     aaab
   857 
   858 /(a++)b/I
   859     aaab
   860 
   861 /([^()]++|\([^()]*\))+/I
   862     ((abc(ade)ufh()()x
   863 
   864 /\(([^()]++|\([^()]+\))+\)/I
   865     (abc)
   866     (abc(def)xyz)
   867     *** Failers
   868     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   869 
   870 /(abc){1,3}+/DZ
   871 
   872 /a+?+/I
   873 
   874 /a{2,3}?+b/I
   875 
   876 /(?U)a+?+/I
   877 
   878 /a{2,3}?+b/IU
   879 
   880 /x(?U)a++b/DZ
   881     xaaaab
   882 
   883 /(?U)xa++b/DZ
   884     xaaaab
   885 
   886 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
   887 
   888 /^x(?U)a+b/DZ
   889 
   890 /^x(?U)(a+)b/DZ
   891 
   892 /[.x.]/I
   893 
   894 /[=x=]/I
   895 
   896 /[:x:]/I
   897 
   898 /\l/I
   899 
   900 /\L/I
   901 
   902 /\N{name}/I
   903 
   904 /\u/I
   905 
   906 /\U/I
   907 
   908 /[/I
   909 
   910 /[a-/I
   911 
   912 /[[:space:]/I
   913 
   914 /[\s]/IDZ
   915 
   916 /[[:space:]]/IDZ
   917 
   918 /[[:space:]abcde]/IDZ
   919 
   920 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
   921     <>
   922     <abcd>
   923     <abc <123> hij>
   924     <abc <def> hij>
   925     <abc<>def>
   926     <abc<>
   927     *** Failers
   928     <abc
   929 
   930 |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
   931 
   932 |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
   933 
   934 /(.*)\d+\1/I
   935 
   936 /(.*)\d+/I
   937 
   938 /(.*)\d+\1/Is
   939 
   940 /(.*)\d+/Is
   941 
   942 /(.*(xyz))\d+\2/I
   943 
   944 /((.*))\d+\1/I
   945     abc123bc
   946 
   947 /a[b]/I
   948 
   949 /(?=a).*/I
   950 
   951 /(?=abc).xyz/IiI
   952 
   953 /(?=abc)(?i).xyz/I
   954 
   955 /(?=a)(?=b)/I
   956 
   957 /(?=.)a/I
   958 
   959 /((?=abcda)a)/I
   960 
   961 /((?=abcda)ab)/I
   962 
   963 /()a/I
   964 
   965 /(?(1)ab|ac)(.)/I
   966 
   967 /(?(1)abz|acz)(.)/I
   968 
   969 /(?(1)abz)(.)/I
   970 
   971 /(?(1)abz)(1)23/I
   972 
   973 /(a)+/I
   974 
   975 /(a){2,3}/I
   976 
   977 /(a)*/I
   978 
   979 /[a]/I
   980 
   981 /[ab]/I
   982 
   983 /[ab]/IS
   984 
   985 /[^a]/I
   986 
   987 /\d456/I
   988 
   989 /\d456/IS
   990 
   991 /a^b/I
   992 
   993 /^a/Im
   994   abcde
   995   xy\nabc
   996   *** Failers
   997   xyabc
   998 
   999 /c|abc/I
  1000 
  1001 /(?i)[ab]/IS
  1002 
  1003 /[ab](?i)cd/IS
  1004 
  1005 /abc(?C)def/I
  1006     abcdef
  1007     1234abcdef
  1008     *** Failers
  1009     abcxyz
  1010     abcxyzf
  1011 
  1012 /abc(?C)de(?C1)f/I
  1013     123abcdef
  1014 
  1015 /(?C1)\dabc(?C2)def/IS
  1016     1234abcdef
  1017     *** Failers
  1018     abcdef
  1019 
  1020 /(?C1)\dabc(?C2)def/ISS
  1021     1234abcdef
  1022     *** Failers
  1023     abcdef
  1024 
  1025 /(?C255)ab/I
  1026 
  1027 /(?C256)ab/I
  1028 
  1029 /(?Cab)xx/I
  1030 
  1031 /(?C12vr)x/I
  1032 
  1033 /abc(?C)def/I
  1034     *** Failers
  1035     \x83\x0\x61bcdef
  1036 
  1037 /(abc)(?C)de(?C1)f/I
  1038     123abcdef
  1039     123abcdef\C+
  1040     123abcdef\C-
  1041     *** Failers
  1042     123abcdef\C!1
  1043 
  1044 /(?C0)(abc(?C1))*/I
  1045     abcabcabc
  1046     abcabc\C!1!3
  1047     *** Failers
  1048     abcabcabc\C!1!3
  1049 
  1050 /(\d{3}(?C))*/I
  1051     123\C+
  1052     123456\C+
  1053     123456789\C+
  1054 
  1055 /((xyz)(?C)p|(?C1)xyzabc)/I
  1056     xyzabc\C+
  1057 
  1058 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
  1059     Xxyzabc\C+
  1060 
  1061 /(?=(abc))(?C)abcdef/I
  1062     abcdef\C+
  1063 
  1064 /(?!(abc)(?C1)d)(?C2)abcxyz/I
  1065     abcxyz\C+
  1066 
  1067 /(?<=(abc)(?C))xyz/I
  1068    abcxyz\C+
  1069 
  1070 /a(b+)(c*)(?C1)/I
  1071     abbbbbccc\C*1
  1072 
  1073 /a(b+?)(c*?)(?C1)/I
  1074     abbbbbccc\C*1
  1075 
  1076 /(?C)abc/I
  1077 
  1078 /(?C)^abc/I
  1079 
  1080 /(?C)a|b/IS
  1081 
  1082 /(?R)/I
  1083 
  1084 /(a|(?R))/I
  1085 
  1086 /(ab|(bc|(de|(?R))))/I
  1087 
  1088 /x(ab|(bc|(de|(?R))))/I
  1089     xab
  1090     xbc
  1091     xde
  1092     xxab
  1093     xxxab
  1094     *** Failers
  1095     xyab
  1096 
  1097 /(ab|(bc|(de|(?1))))/I
  1098 
  1099 /x(ab|(bc|(de|(?1)x)x)x)/I
  1100 
  1101 /^([^()]|\((?1)*\))*$/I
  1102     abc
  1103     a(b)c
  1104     a(b(c))d
  1105     *** Failers)
  1106     a(b(c)d
  1107 
  1108 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
  1109    >abc>123<xyz<
  1110    >abc>1(2)3<xyz<
  1111    >abc>(1(2)3)<xyz<
  1112 
  1113 /(a(?1)b)/DZ
  1114 
  1115 /(a(?1)+b)/DZ
  1116 
  1117 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
  1118     12
  1119     (((2+2)*-3)-7)
  1120     -12
  1121     *** Failers
  1122     ((2+2)*-3)-7)
  1123 
  1124 /^(x(y|(?1){2})z)/I
  1125     xyz
  1126     xxyzxyzz
  1127     *** Failers
  1128     xxyzz
  1129     xxyzxyzxyzz
  1130 
  1131 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
  1132     <>
  1133     <abcd>
  1134     <abc <123> hij>
  1135     <abc <def> hij>
  1136     <abc<>def>
  1137     <abc<>
  1138     *** Failers
  1139     <abc
  1140 
  1141 /(?1)/I
  1142 
  1143 /((?2)(abc)/I
  1144 
  1145 /^(abc)def(?1)/I
  1146     abcdefabc
  1147 
  1148 /^(a|b|c)=(?1)+/I
  1149     a=a
  1150     a=b
  1151     a=bc
  1152 
  1153 /^(a|b|c)=((?1))+/I
  1154     a=a
  1155     a=b
  1156     a=bc
  1157 
  1158 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
  1159     abde
  1160     acde
  1161 
  1162 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
  1163 
  1164 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
  1165 
  1166 /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
  1167     1221
  1168     Satan, oscillate my metallic sonatas!
  1169     A man, a plan, a canal: Panama!
  1170     Able was I ere I saw Elba.
  1171     *** Failers
  1172     The quick brown fox
  1173 
  1174 /((?(R)a|b))\1(?1)?/I
  1175   bb
  1176   bbaa
  1177 
  1178 /(.*)a/Is
  1179 
  1180 /(.*)a\1/Is
  1181 
  1182 /(.*)a(b)\2/Is
  1183 
  1184 /((.*)a|(.*)b)z/Is
  1185 
  1186 /((.*)a|(.*)b)z\1/Is
  1187 
  1188 /((.*)a|(.*)b)z\2/Is
  1189 
  1190 /((.*)a|(.*)b)z\3/Is
  1191 
  1192 /((.*)a|^(.*)b)z\3/Is
  1193 
  1194 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
  1195 
  1196 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
  1197 
  1198 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
  1199 
  1200 /(a)(bc)/INDZ
  1201   abc
  1202 
  1203 /(?P<one>a)(bc)/INDZ
  1204   abc
  1205 
  1206 /(a)(?P<named>bc)/INDZ
  1207 
  1208 /(a+)*zz/I
  1209   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
  1210   aaaaaaaaaaaaaz\M
  1211 
  1212 /(aaa(?C1)bbb|ab)/I
  1213    aaabbb
  1214    aaabbb\C*0
  1215    aaabbb\C*1
  1216    aaabbb\C*-1
  1217 
  1218 /ab(?P<one>cd)ef(?P<two>gh)/I
  1219     abcdefgh
  1220     abcdefgh\C1\Gtwo
  1221     abcdefgh\Cone\Ctwo
  1222     abcdefgh\Cthree
  1223 
  1224 /(?P<Tes>)(?P<Test>)/DZ
  1225 
  1226 /(?P<Test>)(?P<Tes>)/DZ
  1227 
  1228 /(?P<Z>zz)(?P<A>aa)/I
  1229     zzaa\CZ
  1230     zzaa\CA
  1231 
  1232 /(?P<x>eks)(?P<x>eccs)/I
  1233 
  1234 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
  1235 
  1236 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
  1237     [10,20,30,5,5,4,4,2,43,23,4234]
  1238     *** Failers
  1239     []
  1240 
  1241 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
  1242     [10,20,30,5,5,4,4,2,43,23,4234]
  1243     []
  1244 
  1245 /(a(b(?2)c))?/DZ
  1246 
  1247 /(a(b(?2)c))*/DZ
  1248 
  1249 /(a(b(?2)c)){0,2}/DZ
  1250 
  1251 /[ab]{1}+/DZ
  1252 
  1253 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
  1254      Baby Bjorn Active Carrier - With free SHIPPING!!
  1255 
  1256 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
  1257      Baby Bjorn Active Carrier - With free SHIPPING!!
  1258 
  1259 /a*.*b/ISDZ
  1260 
  1261 /(a|b)*.?c/ISDZ
  1262 
  1263 /abc(?C255)de(?C)f/DZ
  1264 
  1265 /abcde/ICDZ
  1266   abcde
  1267   abcdfe
  1268 
  1269 /a*b/ICDZS
  1270   ab
  1271   aaaab
  1272   aaaacb
  1273 
  1274 /a*b/ICDZSS
  1275   ab
  1276   aaaab
  1277   aaaacb
  1278 
  1279 /a+b/ICDZ
  1280   ab
  1281   aaaab
  1282   aaaacb
  1283 
  1284 /(abc|def)x/ICDZS
  1285   abcx
  1286   defx
  1287   ** Failers 
  1288   abcdefzx
  1289 
  1290 /(abc|def)x/ICDZSS
  1291   abcx
  1292   defx
  1293   ** Failers 
  1294   abcdefzx
  1295 
  1296 /(ab|cd){3,4}/IC
  1297   ababab
  1298   abcdabcd
  1299   abcdcdcdcdcd
  1300 
  1301 /([ab]{,4}c|xy)/ICDZS
  1302     Note: that { does NOT introduce a quantifier
  1303 
  1304 /([ab]{,4}c|xy)/ICDZSS
  1305     Note: that { does NOT introduce a quantifier
  1306 
  1307 /([ab]{1,4}c|xy){4,5}?123/ICDZ
  1308     aacaacaacaacaac123
  1309 
  1310 /\b.*/I
  1311   ab cd\>1
  1312 
  1313 /\b.*/Is
  1314   ab cd\>1
  1315 
  1316 /(?!.bcd).*/I
  1317   Xbcd12345
  1318 
  1319 /abcde/I
  1320     ab\P
  1321     abc\P
  1322     abcd\P
  1323     abcde\P
  1324     the quick brown abc\P
  1325     ** Failers\P
  1326     the quick brown abxyz fox\P
  1327 
  1328 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
  1329     13/05/04\P
  1330     13/5/2004\P
  1331     02/05/09\P
  1332     1\P
  1333     1/2\P
  1334     1/2/0\P
  1335     1/2/04\P
  1336     0\P
  1337     02/\P
  1338     02/0\P
  1339     02/1\P
  1340     ** Failers\P
  1341     \P
  1342     123\P
  1343     33/4/04\P
  1344     3/13/04\P
  1345     0/1/2003\P
  1346     0/\P
  1347     02/0/\P
  1348     02/13\P
  1349 
  1350 /0{0,2}ABC/I
  1351 
  1352 /\d{3,}ABC/I
  1353 
  1354 /\d*ABC/I
  1355 
  1356 /[abc]+DE/I
  1357 
  1358 /[abc]?123/I
  1359     123\P
  1360     a\P
  1361     b\P
  1362     c\P
  1363     c12\P
  1364     c123\P
  1365 
  1366 /^(?:\d){3,5}X/I
  1367     1\P
  1368     123\P
  1369     123X
  1370     1234\P
  1371     1234X
  1372     12345\P
  1373     12345X
  1374     *** Failers
  1375     1X
  1376     123456\P
  1377 
  1378 /abc/IS>testsavedregex
  1379 <testsavedregex
  1380     abc
  1381     ** Failers
  1382     bca
  1383 
  1384 /abc/ISS>testsavedregex
  1385 <testsavedregex
  1386     abc
  1387     ** Failers
  1388     bca
  1389 
  1390 /abc/IFS>testsavedregex
  1391 <testsavedregex
  1392     abc
  1393     ** Failers
  1394     bca
  1395 
  1396 /abc/IFSS>testsavedregex
  1397 <testsavedregex
  1398     abc
  1399     ** Failers
  1400     bca
  1401 
  1402 /(a|b)/IS>testsavedregex
  1403 <testsavedregex
  1404     abc
  1405     ** Failers
  1406     def
  1407 
  1408 /(a|b)/ISS>testsavedregex
  1409 <testsavedregex
  1410     abc
  1411     ** Failers
  1412     def
  1413 
  1414 /(a|b)/ISF>testsavedregex
  1415 <testsavedregex
  1416     abc
  1417     ** Failers
  1418     def
  1419 
  1420 /(a|b)/ISSF>testsavedregex
  1421 <testsavedregex
  1422     abc
  1423     ** Failers
  1424     def
  1425 
  1426 ~<(\w+)/?>(.)*</(\1)>~smgI
  1427     \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
  1428 
  1429 /^a/IF
  1430 
  1431 /line\nbreak/I
  1432     this is a line\nbreak
  1433     line one\nthis is a line\nbreak in the second line
  1434 
  1435 /line\nbreak/If
  1436     this is a line\nbreak
  1437     ** Failers
  1438     line one\nthis is a line\nbreak in the second line
  1439 
  1440 /line\nbreak/Imf
  1441     this is a line\nbreak
  1442     ** Failers
  1443     line one\nthis is a line\nbreak in the second line
  1444 
  1445 /(?i)(?-i)AbCd/I
  1446     AbCd
  1447     ** Failers
  1448     abcd
  1449 
  1450 /a{11111111111111111111}/I
  1451 
  1452 /(){64294967295}/I
  1453 
  1454 /(){2,4294967295}/I
  1455 
  1456 "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
  1457     abcdefghijklAkB
  1458 
  1459 "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
  1460     abcdefghijklAkB
  1461 
  1462 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
  1463     abcdefghijklAkB
  1464 
  1465 "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
  1466     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  1467 
  1468 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
  1469     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  1470 
  1471 /[^()]*(?:\((?R)\)[^()]*)*/I
  1472     (this(and)that
  1473     (this(and)that)
  1474     (this(and)that)stuff
  1475 
  1476 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
  1477     (this(and)that
  1478     (this(and)that)
  1479 
  1480 /[^()]*(?:\((?R)\))*[^()]*/I
  1481     (this(and)that
  1482     (this(and)that)
  1483 
  1484 /(?:\((?R)\))*[^()]*/I
  1485     (this(and)that
  1486     (this(and)that)
  1487     ((this))
  1488 
  1489 /(?:\((?R)\))|[^()]*/I
  1490     (this(and)that
  1491     (this(and)that)
  1492     (this)
  1493     ((this))
  1494 
  1495 /\x{0000ff}/I
  1496 
  1497 /^((?P<A>a1)|(?P<A>a2)b)/I
  1498 
  1499 /^((?P<A>a1)|(?P<A>a2)b)/IJ
  1500     a1b\CA
  1501     a2b\CA
  1502     ** Failers
  1503     a1b\CZ\CA
  1504 
  1505 /^(?P<A>a)(?P<A>b)/IJ
  1506     ab\CA
  1507 
  1508 /^(?P<A>a)(?P<A>b)|cd/IJ
  1509     ab\CA
  1510     cd\CA
  1511 
  1512 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
  1513     cdefgh\CA
  1514 
  1515 /^((?P<A>a1)|(?P<A>a2)b)/IJ
  1516     a1b\GA
  1517     a2b\GA
  1518     ** Failers
  1519     a1b\GZ\GA
  1520 
  1521 /^(?P<A>a)(?P<A>b)/IJ
  1522     ab\GA
  1523 
  1524 /^(?P<A>a)(?P<A>b)|cd/IJ
  1525     ab\GA
  1526     cd\GA
  1527 
  1528 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
  1529     cdefgh\GA
  1530 
  1531 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
  1532     a1b\CA
  1533     a2b\CA
  1534 
  1535 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
  1536 
  1537 / In this next test, J is not set at the outer level; consequently it isn't
  1538 set in the pattern's options; consequently pcre_get_named_substring() produces
  1539 a random value. /Ix
  1540 
  1541 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
  1542     a bc d\CA\CB\CC
  1543 
  1544 /^(?P<A>a)?(?(A)a|b)/I
  1545     aabc
  1546     bc
  1547     ** Failers
  1548     abc
  1549 
  1550 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
  1551     bXaX
  1552 
  1553 /(?:(?(2y)a|b)(X))+/I
  1554 
  1555 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
  1556 
  1557 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
  1558     bbXaaX
  1559 
  1560 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
  1561     (b)\\Xa\\X
  1562 
  1563 /(?P<ABC/I
  1564 
  1565 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
  1566     bXXaYYaY
  1567     bXYaXXaX
  1568 
  1569 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
  1570     bXXaYYaY
  1571 
  1572 /\s*,\s*/IS
  1573     \x0b,\x0b
  1574     \x0c,\x0d
  1575 
  1576 /^abc/Im
  1577     xyz\nabc
  1578     xyz\nabc\<lf>
  1579     xyz\r\nabc\<lf>
  1580     xyz\rabc\<cr>
  1581     xyz\r\nabc\<crlf>
  1582     ** Failers
  1583     xyz\nabc\<cr>
  1584     xyz\r\nabc\<cr>
  1585     xyz\nabc\<crlf>
  1586     xyz\rabc\<crlf>
  1587     xyz\rabc\<lf>
  1588 
  1589 /abc$/Im<lf>
  1590     xyzabc
  1591     xyzabc\n
  1592     xyzabc\npqr
  1593     xyzabc\r\<cr>
  1594     xyzabc\rpqr\<cr>
  1595     xyzabc\r\n\<crlf>
  1596     xyzabc\r\npqr\<crlf>
  1597     ** Failers
  1598     xyzabc\r
  1599     xyzabc\rpqr
  1600     xyzabc\r\n
  1601     xyzabc\r\npqr
  1602 
  1603 /^abc/Im<cr>
  1604     xyz\rabcdef
  1605     xyz\nabcdef\<lf>
  1606     ** Failers
  1607     xyz\nabcdef
  1608 
  1609 /^abc/Im<lf>
  1610     xyz\nabcdef
  1611     xyz\rabcdef\<cr>
  1612     ** Failers
  1613     xyz\rabcdef
  1614 
  1615 /^abc/Im<crlf>
  1616     xyz\r\nabcdef
  1617     xyz\rabcdef\<cr>
  1618     ** Failers
  1619     xyz\rabcdef
  1620 
  1621 /^abc/Im<bad>
  1622 
  1623 /abc/I
  1624     xyz\rabc\<bad>
  1625     abc
  1626 
  1627 /.*/I<lf>
  1628     abc\ndef
  1629     abc\rdef
  1630     abc\r\ndef
  1631     \<cr>abc\ndef
  1632     \<cr>abc\rdef
  1633     \<cr>abc\r\ndef
  1634     \<crlf>abc\ndef
  1635     \<crlf>abc\rdef
  1636     \<crlf>abc\r\ndef
  1637 
  1638 /\w+(.)(.)?def/Is
  1639     abc\ndef
  1640     abc\rdef
  1641     abc\r\ndef
  1642 
  1643 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
  1644    /* this is a C style comment */\M
  1645 
  1646 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
  1647 
  1648 /()()()()()()()()()()()()()()()()()()()()
  1649  ()()()()()()()()()()()()()()()()()()()()
  1650  ()()()()()()()()()()()()()()()()()()()()
  1651  ()()()()()()()()()()()()()()()()()()()()
  1652  ()()()()()()()()()()()()()()()()()()()()
  1653  (.(.))/Ix
  1654     XY\O400
  1655 
  1656 /(a*b|(?i:c*(?-i)d))/IS
  1657 
  1658 /()[ab]xyz/IS
  1659 
  1660 /(|)[ab]xyz/IS
  1661 
  1662 /(|c)[ab]xyz/IS
  1663 
  1664 /(|c?)[ab]xyz/IS
  1665 
  1666 /(d?|c?)[ab]xyz/IS
  1667 
  1668 /(d?|c)[ab]xyz/IS
  1669 
  1670 /^a*b\d/DZ
  1671 
  1672 /^a*+b\d/DZ
  1673 
  1674 /^a*?b\d/DZ
  1675 
  1676 /^a+A\d/DZ
  1677     aaaA5
  1678     ** Failers
  1679     aaaa5
  1680 
  1681 /^a*A\d/IiDZ
  1682     aaaA5
  1683     aaaa5
  1684 
  1685 /(a*|b*)[cd]/IS
  1686 
  1687 /(a+|b*)[cd]/IS
  1688 
  1689 /(a*|b+)[cd]/IS
  1690 
  1691 /(a+|b+)[cd]/IS
  1692 
  1693 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
  1694  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
  1695  (((
  1696  a
  1697  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  1698  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  1699  )))
  1700 /Ix
  1701   large nest
  1702 
  1703 /a*\d/BZ
  1704 
  1705 /a*\D/BZ
  1706 
  1707 /0*\d/BZ
  1708 
  1709 /0*\D/BZ
  1710 
  1711 /a*\s/BZ
  1712 
  1713 /a*\S/BZ
  1714 
  1715 / *\s/BZ
  1716 
  1717 / *\S/BZ
  1718 
  1719 /a*\w/BZ
  1720 
  1721 /a*\W/BZ
  1722 
  1723 /=*\w/BZ
  1724 
  1725 /=*\W/BZ
  1726 
  1727 /\d*a/BZ
  1728 
  1729 /\d*2/BZ
  1730 
  1731 /\d*\d/BZ
  1732 
  1733 /\d*\D/BZ
  1734 
  1735 /\d*\s/BZ
  1736 
  1737 /\d*\S/BZ
  1738 
  1739 /\d*\w/BZ
  1740 
  1741 /\d*\W/BZ
  1742 
  1743 /\D*a/BZ
  1744 
  1745 /\D*2/BZ
  1746 
  1747 /\D*\d/BZ
  1748 
  1749 /\D*\D/BZ
  1750 
  1751 /\D*\s/BZ
  1752 
  1753 /\D*\S/BZ
  1754 
  1755 /\D*\w/BZ
  1756 
  1757 /\D*\W/BZ
  1758 
  1759 /\s*a/BZ
  1760 
  1761 /\s*2/BZ
  1762 
  1763 /\s*\d/BZ
  1764 
  1765 /\s*\D/BZ
  1766 
  1767 /\s*\s/BZ
  1768 
  1769 /\s*\S/BZ
  1770 
  1771 /\s*\w/BZ
  1772 
  1773 /\s*\W/BZ
  1774 
  1775 /\S*a/BZ
  1776 
  1777 /\S*2/BZ
  1778 
  1779 /\S*\d/BZ
  1780 
  1781 /\S*\D/BZ
  1782 
  1783 /\S*\s/BZ
  1784 
  1785 /\S*\S/BZ
  1786 
  1787 /\S*\w/BZ
  1788 
  1789 /\S*\W/BZ
  1790 
  1791 /\w*a/BZ
  1792 
  1793 /\w*2/BZ
  1794 
  1795 /\w*\d/BZ
  1796 
  1797 /\w*\D/BZ
  1798 
  1799 /\w*\s/BZ
  1800 
  1801 /\w*\S/BZ
  1802 
  1803 /\w*\w/BZ
  1804 
  1805 /\w*\W/BZ
  1806 
  1807 /\W*a/BZ
  1808 
  1809 /\W*2/BZ
  1810 
  1811 /\W*\d/BZ
  1812 
  1813 /\W*\D/BZ
  1814 
  1815 /\W*\s/BZ
  1816 
  1817 /\W*\S/BZ
  1818 
  1819 /\W*\w/BZ
  1820 
  1821 /\W*\W/BZ
  1822 
  1823 /[^a]+a/BZ
  1824 
  1825 /[^a]+a/BZi
  1826 
  1827 /[^a]+A/BZi
  1828 
  1829 /[^a]+b/BZ
  1830 
  1831 /[^a]+\d/BZ
  1832 
  1833 /a*[^a]/BZ
  1834 
  1835 /(?P<abc>x)(?P<xyz>y)/I
  1836     xy\Cabc\Cxyz
  1837 
  1838 /(?<abc>x)(?'xyz'y)/I
  1839     xy\Cabc\Cxyz
  1840 
  1841 /(?<abc'x)(?'xyz'y)/I
  1842 
  1843 /(?<abc>x)(?'xyz>y)/I
  1844 
  1845 /(?P'abc'x)(?P<xyz>y)/I
  1846 
  1847 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
  1848     bXaX
  1849     bXbX
  1850     ** Failers
  1851     aXaX
  1852     aXbX
  1853 
  1854 /^(?P>abc)(?<abcd>xxx)/
  1855 
  1856 /^(?P>abc)(?<abc>x|y)/
  1857     xx
  1858     xy
  1859     yy
  1860     yx
  1861 
  1862 /^(?P>abc)(?P<abc>x|y)/
  1863     xx
  1864     xy
  1865     yy
  1866     yx
  1867 
  1868 /^((?(abc)a|b)(?<abc>x|y))+/
  1869     bxay
  1870     bxby
  1871     ** Failers
  1872     axby
  1873 
  1874 /^(((?P=abc)|X)(?<abc>x|y))+/
  1875     XxXxxx
  1876     XxXyyx
  1877     XxXyxx
  1878     ** Failers
  1879     x
  1880 
  1881 /^(?1)(abc)/
  1882     abcabc
  1883 
  1884 /^(?:(?:\1|X)(a|b))+/
  1885     Xaaa
  1886     Xaba
  1887 
  1888 /^[\E\Qa\E-\Qz\E]+/BZ
  1889 
  1890 /^[a\Q]bc\E]/BZ
  1891 
  1892 /^[a-\Q\E]/BZ
  1893 
  1894 /^(?P>abc)[()](?<abc>)/BZ
  1895 
  1896 /^((?(abc)y)[()](?P<abc>x))+/BZ
  1897     (xy)x
  1898 
  1899 /^(?P>abc)\Q()\E(?<abc>)/BZ
  1900 
  1901 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
  1902 
  1903 /^(?P>abc) # this is (a comment)
  1904   (?<abc>)/BZx
  1905 
  1906 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
  1907     1221
  1908     Satan, oscillate my metallic sonatas!
  1909     A man, a plan, a canal: Panama!
  1910     Able was I ere I saw Elba.
  1911     *** Failers
  1912     The quick brown fox
  1913 
  1914 /(?=(\w+))\1:/I
  1915     abcd:
  1916 
  1917 /(?=(?'abc'\w+))\k<abc>:/I
  1918     abcd:
  1919 
  1920 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
  1921     adaa
  1922     ** Failers
  1923     addd
  1924     adbb
  1925 
  1926 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
  1927     bdaa
  1928     bdab
  1929     ** Failers
  1930     bddd
  1931 
  1932 /(?(<bc))/
  1933 
  1934 /(?(''))/
  1935 
  1936 /(?('R')stuff)/
  1937 
  1938 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
  1939     abcabc1Xabc2XabcXabcabc
  1940 
  1941 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
  1942     abcabc1Xabc2XabcXabcabc
  1943 
  1944 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
  1945 
  1946 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
  1947     abcabc1Xabc2XabcXabcabc
  1948 
  1949 /^(?(DEFINE) abc | xyz ) /x
  1950 
  1951 /(?(DEFINE) abc) xyz/xI
  1952 
  1953 /(a|)*\d/
  1954   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  1955   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
  1956 
  1957 /^a.b/<lf>
  1958     a\rb
  1959     a\nb\<cr>
  1960     a\x85b\<anycrlf> 
  1961     ** Failers
  1962     a\nb
  1963     a\nb\<any>
  1964     a\rb\<cr>
  1965     a\rb\<any>
  1966     a\x85b\<any> 
  1967     a\rb\<anycrlf>
  1968 
  1969 /^abc./mgx<any>
  1970     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
  1971 
  1972 /abc.$/mgx<any>
  1973     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
  1974 
  1975 /a/<cr><any>
  1976 
  1977 /a/<any><crlf>
  1978 
  1979 /^a\Rb/<bsr_unicode>
  1980     a\nb
  1981     a\rb
  1982     a\r\nb
  1983     a\x0bb
  1984     a\x0cb
  1985     a\x85b
  1986     ** Failers
  1987     a\n\rb
  1988 
  1989 /^a\R*b/<bsr_unicode>
  1990     ab
  1991     a\nb
  1992     a\rb
  1993     a\r\nb
  1994     a\x0bb
  1995     a\x0cb
  1996     a\x85b
  1997     a\n\rb
  1998     a\n\r\x85\x0cb
  1999 
  2000 /^a\R+b/<bsr_unicode>
  2001     a\nb
  2002     a\rb
  2003     a\r\nb
  2004     a\x0bb
  2005     a\x0cb
  2006     a\x85b
  2007     a\n\rb
  2008     a\n\r\x85\x0cb
  2009     ** Failers
  2010     ab
  2011 
  2012 /^a\R{1,3}b/<bsr_unicode>
  2013     a\nb
  2014     a\n\rb
  2015     a\n\r\x85b
  2016     a\r\n\r\nb
  2017     a\r\n\r\n\r\nb
  2018     a\n\r\n\rb
  2019     a\n\n\r\nb
  2020     ** Failers
  2021     a\n\n\n\rb
  2022     a\r
  2023 
  2024 /^a[\R]b/<bsr_unicode>
  2025     aRb
  2026     ** Failers
  2027     a\nb
  2028 
  2029 /(?&abc)X(?<abc>P)/I
  2030     abcPXP123
  2031 
  2032 /(?1)X(?<abc>P)/I
  2033     abcPXP123
  2034 
  2035 /(?:a(?&abc)b)*(?<abc>x)/
  2036     123axbaxbaxbx456
  2037     123axbaxbaxb456
  2038 
  2039 /(?:a(?&abc)b){1,5}(?<abc>x)/
  2040     123axbaxbaxbx456
  2041 
  2042 /(?:a(?&abc)b){2,5}(?<abc>x)/
  2043     123axbaxbaxbx456
  2044 
  2045 /(?:a(?&abc)b){2,}(?<abc>x)/
  2046     123axbaxbaxbx456
  2047 
  2048 /(abc)(?i:(?1))/
  2049    defabcabcxyz
  2050    DEFabcABCXYZ
  2051 
  2052 /(abc)(?:(?i)(?1))/
  2053    defabcabcxyz
  2054    DEFabcABCXYZ
  2055 
  2056 /^(a)\g-2/
  2057 
  2058 /^(a)\g/
  2059 
  2060 /^(a)\g{0}/
  2061 
  2062 /^(a)\g{3/
  2063 
  2064 /^(a)\g{4a}/
  2065 
  2066 /^a.b/<lf>
  2067     a\rb
  2068     *** Failers
  2069     a\nb
  2070 
  2071 /.+foo/
  2072     afoo
  2073     ** Failers
  2074     \r\nfoo
  2075     \nfoo
  2076 
  2077 /.+foo/<crlf>
  2078     afoo
  2079     \nfoo
  2080     ** Failers
  2081     \r\nfoo
  2082 
  2083 /.+foo/<any>
  2084     afoo
  2085     ** Failers
  2086     \nfoo
  2087     \r\nfoo
  2088 
  2089 /.+foo/s
  2090     afoo
  2091     \r\nfoo
  2092     \nfoo
  2093     
  2094 /^$/mg<any>
  2095     abc\r\rxyz
  2096     abc\n\rxyz  
  2097     ** Failers 
  2098     abc\r\nxyz
  2099 
  2100 /(?m)^$/<any>g+
  2101     abc\r\n\r\n
  2102 
  2103 /(?m)^$|^\r\n/<any>g+ 
  2104     abc\r\n\r\n
  2105     
  2106 /(?m)$/<any>g+ 
  2107     abc\r\n\r\n
  2108 
  2109 /abc.$/mgx<anycrlf>
  2110     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
  2111 
  2112 /^X/m
  2113     XABC
  2114     ** Failers 
  2115     XABC\B
  2116 
  2117 /(ab|c)(?-1)/BZ
  2118     abc
  2119 
  2120 /xy(?+1)(abc)/BZ
  2121     xyabcabc
  2122     ** Failers
  2123     xyabc  
  2124     
  2125 /x(?-0)y/
  2126 
  2127 /x(?-1)y/
  2128 
  2129 /x(?+0)y/ 
  2130 
  2131 /x(?+1)y/
  2132 
  2133 /^(abc)?(?(-1)X|Y)/BZ
  2134     abcX
  2135     Y
  2136     ** Failers
  2137     abcY   
  2138     
  2139 /^((?(+1)X|Y)(abc))+/BZ 
  2140     YabcXabc
  2141     YabcXabcXabc
  2142     ** Failers
  2143     XabcXabc  
  2144 
  2145 /(?(-1)a)/BZ
  2146 
  2147 /((?(-1)a))/BZ
  2148 
  2149 /((?(-2)a))/BZ
  2150 
  2151 /^(?(+1)X|Y)(.)/BZ
  2152     Y!
  2153 
  2154 /(?<A>tom|bon)-\k{A}/
  2155     tom-tom
  2156     bon-bon 
  2157     ** Failers
  2158     tom-bon  
  2159 
  2160 /\g{A/ 
  2161 
  2162 /(?|(abc)|(xyz))/BZ
  2163    >abc<
  2164    >xyz< 
  2165 
  2166 /(x)(?|(abc)|(xyz))(x)/BZ
  2167     xabcx
  2168     xxyzx 
  2169 
  2170 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
  2171     xabcpqrx
  2172     xxyzx 
  2173 
  2174 /\H++X/BZ
  2175     ** Failers
  2176     XXXX
  2177     
  2178 /\H+\hY/BZ
  2179     XXXX Y 
  2180 
  2181 /\H+ Y/BZ
  2182 
  2183 /\h+A/BZ
  2184 
  2185 /\v*B/BZ
  2186 
  2187 /\V+\x0a/BZ
  2188 
  2189 /A+\h/BZ
  2190 
  2191 / *\H/BZ
  2192 
  2193 /A*\v/BZ
  2194 
  2195 /\x0b*\V/BZ
  2196 
  2197 /\d+\h/BZ
  2198 
  2199 /\d*\v/BZ
  2200 
  2201 /S+\h\S+\v/BZ
  2202 
  2203 /\w{3,}\h\w+\v/BZ
  2204 
  2205 /\h+\d\h+\w\h+\S\h+\H/BZ
  2206 
  2207 /\v+\d\v+\w\v+\S\v+\V/BZ
  2208 
  2209 /\H+\h\H+\d/BZ
  2210 
  2211 /\V+\v\V+\w/BZ
  2212 
  2213 /\( (?: [^()]* | (?R) )* \)/x
  2214 \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
  2215 
  2216 /[\E]AAA/
  2217 
  2218 /[\Q\E]AAA/
  2219 
  2220 /[^\E]AAA/
  2221 
  2222 /[^\Q\E]AAA/
  2223 
  2224 /[\E^]AAA/
  2225 
  2226 /[\Q\E^]AAA/
  2227 
  2228 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
  2229 
  2230 /^a+(*FAIL)/C
  2231     aaaaaa
  2232     
  2233 /a+b?c+(*FAIL)/C
  2234     aaabccc
  2235 
  2236 /a+b?(*PRUNE)c+(*FAIL)/C
  2237     aaabccc
  2238 
  2239 /a+b?(*COMMIT)c+(*FAIL)/C
  2240     aaabccc
  2241     
  2242 /a+b?(*SKIP)c+(*FAIL)/C
  2243     aaabcccaaabccc
  2244 
  2245 /a+b?(*THEN)c+(*FAIL)/C
  2246     aaabccc
  2247     
  2248 /a(*MARK)b/ 
  2249 
  2250 /(?i:A{1,}\6666666666)/
  2251 
  2252 /\g6666666666/
  2253 
  2254 /[\g6666666666]/BZ
  2255 
  2256 /(?1)\c[/
  2257 
  2258 /.+A/<crlf>
  2259     \r\nA
  2260     
  2261 /\nA/<crlf>
  2262     \r\nA 
  2263 
  2264 /[\r\n]A/<crlf>
  2265     \r\nA 
  2266 
  2267 /(\r|\n)A/<crlf>
  2268     \r\nA 
  2269 
  2270 /a(*CR)b/
  2271 
  2272 /(*CR)a.b/
  2273     a\nb
  2274     ** Failers
  2275     a\rb  
  2276 
  2277 /(*CR)a.b/<lf>
  2278     a\nb
  2279     ** Failers
  2280     a\rb  
  2281 
  2282 /(*LF)a.b/<CRLF>
  2283     a\rb
  2284     ** Failers
  2285     a\nb  
  2286 
  2287 /(*CRLF)a.b/
  2288     a\rb
  2289     a\nb  
  2290     ** Failers
  2291     a\r\nb  
  2292 
  2293 /(*ANYCRLF)a.b/<CR>
  2294     ** Failers
  2295     a\rb
  2296     a\nb  
  2297     a\r\nb  
  2298 
  2299 /(*ANY)a.b/<cr>
  2300     ** Failers
  2301     a\rb
  2302     a\nb  
  2303     a\r\nb  
  2304     a\x85b 
  2305     
  2306 /(*ANY).*/g
  2307     abc\r\ndef
  2308 
  2309 /(*ANYCRLF).*/g
  2310     abc\r\ndef
  2311 
  2312 /(*CRLF).*/g
  2313     abc\r\ndef
  2314 
  2315 /a\Rb/I<bsr_anycrlf>
  2316     a\rb
  2317     a\nb
  2318     a\r\nb
  2319     ** Failers
  2320     a\x85b
  2321     a\x0bb     
  2322 
  2323 /a\Rb/I<bsr_unicode>
  2324     a\rb
  2325     a\nb
  2326     a\r\nb
  2327     a\x85b
  2328     a\x0bb     
  2329     ** Failers 
  2330     a\x85b\<bsr_anycrlf>
  2331     a\x0bb\<bsr_anycrlf>
  2332     
  2333 /a\R?b/I<bsr_anycrlf>
  2334     a\rb
  2335     a\nb
  2336     a\r\nb
  2337     ** Failers
  2338     a\x85b
  2339     a\x0bb     
  2340 
  2341 /a\R?b/I<bsr_unicode>
  2342     a\rb
  2343     a\nb
  2344     a\r\nb
  2345     a\x85b
  2346     a\x0bb     
  2347     ** Failers 
  2348     a\x85b\<bsr_anycrlf>
  2349     a\x0bb\<bsr_anycrlf>
  2350     
  2351 /a\R{2,4}b/I<bsr_anycrlf>
  2352     a\r\n\nb
  2353     a\n\r\rb
  2354     a\r\n\r\n\r\n\r\nb
  2355     ** Failers
  2356     a\x85\85b
  2357     a\x0b\0bb     
  2358 
  2359 /a\R{2,4}b/I<bsr_unicode>
  2360     a\r\rb
  2361     a\n\n\nb
  2362     a\r\n\n\r\rb
  2363     a\x85\85b
  2364     a\x0b\0bb     
  2365     ** Failers 
  2366     a\r\r\r\r\rb 
  2367     a\x85\85b\<bsr_anycrlf>
  2368     a\x0b\0bb\<bsr_anycrlf>
  2369  
  2370 /(*BSR_ANYCRLF)a\Rb/I
  2371     a\nb
  2372     a\rb 
  2373 
  2374 /(*BSR_UNICODE)a\Rb/I
  2375     a\x85b
  2376 
  2377 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
  2378     a\nb
  2379     a\rb 
  2380 
  2381 /(*CRLF)(*BSR_UNICODE)a\Rb/I
  2382     a\x85b
  2383 
  2384 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
  2385 
  2386 /(?<a>)(?&)/
  2387 
  2388 /(?<abc>)(?&a)/
  2389 
  2390 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
  2391 
  2392 /(?+-a)/
  2393 
  2394 /(?-+a)/
  2395 
  2396 /(?(-1))/
  2397 
  2398 /(?(+10))/
  2399 
  2400 /(?(10))/
  2401 
  2402 /(?(+2))()()/
  2403 
  2404 /(?(2))()()/
  2405 
  2406 /\k''/
  2407 
  2408 /\k<>/
  2409 
  2410 /\k{}/
  2411 
  2412 /\k/
  2413 
  2414 /\kabc/
  2415 
  2416 /(?P=)/
  2417 
  2418 /(?P>)/
  2419 
  2420 /(?!\w)(?R)/
  2421 
  2422 /(?=\w)(?R)/
  2423 
  2424 /(?<!\w)(?R)/
  2425 
  2426 /(?<=\w)(?R)/
  2427 
  2428 /[[:foo:]]/
  2429 
  2430 /[[:1234:]]/
  2431 
  2432 /[[:f\oo:]]/
  2433 
  2434 /[[: :]]/
  2435 
  2436 /[[:...:]]/
  2437 
  2438 /[[:l\ower:]]/
  2439 
  2440 /[[:abc\:]]/
  2441 
  2442 /[abc[:x\]pqr:]]/
  2443 
  2444 /[[:a\dz:]]/
  2445 
  2446 /(^(a|b\g<-1'c))/
  2447 
  2448 /^(?+1)(?<a>x|y){0}z/
  2449     xzxx
  2450     yzyy 
  2451     ** Failers
  2452     xxz  
  2453 
  2454 /(\3)(\1)(a)/
  2455     cat
  2456 
  2457 /(\3)(\1)(a)/<JS>
  2458     cat
  2459     
  2460 /TA]/
  2461     The ACTA] comes 
  2462 
  2463 /TA]/<JS>
  2464     The ACTA] comes 
  2465 
  2466 /(?2)[]a()b](abc)/
  2467     abcbabc
  2468 
  2469 /(?2)[^]a()b](abc)/
  2470     abcbabc
  2471 
  2472 /(?1)[]a()b](abc)/
  2473     abcbabc
  2474     ** Failers 
  2475     abcXabc
  2476 
  2477 /(?1)[^]a()b](abc)/
  2478     abcXabc
  2479     ** Failers 
  2480     abcbabc
  2481 
  2482 /(?2)[]a()b](abc)(xyz)/
  2483     xyzbabcxyz
  2484 
  2485 /(?&N)[]a(?<N>)](?<M>abc)/
  2486    abc<abc
  2487 
  2488 /(?&N)[]a(?<N>)](abc)/
  2489    abc<abc
  2490 
  2491 /a[]b/
  2492 
  2493 /a[^]b/
  2494 
  2495 /a[]b/<JS>
  2496     ** Failers
  2497     ab
  2498 
  2499 /a[]+b/<JS>
  2500     ** Failers
  2501     ab 
  2502 
  2503 /a[]*+b/<JS>
  2504     ** Failers
  2505     ab 
  2506 
  2507 /a[^]b/<JS>
  2508     aXb
  2509     a\nb 
  2510     ** Failers
  2511     ab  
  2512     
  2513 /a[^]+b/<JS> 
  2514     aXb
  2515     a\nX\nXb 
  2516     ** Failers
  2517     ab  
  2518 
  2519 /a(?!)+b/
  2520 
  2521 /a(*FAIL)+b/
  2522 
  2523 /(abc|pqr|123){0}[xyz]/SI
  2524 
  2525 /(?(?=.*b)b|^)/CI
  2526    adc
  2527    abc 
  2528    
  2529 /(?(?=b).*b|^d)/I
  2530 
  2531 /(?(?=.*b).*b|^d)/I
  2532 
  2533 /xyz/C
  2534   xyz 
  2535   abcxyz 
  2536   abcxyz\Y
  2537   ** Failers 
  2538   abc
  2539   abc\Y
  2540   abcxypqr  
  2541   abcxypqr\Y  
  2542   
  2543 /(*NO_START_OPT)xyz/C
  2544   abcxyz 
  2545 
  2546 /xyz/CY
  2547   abcxyz 
  2548 
  2549 /^"((?(?=[a])[^"])|b)*"$/C
  2550     "ab"
  2551 
  2552 /^"((?(?=[a])[^"])|b)*"$/
  2553     "ab"
  2554 
  2555 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
  2556     XYabcdY
  2557 
  2558 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
  2559     XYabcdY
  2560  
  2561 /Xa{2,4}b/
  2562     X\P
  2563     Xa\P
  2564     Xaa\P 
  2565     Xaaa\P
  2566     Xaaaa\P 
  2567     
  2568 /Xa{2,4}?b/
  2569     X\P
  2570     Xa\P
  2571     Xaa\P 
  2572     Xaaa\P
  2573     Xaaaa\P 
  2574     
  2575 /Xa{2,4}+b/
  2576     X\P
  2577     Xa\P
  2578     Xaa\P 
  2579     Xaaa\P
  2580     Xaaaa\P 
  2581     
  2582 /X\d{2,4}b/
  2583     X\P
  2584     X3\P
  2585     X33\P 
  2586     X333\P
  2587     X3333\P 
  2588     
  2589 /X\d{2,4}?b/
  2590     X\P
  2591     X3\P
  2592     X33\P 
  2593     X333\P
  2594     X3333\P 
  2595     
  2596 /X\d{2,4}+b/
  2597     X\P
  2598     X3\P
  2599     X33\P 
  2600     X333\P
  2601     X3333\P 
  2602     
  2603 /X\D{2,4}b/
  2604     X\P
  2605     Xa\P
  2606     Xaa\P 
  2607     Xaaa\P
  2608     Xaaaa\P 
  2609     
  2610 /X\D{2,4}?b/
  2611     X\P
  2612     Xa\P
  2613     Xaa\P 
  2614     Xaaa\P
  2615     Xaaaa\P 
  2616     
  2617 /X\D{2,4}+b/
  2618     X\P
  2619     Xa\P
  2620     Xaa\P 
  2621     Xaaa\P
  2622     Xaaaa\P 
  2623     
  2624 /X[abc]{2,4}b/
  2625     X\P
  2626     Xa\P
  2627     Xaa\P 
  2628     Xaaa\P
  2629     Xaaaa\P 
  2630     
  2631 /X[abc]{2,4}?b/
  2632     X\P
  2633     Xa\P
  2634     Xaa\P 
  2635     Xaaa\P
  2636     Xaaaa\P 
  2637     
  2638 /X[abc]{2,4}+b/
  2639     X\P
  2640     Xa\P
  2641     Xaa\P 
  2642     Xaaa\P
  2643     Xaaaa\P 
  2644     
  2645 /X[^a]{2,4}b/
  2646     X\P
  2647     Xz\P
  2648     Xzz\P 
  2649     Xzzz\P
  2650     Xzzzz\P 
  2651     
  2652 /X[^a]{2,4}?b/
  2653     X\P
  2654     Xz\P
  2655     Xzz\P 
  2656     Xzzz\P
  2657     Xzzzz\P 
  2658     
  2659 /X[^a]{2,4}+b/
  2660     X\P
  2661     Xz\P
  2662     Xzz\P 
  2663     Xzzz\P
  2664     Xzzzz\P 
  2665     
  2666 /(Y)X\1{2,4}b/
  2667     YX\P
  2668     YXY\P
  2669     YXYY\P 
  2670     YXYYY\P
  2671     YXYYYY\P 
  2672     
  2673 /(Y)X\1{2,4}?b/
  2674     YX\P
  2675     YXY\P
  2676     YXYY\P 
  2677     YXYYY\P
  2678     YXYYYY\P 
  2679     
  2680 /(Y)X\1{2,4}+b/
  2681     YX\P
  2682     YXY\P
  2683     YXYY\P 
  2684     YXYYY\P
  2685     YXYYYY\P 
  2686     
  2687 /\++\KZ|\d+X|9+Y/
  2688     ++++123999\P
  2689     ++++123999Y\P
  2690     ++++Z1234\P 
  2691 
  2692 /Z(*F)/
  2693     Z\P
  2694     ZA\P 
  2695     
  2696 /Z(?!)/
  2697     Z\P 
  2698     ZA\P 
  2699 
  2700 /dog(sbody)?/
  2701     dogs\P
  2702     dogs\P\P 
  2703     
  2704 /dog(sbody)??/
  2705     dogs\P
  2706     dogs\P\P 
  2707 
  2708 /dog|dogsbody/
  2709     dogs\P
  2710     dogs\P\P 
  2711  
  2712 /dogsbody|dog/
  2713     dogs\P
  2714     dogs\P\P 
  2715 
  2716 /\bthe cat\b/
  2717     the cat\P
  2718     the cat\P\P
  2719 
  2720 /abc/
  2721    abc\P
  2722    abc\P\P
  2723    
  2724 /abc\K123/
  2725     xyzabc123pqr
  2726     xyzabc12\P
  2727     xyzabc12\P\P
  2728     
  2729 /(?<=abc)123/
  2730     xyzabc123pqr 
  2731     xyzabc12\P
  2732     xyzabc12\P\P
  2733 
  2734 /\babc\b/
  2735     +++abc+++
  2736     +++ab\P
  2737     +++ab\P\P  
  2738 
  2739 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
  2740 
  2741 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
  2742 
  2743 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
  2744 
  2745 /abc\K/+
  2746     abcdef
  2747     abcdef\N\N
  2748     xyzabcdef\N\N
  2749     ** Failers
  2750     abcdef\N 
  2751     xyzabcdef\N
  2752     
  2753 /^(?:(?=abc)|abc\K)/+
  2754     abcdef
  2755     abcdef\N\N 
  2756     ** Failers 
  2757     abcdef\N 
  2758 
  2759 /a?b?/+
  2760     xyz
  2761     xyzabc
  2762     xyzabc\N
  2763     xyzabc\N\N
  2764     xyz\N\N    
  2765     ** Failers 
  2766     xyz\N 
  2767 
  2768 /^a?b?/+
  2769     xyz
  2770     xyzabc
  2771     ** Failers 
  2772     xyzabc\N
  2773     xyzabc\N\N
  2774     xyz\N\N    
  2775     xyz\N 
  2776     
  2777 /^(?<name>a|b\g<name>c)/
  2778     aaaa
  2779     bacxxx
  2780     bbaccxxx 
  2781     bbbacccxx
  2782 
  2783 /^(?<name>a|b\g'name'c)/
  2784     aaaa
  2785     bacxxx
  2786     bbaccxxx 
  2787     bbbacccxx
  2788 
  2789 /^(a|b\g<1>c)/
  2790     aaaa
  2791     bacxxx
  2792     bbaccxxx 
  2793     bbbacccxx
  2794 
  2795 /^(a|b\g'1'c)/
  2796     aaaa
  2797     bacxxx
  2798     bbaccxxx 
  2799     bbbacccxx
  2800 
  2801 /^(a|b\g'-1'c)/
  2802     aaaa
  2803     bacxxx
  2804     bbaccxxx 
  2805     bbbacccxx
  2806 
  2807 /(^(a|b\g<-1>c))/
  2808     aaaa
  2809     bacxxx
  2810     bbaccxxx 
  2811     bbbacccxx
  2812 
  2813 /(?-i:\g<name>)(?i:(?<name>a))/
  2814     XaaX
  2815     XAAX 
  2816 
  2817 /(?i:\g<name>)(?-i:(?<name>a))/
  2818     XaaX
  2819     ** Failers 
  2820     XAAX 
  2821 
  2822 /(?-i:\g<+1>)(?i:(a))/
  2823     XaaX
  2824     XAAX 
  2825 
  2826 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
  2827 
  2828 /(?<n>a|b|c)\g<n>*/
  2829    abc
  2830    accccbbb 
  2831 
  2832 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
  2833     XYabcdY
  2834 
  2835 /(?<=b(?1)|zzz)(a)/
  2836     xbaax
  2837     xzzzax 
  2838 
  2839 /(a)(?<=b\1)/
  2840 
  2841 /(a)(?<=b+(?1))/
  2842 
  2843 /(a+)(?<=b(?1))/
  2844 
  2845 /(a(?<=b(?1)))/
  2846 
  2847 /(?<=b(?1))xyz/
  2848 
  2849 /(?<=b(?1))xyz(b+)pqrstuvew/
  2850 
  2851 /(a|bc)\1/SI
  2852 
  2853 /(a|bc)\1{2,3}/SI
  2854 
  2855 /(a|bc)(?1)/SI
  2856 
  2857 /(a|b\1)(a|b\1)/SI
  2858 
  2859 /(a|b\1){2}/SI
  2860 
  2861 /(a|bbbb\1)(a|bbbb\1)/SI
  2862 
  2863 /(a|bbbb\1){2}/SI
  2864 
  2865 /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI
  2866 
  2867 /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS
  2868 
  2869 "(?>.*/)foo"SI
  2870 
  2871 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
  2872 
  2873 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
  2874 
  2875 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
  2876 
  2877 /<a[\s]+href[\s]*=[\s]*          # find <a href=
  2878  ([\"\'])?                       # find single or double quote
  2879  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
  2880                                  # quote, otherwise match up to next space
  2881 /isxSI
  2882 
  2883 /^(?!:)                       # colon disallowed at start
  2884   (?:                         # start of item
  2885     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
  2886     (?(1)0 | () ) )           # if null previously matched, fail; else null
  2887     :                         # followed by colon
  2888   ){1,7}                      # end item; 1-7 of them required               
  2889   [0-9a-f]{1,4} $             # final hex number at end of string
  2890   (?(1)|.)                    # check that there was an empty component
  2891   /xiIS
  2892 
  2893 /(?|(?<a>A)|(?<a>B))/I
  2894     AB\Ca
  2895     BA\Ca
  2896 
  2897 /(?|(?<a>A)|(?<b>B))/ 
  2898 
  2899 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
  2900     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
  2901     (?('quote')[a-z]+|[0-9]+)/JIx
  2902     a"aaaaa
  2903     b"aaaaa 
  2904     ** Failers 
  2905     b"11111
  2906     a"11111 
  2907     
  2908 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
  2909     abcdX
  2910     eX
  2911     ** Failers
  2912     abcdY
  2913     ey     
  2914     
  2915 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
  2916     abcdd
  2917     ** Failers
  2918     abcdde  
  2919 
  2920 /abcd*/
  2921     xxxxabcd\P
  2922     xxxxabcd\P\P
  2923 
  2924 /abcd*/i
  2925     xxxxabcd\P
  2926     xxxxabcd\P\P
  2927     XXXXABCD\P
  2928     XXXXABCD\P\P
  2929 
  2930 /abc\d*/
  2931     xxxxabc1\P
  2932     xxxxabc1\P\P
  2933 
  2934 /(a)bc\1*/
  2935     xxxxabca\P
  2936     xxxxabca\P\P
  2937 
  2938 /abc[de]*/
  2939     xxxxabcde\P
  2940     xxxxabcde\P\P
  2941 
  2942 /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
  2943     broken and not behaving as specified in that it *does* bumpalong after
  2944     hitting (*COMMIT). --/
  2945 
  2946 /(?1)(A(*COMMIT)|B)D/
  2947     ABD
  2948     XABD
  2949     BAD
  2950     ABXABD  
  2951     ** Failers 
  2952     ABX 
  2953     BAXBAD  
  2954 
  2955 /(\3)(\1)(a)/<JS>
  2956     cat
  2957 
  2958 /(\3)(\1)(a)/SI<JS>
  2959     cat
  2960 
  2961 /(\3)(\1)(a)/SI
  2962     cat
  2963 
  2964 /i(?(DEFINE)(?<s>a))/SI
  2965     i
  2966     
  2967 /()i(?(1)a)/SI 
  2968     ia
  2969 
  2970 /(?i)a(?-i)b|c/BZ
  2971     XabX
  2972     XAbX
  2973     CcC 
  2974     ** Failers
  2975     XABX   
  2976 
  2977 /(?i)a(?s)b|c/BZ
  2978 
  2979 /(?i)a(?s-i)b|c/BZ
  2980 
  2981 /^(ab(c\1)d|x){2}$/BZ
  2982     xabcxd
  2983     
  2984 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
  2985 
  2986 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
  2987 
  2988 / -- The first four of these are not in the Perl >= 5.10 test because Perl 
  2989      documents that the use of \K in assertions is "not well defined". The
  2990      last is here because Perl gives the match as "b" rather than "ab". I
  2991      believe this to be a Perl bug. --/  
  2992       
  2993 /(?=a\Kb)ab/
  2994     ab 
  2995 
  2996 /(?!a\Kb)ac/
  2997     ac 
  2998     
  2999 /^abc(?<=b\Kc)d/
  3000     abcd
  3001 
  3002 /^abc(?<!b\Kq)d/
  3003     abcd
  3004 
  3005 /(?>a\Kb)z|(ab)/
  3006     ab 
  3007 
  3008 /----------------------/
  3009 
  3010 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
  3011 
  3012 /abc(*MARK:)pqr/
  3013 
  3014 /abc(*:)pqr/
  3015 
  3016 /abc(*FAIL:123)xyz/
  3017 
  3018 /--- This should, and does, fail. In Perl, it does not, which I think is a 
  3019      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
  3020 
  3021 /A(*COMMIT)B/+K
  3022     ACABX
  3023 
  3024 /--- These should be different, but in Perl 5.11 are not, which I think
  3025      is a bug in Perl. ---/
  3026 
  3027 /A(*THEN)B|A(*THEN)C/K
  3028     AC
  3029 
  3030 /A(*PRUNE)B|A(*PRUNE)C/K
  3031     AC
  3032     
  3033 /--- This should fail; the SKIP advances by one, but when we get to AC, the
  3034      PRUNE kills it. Perl behaves differently. ---/ 
  3035     
  3036 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
  3037     AAAC
  3038 
  3039 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
  3040 though PCRE does. ---/
  3041 
  3042 /^A(*:A)B|^X(*:A)Y/K
  3043     ** Failers
  3044     XAQQ
  3045     
  3046 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
  3047 optimizations defeat this. So does the PCRE optimization unless we disable it 
  3048 with \Y. ---/
  3049 
  3050 /(*COMMIT)ABC/
  3051     ABCDEFG
  3052     ** Failers
  3053     DEFGABC\Y  
  3054     
  3055 /^(ab (c+(*THEN)cd) | xyz)/x
  3056     abcccd  
  3057 
  3058 /^(ab (c+(*PRUNE)cd) | xyz)/x
  3059     abcccd  
  3060 
  3061 /^(ab (c+(*FAIL)cd) | xyz)/x
  3062     abcccd  
  3063     
  3064 /--- Perl 5.11 gets some of these wrong ---/ 
  3065 
  3066 /(?>.(*ACCEPT))*?5/
  3067     abcde
  3068 
  3069 /(.(*ACCEPT))*?5/
  3070     abcde
  3071 
  3072 /(.(*ACCEPT))5/
  3073     abcde
  3074 
  3075 /(.(*ACCEPT))*5/
  3076     abcde
  3077 
  3078 /A\NB./BZ
  3079     ACBD
  3080     *** Failers
  3081     A\nB
  3082     ACB\n   
  3083 
  3084 /A\NB./sBZ
  3085     ACBD
  3086     ACB\n 
  3087     *** Failers
  3088     A\nB  
  3089   
  3090 /A\NB/<crlf>
  3091     A\nB
  3092     A\rB
  3093     ** Failers
  3094     A\r\nB    
  3095 
  3096 /\R+b/BZ
  3097 
  3098 /\R+\n/BZ
  3099 
  3100 /\R+\d/BZ
  3101 
  3102 /\d*\R/BZ
  3103 
  3104 /\s*\R/BZ
  3105     \x20\x0a
  3106     \x20\x0d
  3107     \x20\x0d\x0a
  3108 
  3109 /\S*\R/BZ
  3110     a\x0a
  3111 
  3112 /X\h*\R/BZ
  3113     X\x20\x0a
  3114 
  3115 /X\H*\R/BZ
  3116     X\x0d\x0a
  3117 
  3118 /X\H+\R/BZ
  3119     X\x0d\x0a
  3120 
  3121 /X\H++\R/BZ
  3122     X\x0d\x0a
  3123 
  3124 /-- Perl treats this one differently, not failing the second string. I believe
  3125     that is a bug in Perl. --/
  3126 
  3127 /^((abc|abcx)(*THEN)y|abcd)/
  3128     abcd
  3129     *** Failers 
  3130     abcxy 
  3131 
  3132 /(?<=abc)def/
  3133     abc\P\P
  3134 
  3135 /abc$/
  3136     abc
  3137     abc\P
  3138     abc\P\P
  3139 
  3140 /abc$/m
  3141     abc
  3142     abc\n
  3143     abc\P\P
  3144     abc\n\P\P 
  3145     abc\P
  3146     abc\n\P
  3147 
  3148 /abc\z/
  3149     abc
  3150     abc\P
  3151     abc\P\P
  3152 
  3153 /abc\Z/
  3154     abc
  3155     abc\P
  3156     abc\P\P
  3157 
  3158 /abc\b/
  3159     abc
  3160     abc\P
  3161     abc\P\P
  3162 
  3163 /abc\B/
  3164     abc
  3165     abc\P
  3166     abc\P\P
  3167 
  3168 /.+/
  3169     abc\>0
  3170     abc\>1
  3171     abc\>2
  3172     abc\>3
  3173     abc\>4
  3174     abc\>-4 
  3175 
  3176 /^\cģ/
  3177 
  3178 /(?P<abn>(?P=abn)xxx)/BZ
  3179 
  3180 /(a\1z)/BZ
  3181 
  3182 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
  3183 
  3184 /(?P<abn>(?P=axn)xxx)/BZ
  3185 
  3186 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
  3187 
  3188 /-- These tests are here because Perl gets the first one wrong. --/
  3189 
  3190 /(\R*)(.)/s
  3191     \r\n
  3192     \r\r\n\n\r 
  3193     \r\r\n\n\r\n 
  3194 
  3195 /(\R)*(.)/s
  3196     \r\n
  3197     \r\r\n\n\r 
  3198     \r\r\n\n\r\n 
  3199 
  3200 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
  3201     \r\n
  3202     \r\r\n\n\r 
  3203     \r\r\n\n\r\n 
  3204 
  3205 /-- --/
  3206 
  3207 /^abc$/BZ
  3208 
  3209 /^abc$/BZm
  3210 
  3211 /^(a)*+(\w)/S
  3212     aaaaX
  3213     ** Failers 
  3214     aaaa
  3215 
  3216 /^(?:a)*+(\w)/S
  3217     aaaaX
  3218     ** Failers 
  3219     aaaa
  3220 
  3221 /(a)++1234/SDZ
  3222 
  3223 /([abc])++1234/SI
  3224 
  3225 /(?<=(abc)+)X/
  3226 
  3227 /(^ab)/I
  3228 
  3229 /(^ab)++/I
  3230 
  3231 /(^ab|^)+/I
  3232 
  3233 /(^ab|^)++/I
  3234 
  3235 /(?:^ab)/I
  3236 
  3237 /(?:^ab)++/I
  3238 
  3239 /(?:^ab|^)+/I
  3240 
  3241 /(?:^ab|^)++/I
  3242 
  3243 /(.*ab)/I
  3244 
  3245 /(.*ab)++/I
  3246 
  3247 /(.*ab|.*)+/I
  3248 
  3249 /(.*ab|.*)++/I
  3250 
  3251 /(?:.*ab)/I
  3252 
  3253 /(?:.*ab)++/I
  3254 
  3255 /(?:.*ab|.*)+/I
  3256 
  3257 /(?:.*ab|.*)++/I
  3258 
  3259 /(?=a)[bcd]/I
  3260 
  3261 /((?=a))[bcd]/I
  3262 
  3263 /((?=a))+[bcd]/I
  3264 
  3265 /((?=a))++[bcd]/I
  3266 
  3267 /(?=a+)[bcd]/iI
  3268 
  3269 /(?=a+?)[bcd]/iI
  3270 
  3271 /(?=a++)[bcd]/iI
  3272 
  3273 /(?=a{3})[bcd]/iI
  3274 
  3275 /(abc)\1+/S
  3276 
  3277 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
  3278 
  3279 /(?1)(?:(b(*ACCEPT))){0}/
  3280     b
  3281 
  3282 /(?1)(?:(b(*ACCEPT))){0}c/
  3283     bc
  3284     ** Failers 
  3285     b 
  3286 
  3287 /(?1)(?:((*ACCEPT))){0}c/
  3288     c
  3289     c\N 
  3290 
  3291 /^.*?(?(?=a)a|b(*THEN)c)/
  3292     ba
  3293 
  3294 /^.*?(?(?=a)a|bc)/
  3295     ba
  3296 
  3297 /^.*?(?(?=a)a(*THEN)b|c)/
  3298     ac
  3299 
  3300 /^.*?(?(?=a)a(*THEN)b)c/
  3301     ac
  3302 
  3303 /^.*?(a(*THEN)b)c/
  3304     aabc
  3305     
  3306 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
  3307     aabc
  3308 
  3309 /^.*?(a(*THEN)b|z)c/
  3310     aabc
  3311 
  3312 /^.*?(z|a(*THEN)b)c/
  3313     aabc
  3314 
  3315 /-- --/
  3316 
  3317 /-- These studied versions are here because they are not Perl-compatible; the
  3318     studying means the mark is not seen. --/
  3319 
  3320 /(*MARK:A)(*SKIP:B)(C|X)/KS
  3321     C
  3322     D
  3323      
  3324 /(*:A)A+(*SKIP:A)(B|Z)/KS
  3325     AAAC
  3326 
  3327 /-- --/
  3328 
  3329 "(?=a*(*ACCEPT)b)c"
  3330     c
  3331     c\N 
  3332     
  3333 /(?1)c(?(DEFINE)((*ACCEPT)b))/
  3334     c
  3335     c\N  
  3336     
  3337 /(?>(*ACCEPT)b)c/
  3338     c
  3339     c\N  
  3340 
  3341 /(?:(?>(a)))+a%/++
  3342     %aa%
  3343 
  3344 /(a)b|ac/++SS
  3345     ac\O3
  3346     
  3347 /(a)(b)x|abc/++
  3348      abc\O6
  3349 
  3350 /(a)bc|(a)(b)\2/
  3351     \O3abc
  3352     \O4abc 
  3353 
  3354 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
  3355 
  3356 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
  3357 
  3358 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
  3359 
  3360 /(abc)(?1)/SI
  3361 
  3362 /^(?>a)++/
  3363     aa\M
  3364     aaaaaaaaa\M 
  3365     
  3366 /(a)(?1)++/
  3367     aa\M
  3368     aaaaaaaaa\M  
  3369 
  3370 /(?:(foo)|(bar)|(baz))X/SS=
  3371     bazfooX
  3372     foobazbarX
  3373     barfooX
  3374     bazX
  3375     foobarbazX    
  3376     bazfooX\O0
  3377     bazfooX\O2
  3378     bazfooX\O4
  3379     bazfooX\O6
  3380     bazfooX\O8
  3381     bazfooX\O10
  3382 
  3383 /(?=abc){3}abc/BZ
  3384 
  3385 /(?=abc)+abc/BZ
  3386 
  3387 /(?=abc)++abc/BZ
  3388 
  3389 /(?=abc){0}xyz/BZ
  3390 
  3391 /(?=(a))?./BZ
  3392 
  3393 /(?=(a))??./BZ
  3394 
  3395 /^(?=(a)){0}b(?1)/BZ
  3396 
  3397 /(?(DEFINE)(a))?b(?1)/BZ
  3398 
  3399 /^(?=(?1))?[az]([abc])d/BZ
  3400 
  3401 /^(?!a){0}\w+/BZ
  3402 
  3403 /(?<=(abc))?xyz/BZ
  3404 
  3405 /[:a[:abc]b:]/BZ
  3406 
  3407 /((?2))((?1))/SS
  3408     abc
  3409 
  3410 /((?(R2)a+|(?1)b))/SS
  3411     aaaabcde
  3412 
  3413 /(?(R)a*(?1)|((?R))b)/SS
  3414     aaaabcde
  3415 
  3416 /(a+|(?R)b)/
  3417 
  3418 /^(a(*:A)(d|e(*:B))z|aeq)/C
  3419     adz
  3420     aez
  3421     aeqwerty
  3422 
  3423 /.(*F)/
  3424     \P\Pabc
  3425 
  3426 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
  3427 
  3428 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
  3429 
  3430 /a(*SKIP)c|b(*ACCEPT)|/+SI
  3431     a
  3432 
  3433 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
  3434     ax
  3435 
  3436 'a*(*ACCEPT)b'+
  3437     \N\N
  3438     abc\N\N
  3439     bbb\N\N 
  3440 
  3441 /(*ACCEPT)a/+I
  3442     bax
  3443 
  3444 /z(*ACCEPT)a/+I
  3445     baxzbx
  3446 
  3447 /a(?:.)*?a/ims                                                                  
  3448     \Mabbbbbbbbbbbbbbbbbbbbba
  3449     
  3450 /a(?:.(*THEN))*?a/ims
  3451     \Mabbbbbbbbbbbbbbbbbbbbba
  3452 
  3453 /a(?:.(*THEN:ABC))*?a/ims
  3454     \Mabbbbbbbbbbbbbbbbbbbbba
  3455 
  3456 /-- These tests are in agreement with development Perl 5.015, which has fixed
  3457     some things, but they don't all work with 5.012, so they aren't in the
  3458     Perl-compatible tests. Those after the first come from Perl's own test
  3459     files. --/
  3460     
  3461 /^((yes|no)(*THEN)(*F))?/
  3462   yes
  3463 
  3464 /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x
  3465 AbcdCBefgBhiBqz
  3466 
  3467 /(A (.*)   C? (*THEN)  | A D) z/x
  3468 AbcdCBefgBhiBqz
  3469 
  3470 /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x
  3471 AbcdCBefgBhiBqz
  3472 
  3473 /(A (.*)   C? (*THEN)  | A D) \s* z/x
  3474 AbcdCBefgBhiBqz
  3475 
  3476 /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x
  3477 AbcdCBefgBhiBqz
  3478 
  3479 /(A (.*)   (?:C|) (*THEN)  | A D) z/x
  3480 AbcdCBefgBhiBqz
  3481 
  3482 /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x
  3483 AbcdCBefgBhiBqz
  3484 
  3485 /(A (.*)   C{0,6} (*THEN)  | A D) z/x
  3486 AbcdCBefgBhiBqz
  3487 
  3488 /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x
  3489 AbcdCEBefgBhiBqz
  3490 
  3491 /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x
  3492 AbcdCEBefgBhiBqz
  3493 
  3494 /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x
  3495 AbcdCBefgBhiBqz
  3496 
  3497 /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x
  3498 AbcdCBefgBhiBqz
  3499 
  3500 /-----------------------------------------------/  
  3501 
  3502 /^(?>a+)(?>(z+))\w/BZ
  3503     aaaazzzzb
  3504     ** Failers
  3505     aazz  
  3506 
  3507 /(.)(\1|a(?2))/
  3508     bab
  3509     
  3510 /\1|(.)(?R)\1/
  3511     cbbbc
  3512     
  3513 /(.)((?(1)c|a)|a(?2))/
  3514     baa  
  3515 
  3516 /(?P<abn>(?P=abn)xxx)/BZ
  3517 
  3518 /(a\1z)/BZ
  3519 
  3520 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
  3521      \Maabbccddee
  3522 
  3523 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
  3524      \Maabbccddee
  3525 
  3526 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
  3527      \Maabbccddee
  3528 
  3529 /^a\x41z/<JS>
  3530     aAz
  3531     *** Failers
  3532     ax41z
  3533 
  3534 /^a[m\x41]z/<JS>
  3535     aAz
  3536 
  3537 /^a\x1z/<JS>
  3538     ax1z
  3539 
  3540 /^a\u0041z/<JS>
  3541     aAz
  3542     *** Failers
  3543     au0041z
  3544 
  3545 /^a[m\u0041]z/<JS>
  3546     aAz
  3547 
  3548 /^a\u041z/<JS>
  3549     au041z
  3550     *** Failers
  3551     aAz
  3552 
  3553 /^a\U0041z/<JS>
  3554     aU0041z
  3555     *** Failers
  3556     aAz
  3557 
  3558 /(?(?=c)c|d)++Y/BZ
  3559 
  3560 /(?(?=c)c|d)*+Y/BZ
  3561 
  3562 /a[\NB]c/
  3563     aNc
  3564     
  3565 /a[B-\Nc]/ 
  3566 
  3567 /(a)(?2){0,1999}?(b)/
  3568 
  3569 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
  3570 
  3571 /--- This test, with something more complicated than individual letters, causes
  3572 different behaviour in Perl. Perhaps it disables some optimization; no tag is
  3573 passed back for the failures, whereas in PCRE there is a tag. ---/
  3574     
  3575 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
  3576     AABC
  3577     XXYZ 
  3578     ** Failers
  3579     XAQQ  
  3580     XAQQXZZ  
  3581     AXQQQ 
  3582     AXXQQQ 
  3583 
  3584 /-- Perl doesn't give marks for these, though it does if the alternatives are
  3585 replaced by single letters. --/
  3586     
  3587 /(b|q)(*:m)f|a(*:n)w/K
  3588     aw 
  3589     ** Failers 
  3590     abc
  3591 
  3592 /(q|b)(*:m)f|a(*:n)w/K
  3593     aw 
  3594     ** Failers 
  3595     abc
  3596 
  3597 /-- After a partial match, the behaviour is as for a failure. --/
  3598 
  3599 /^a(*:X)bcde/K
  3600    abc\P
  3601    
  3602 /-- These are here because Perl doesn't return a mark, except for the first --/
  3603 
  3604 /(?=(*:x))(q|)/K+
  3605     abc
  3606 
  3607 /(?=(*:x))((*:y)q|)/K+
  3608     abc
  3609 
  3610 /(?=(*:x))(?:(*:y)q|)/K+
  3611     abc
  3612 
  3613 /(?=(*:x))(?>(*:y)q|)/K+
  3614     abc
  3615 
  3616 /(?=a(*:x))(?!a(*:y)c)/K+
  3617     ab
  3618 
  3619 /(?=a(*:x))(?=a(*:y)c|)/K+
  3620     ab
  3621 
  3622 /(..)\1/
  3623     ab\P
  3624     aba\P
  3625     abab\P
  3626 
  3627 /(..)\1/i
  3628     ab\P
  3629     abA\P
  3630     aBAb\P
  3631 
  3632 /(..)\1{2,}/
  3633     ab\P
  3634     aba\P
  3635     abab\P
  3636     ababa\P
  3637     ababab\P
  3638     ababab\P\P
  3639     abababa\P
  3640     abababa\P\P
  3641 
  3642 /(..)\1{2,}/i
  3643     ab\P
  3644     aBa\P
  3645     aBAb\P
  3646     AbaBA\P
  3647     abABAb\P
  3648     aBAbaB\P\P
  3649     abABabA\P
  3650     abaBABa\P\P
  3651 
  3652 /(..)\1{2,}?x/i
  3653     ab\P
  3654     abA\P
  3655     aBAb\P
  3656     abaBA\P
  3657     abAbaB\P
  3658     abaBabA\P
  3659     abAbABaBx\P
  3660 
  3661 /^(..)\1/
  3662     aba\P
  3663 
  3664 /^(..)\1{2,3}x/
  3665     aba\P
  3666     ababa\P
  3667     ababa\P\P
  3668     abababx
  3669     ababababx  
  3670 
  3671 /^(..)\1{2,3}?x/
  3672     aba\P
  3673     ababa\P
  3674     ababa\P\P
  3675     abababx
  3676     ababababx  
  3677     
  3678 /^(..)(\1{2,3})ab/
  3679     abababab
  3680 
  3681 /^\R/
  3682     \r\P
  3683     \r\P\P
  3684     
  3685 /^\R{2,3}x/
  3686     \r\P
  3687     \r\P\P
  3688     \r\r\P 
  3689     \r\r\P\P
  3690     \r\r\r\P  
  3691     \r\r\r\P\P
  3692     \r\rx
  3693     \r\r\rx    
  3694 
  3695 /^\R{2,3}?x/
  3696     \r\P
  3697     \r\P\P
  3698     \r\r\P 
  3699     \r\r\P\P
  3700     \r\r\r\P  
  3701     \r\r\r\P\P
  3702     \r\rx
  3703     \r\r\rx    
  3704     
  3705 /^\R?x/
  3706     \r\P
  3707     \r\P\P 
  3708     x
  3709     \rx  
  3710 
  3711 /^\R+x/
  3712     \r\P
  3713     \r\P\P 
  3714     \r\n\P
  3715     \r\n\P\P  
  3716     \rx  
  3717 
  3718 /^a$/<CRLF>
  3719     a\r\P
  3720     a\r\P\P 
  3721 
  3722 /^a$/m<CRLF>
  3723     a\r\P
  3724     a\r\P\P 
  3725 
  3726 /^(a$|a\r)/<CRLF>
  3727     a\r\P
  3728     a\r\P\P 
  3729 
  3730 /^(a$|a\r)/m<CRLF>
  3731     a\r\P
  3732     a\r\P\P 
  3733 
  3734 /./<CRLF>
  3735     \r\P
  3736     \r\P\P 
  3737   
  3738 /.{2,3}/<CRLF>
  3739     \r\P 
  3740     \r\P\P
  3741     \r\r\P
  3742     \r\r\P\P
  3743     \r\r\r\P
  3744     \r\r\r\P\P     
  3745 
  3746 /.{2,3}?/<CRLF>
  3747     \r\P 
  3748     \r\P\P
  3749     \r\r\P
  3750     \r\r\P\P
  3751     \r\r\r\P
  3752     \r\r\r\P\P     
  3753 
  3754 /-- These two are here because Perl does not match: it seems to allow the
  3755 COMMIT to escape from the assertion. --/
  3756 
  3757 /(?=a(*COMMIT)b|ac)ac|ac/
  3758     ac
  3759 
  3760 /(?=a(*COMMIT)b|(ac)) ac | (a)c/x
  3761     ac
  3762 
  3763 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
  3764     ABCDGHI\O03
  3765     
  3766 /-- This one is here because Perl does not confine the *COMMIT to the 
  3767 assertion, and therefore fails the entire subroutine call. --/ 
  3768     
  3769 /((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
  3770     ac 
  3771     
  3772 /-- These are all run as real matches in test 1; here we are just checking the
  3773 settings of the anchored and startline bits. --/ 
  3774 
  3775 /(?>.*?a)(?<=ba)/I
  3776 
  3777 /(?:.*?a)(?<=ba)/I
  3778 
  3779 /.*?a(*PRUNE)b/I
  3780 
  3781 /.*?a(*PRUNE)b/sI
  3782 
  3783 /^a(*PRUNE)b/sI
  3784 
  3785 /.*?a(*SKIP)b/I
  3786 
  3787 /(?>.*?a)b/sI
  3788 
  3789 /(?>.*?a)b/I
  3790 
  3791 /(?>^a)b/sI
  3792 
  3793 /(?>.*?)(?<=(abcd)|(wxyz))/I
  3794 
  3795 /(?>.*)(?<=(abcd)|(wxyz))/I
  3796 
  3797 "(?>.*)foo"I
  3798 
  3799 "(?>.*?)foo"I
  3800 
  3801 /(?>^abc)/mI
  3802 
  3803 /(?>.*abc)/mI
  3804 
  3805 /(?:.*abc)/mI
  3806 
  3807 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
  3808 
  3809 /.?/S-I
  3810 
  3811 /.?/S!I
  3812 
  3813 /-- End of testinput2 --/