tests/libjava-mauve/src/gnu/testlet/java/util/regex/Pattern/testdata1
branchjk_new_structure
changeset 1541 75c2e24dea9a
parent 1540 92ac284961c1
child 1542 be11db817bcf
equal deleted inserted replaced
1540:92ac284961c1 1541:75c2e24dea9a
     1 /the quick brown fox/
       
     2     the quick brown fox
       
     3  0: the quick brown fox
       
     4     The quick brown FOX
       
     5 No match
       
     6     What do you know about the quick brown fox?
       
     7  0: the quick brown fox
       
     8     What do you know about THE QUICK BROWN FOX?
       
     9 No match
       
    10 
       
    11 /The quick brown fox/i
       
    12     the quick brown fox
       
    13  0: the quick brown fox
       
    14     The quick brown FOX
       
    15  0: The quick brown FOX
       
    16     What do you know about the quick brown fox?
       
    17  0: the quick brown fox
       
    18     What do you know about THE QUICK BROWN FOX?
       
    19  0: THE QUICK BROWN FOX
       
    20 
       
    21 /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
       
    22     abxyzpqrrrabbxyyyypqAzz
       
    23  0: abxyzpqrrrabbxyyyypqAzz
       
    24     abxyzpqrrrabbxyyyypqAzz
       
    25  0: abxyzpqrrrabbxyyyypqAzz
       
    26     aabxyzpqrrrabbxyyyypqAzz
       
    27  0: aabxyzpqrrrabbxyyyypqAzz
       
    28     aaabxyzpqrrrabbxyyyypqAzz
       
    29  0: aaabxyzpqrrrabbxyyyypqAzz
       
    30     aaaabxyzpqrrrabbxyyyypqAzz
       
    31  0: aaaabxyzpqrrrabbxyyyypqAzz
       
    32     abcxyzpqrrrabbxyyyypqAzz
       
    33  0: abcxyzpqrrrabbxyyyypqAzz
       
    34     aabcxyzpqrrrabbxyyyypqAzz
       
    35  0: aabcxyzpqrrrabbxyyyypqAzz
       
    36     aaabcxyzpqrrrabbxyyyypAzz
       
    37  0: aaabcxyzpqrrrabbxyyyypAzz
       
    38     aaabcxyzpqrrrabbxyyyypqAzz
       
    39  0: aaabcxyzpqrrrabbxyyyypqAzz
       
    40     aaabcxyzpqrrrabbxyyyypqqAzz
       
    41  0: aaabcxyzpqrrrabbxyyyypqqAzz
       
    42     aaabcxyzpqrrrabbxyyyypqqqAzz
       
    43  0: aaabcxyzpqrrrabbxyyyypqqqAzz
       
    44     aaabcxyzpqrrrabbxyyyypqqqqAzz
       
    45  0: aaabcxyzpqrrrabbxyyyypqqqqAzz
       
    46     aaabcxyzpqrrrabbxyyyypqqqqqAzz
       
    47  0: aaabcxyzpqrrrabbxyyyypqqqqqAzz
       
    48     aaabcxyzpqrrrabbxyyyypqqqqqqAzz
       
    49  0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz
       
    50     aaaabcxyzpqrrrabbxyyyypqAzz
       
    51  0: aaaabcxyzpqrrrabbxyyyypqAzz
       
    52     abxyzzpqrrrabbxyyyypqAzz
       
    53  0: abxyzzpqrrrabbxyyyypqAzz
       
    54     aabxyzzzpqrrrabbxyyyypqAzz
       
    55  0: aabxyzzzpqrrrabbxyyyypqAzz
       
    56     aaabxyzzzzpqrrrabbxyyyypqAzz
       
    57  0: aaabxyzzzzpqrrrabbxyyyypqAzz
       
    58     aaaabxyzzzzpqrrrabbxyyyypqAzz
       
    59  0: aaaabxyzzzzpqrrrabbxyyyypqAzz
       
    60     abcxyzzpqrrrabbxyyyypqAzz
       
    61  0: abcxyzzpqrrrabbxyyyypqAzz
       
    62     aabcxyzzzpqrrrabbxyyyypqAzz
       
    63  0: aabcxyzzzpqrrrabbxyyyypqAzz
       
    64     aaabcxyzzzzpqrrrabbxyyyypqAzz
       
    65  0: aaabcxyzzzzpqrrrabbxyyyypqAzz
       
    66     aaaabcxyzzzzpqrrrabbxyyyypqAzz
       
    67  0: aaaabcxyzzzzpqrrrabbxyyyypqAzz
       
    68     aaaabcxyzzzzpqrrrabbbxyyyypqAzz
       
    69  0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz
       
    70     aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
       
    71  0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
       
    72     aaabcxyzpqrrrabbxyyyypABzz
       
    73  0: aaabcxyzpqrrrabbxyyyypABzz
       
    74     aaabcxyzpqrrrabbxyyyypABBzz
       
    75  0: aaabcxyzpqrrrabbxyyyypABBzz
       
    76     >>>aaabxyzpqrrrabbxyyyypqAzz
       
    77  0: aaabxyzpqrrrabbxyyyypqAzz
       
    78     >aaaabxyzpqrrrabbxyyyypqAzz
       
    79  0: aaaabxyzpqrrrabbxyyyypqAzz
       
    80     >>>>abcxyzpqrrrabbxyyyypqAzz
       
    81  0: abcxyzpqrrrabbxyyyypqAzz
       
    82     *** Failers
       
    83 No match
       
    84     abxyzpqrrabbxyyyypqAzz
       
    85 No match
       
    86     abxyzpqrrrrabbxyyyypqAzz
       
    87 No match
       
    88     abxyzpqrrrabxyyyypqAzz
       
    89 No match
       
    90     aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
       
    91 No match
       
    92     aaaabcxyzzzzpqrrrabbbxyyypqAzz
       
    93 No match
       
    94     aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
       
    95 No match
       
    96 
       
    97 /^(abc){1,2}zz/
       
    98     abczz
       
    99  0: abczz
       
   100  1: abc
       
   101     abcabczz
       
   102  0: abcabczz
       
   103  1: abc
       
   104     *** Failers
       
   105 No match
       
   106     zz
       
   107 No match
       
   108     abcabcabczz
       
   109 No match
       
   110     >>abczz
       
   111 No match
       
   112 
       
   113 /^(b+|a){1,2}?bc/
       
   114     bbc
       
   115  0: bbc
       
   116  1: b
       
   117 
       
   118 /^(b*|ba){1,2}?bc/
       
   119     babc
       
   120  0: babc
       
   121  1: ba
       
   122     bbabc
       
   123  0: bbabc
       
   124  1: ba
       
   125     bababc
       
   126  0: bababc
       
   127  1: ba
       
   128     *** Failers
       
   129 No match
       
   130     bababbc
       
   131 No match
       
   132     babababc
       
   133 No match
       
   134 
       
   135 /^(ba|b*){1,2}?bc/
       
   136     babc
       
   137  0: babc
       
   138  1: ba
       
   139     bbabc
       
   140  0: bbabc
       
   141  1: ba
       
   142     bababc
       
   143  0: bababc
       
   144  1: ba
       
   145     *** Failers
       
   146 No match
       
   147     bababbc
       
   148 No match
       
   149     babababc
       
   150 No match
       
   151 
       
   152 /^[ab\]cde]/
       
   153     athing
       
   154  0: a
       
   155     bthing
       
   156  0: b
       
   157     ]thing
       
   158  0: ]
       
   159     cthing
       
   160  0: c
       
   161     dthing
       
   162  0: d
       
   163     ething
       
   164  0: e
       
   165     *** Failers
       
   166 No match
       
   167     fthing
       
   168 No match
       
   169     [thing
       
   170 No match
       
   171     \\thing
       
   172 No match
       
   173 
       
   174 /^[]cde]/
       
   175     ]thing
       
   176  0: ]
       
   177     cthing
       
   178  0: c
       
   179     dthing
       
   180  0: d
       
   181     ething
       
   182  0: e
       
   183     *** Failers
       
   184 No match
       
   185     athing
       
   186 No match
       
   187     fthing
       
   188 No match
       
   189 
       
   190 /^[^ab\]cde]/
       
   191     fthing
       
   192  0: f
       
   193     [thing
       
   194  0: [
       
   195     \\thing
       
   196  0: \
       
   197     *** Failers
       
   198  0: *
       
   199     athing
       
   200 No match
       
   201     bthing
       
   202 No match
       
   203     ]thing
       
   204 No match
       
   205     cthing
       
   206 No match
       
   207     dthing
       
   208 No match
       
   209     ething
       
   210 No match
       
   211 
       
   212 /^[^]cde]/
       
   213     athing
       
   214  0: a
       
   215     fthing
       
   216  0: f
       
   217     *** Failers
       
   218  0: *
       
   219     ]thing
       
   220 No match
       
   221     cthing
       
   222 No match
       
   223     dthing
       
   224 No match
       
   225     ething
       
   226 No match
       
   227 
       
   228 /^[0-9]+$/
       
   229     0
       
   230  0: 0
       
   231     1
       
   232  0: 1
       
   233     2
       
   234  0: 2
       
   235     3
       
   236  0: 3
       
   237     4
       
   238  0: 4
       
   239     5
       
   240  0: 5
       
   241     6
       
   242  0: 6
       
   243     7
       
   244  0: 7
       
   245     8
       
   246  0: 8
       
   247     9
       
   248  0: 9
       
   249     10
       
   250  0: 10
       
   251     100
       
   252  0: 100
       
   253     *** Failers
       
   254 No match
       
   255     abc
       
   256 No match
       
   257 
       
   258 /^.*nter/
       
   259     enter
       
   260  0: enter
       
   261     inter
       
   262  0: inter
       
   263     uponter
       
   264  0: uponter
       
   265 
       
   266 /^xxx[0-9]+$/
       
   267     xxx0
       
   268  0: xxx0
       
   269     xxx1234
       
   270  0: xxx1234
       
   271     *** Failers
       
   272 No match
       
   273     xxx
       
   274 No match
       
   275 
       
   276 /^.+[0-9][0-9][0-9]$/
       
   277     x123
       
   278  0: x123
       
   279     xx123
       
   280  0: xx123
       
   281     123456
       
   282  0: 123456
       
   283     *** Failers
       
   284 No match
       
   285     123
       
   286 No match
       
   287     x1234
       
   288  0: x1234
       
   289 
       
   290 /^.+?[0-9][0-9][0-9]$/
       
   291     x123
       
   292  0: x123
       
   293     xx123
       
   294  0: xx123
       
   295     123456
       
   296  0: 123456
       
   297     *** Failers
       
   298 No match
       
   299     123
       
   300 No match
       
   301     x1234
       
   302  0: x1234
       
   303 
       
   304 /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
       
   305     abc!pqr=apquxz.ixr.zzz.ac.uk
       
   306  0: abc!pqr=apquxz.ixr.zzz.ac.uk
       
   307  1: abc
       
   308  2: pqr
       
   309     *** Failers
       
   310 No match
       
   311     !pqr=apquxz.ixr.zzz.ac.uk
       
   312 No match
       
   313     abc!=apquxz.ixr.zzz.ac.uk
       
   314 No match
       
   315     abc!pqr=apquxz:ixr.zzz.ac.uk
       
   316 No match
       
   317     abc!pqr=apquxz.ixr.zzz.ac.ukk
       
   318 No match
       
   319 
       
   320 /:/
       
   321     Well, we need a colon: somewhere
       
   322  0: :
       
   323     *** Fail if we don't
       
   324 No match
       
   325 
       
   326 /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
       
   327     .1.2.3
       
   328  0: .1.2.3
       
   329  1: 1
       
   330  2: 2
       
   331  3: 3
       
   332     A.12.123.0
       
   333  0: A.12.123.0
       
   334  1: 12
       
   335  2: 123
       
   336  3: 0
       
   337     *** Failers
       
   338 No match
       
   339     .1.2.3333
       
   340 No match
       
   341     1.2.3
       
   342 No match
       
   343     1234.2.3
       
   344 No match
       
   345 
       
   346 /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
       
   347     1 IN SOA non-sp1 non-sp2(
       
   348  0: 1 IN SOA non-sp1 non-sp2(
       
   349  1: 1
       
   350  2: non-sp1
       
   351  3: non-sp2
       
   352     1    IN    SOA    non-sp1    non-sp2   (
       
   353  0: 1    IN    SOA    non-sp1    non-sp2   (
       
   354  1: 1
       
   355  2: non-sp1
       
   356  3: non-sp2
       
   357     *** Failers
       
   358 No match
       
   359     1IN SOA non-sp1 non-sp2(
       
   360 No match
       
   361 
       
   362 /^[\da-f](\.[\da-f])*$/i
       
   363     a.b.c.d
       
   364  0: a.b.c.d
       
   365  1: .d
       
   366     A.B.C.D
       
   367  0: A.B.C.D
       
   368  1: .D
       
   369     a.b.c.1.2.3.C
       
   370  0: a.b.c.1.2.3.C
       
   371  1: .C
       
   372 
       
   373 /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
       
   374     abcdefhijklm
       
   375  0: abcdefhijklm
       
   376  1: abc
       
   377  2: bc
       
   378  3: c
       
   379  4: def
       
   380  5: ef
       
   381  6: f
       
   382  7: hij
       
   383  8: ij
       
   384  9: j
       
   385  10: klm
       
   386  11: lm
       
   387  12: m
       
   388 
       
   389 /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
       
   390     abcdefhijklm
       
   391  0: abcdefhijklm
       
   392  1: bc
       
   393  2: c
       
   394  3: ef
       
   395  4: f
       
   396  5: ij
       
   397  6: j
       
   398  7: lm
       
   399  8: m
       
   400 
       
   401 /^a*\w/
       
   402     z
       
   403  0: z
       
   404     az
       
   405  0: az
       
   406     aaaz
       
   407  0: aaaz
       
   408     a
       
   409  0: a
       
   410     aa
       
   411  0: aa
       
   412     aaaa
       
   413  0: aaaa
       
   414     a+
       
   415  0: a
       
   416     aa+
       
   417  0: aa
       
   418 
       
   419 /^a*?\w/
       
   420     z
       
   421  0: z
       
   422     az
       
   423  0: a
       
   424     aaaz
       
   425  0: a
       
   426     a
       
   427  0: a
       
   428     aa
       
   429  0: a
       
   430     aaaa
       
   431  0: a
       
   432     a+
       
   433  0: a
       
   434     aa+
       
   435  0: a
       
   436 
       
   437 /^a+\w/
       
   438     az
       
   439  0: az
       
   440     aaaz
       
   441  0: aaaz
       
   442     aa
       
   443  0: aa
       
   444     aaaa
       
   445  0: aaaa
       
   446     aa+
       
   447  0: aa
       
   448 
       
   449 /^a+?\w/
       
   450     az
       
   451  0: az
       
   452     aaaz
       
   453  0: aa
       
   454     aa
       
   455  0: aa
       
   456     aaaa
       
   457  0: aa
       
   458     aa+
       
   459  0: aa
       
   460 
       
   461 /^\d{8}\w{2,}/
       
   462     1234567890
       
   463  0: 1234567890
       
   464     12345678ab
       
   465  0: 12345678ab
       
   466     12345678__
       
   467  0: 12345678__
       
   468     *** Failers
       
   469 No match
       
   470     1234567
       
   471 No match
       
   472 
       
   473 /^[aeiou\d]{4,5}$/
       
   474     uoie
       
   475  0: uoie
       
   476     1234
       
   477  0: 1234
       
   478     12345
       
   479  0: 12345
       
   480     aaaaa
       
   481  0: aaaaa
       
   482     *** Failers
       
   483 No match
       
   484     123456
       
   485 No match
       
   486 
       
   487 /^[aeiou\d]{4,5}?/
       
   488     uoie
       
   489  0: uoie
       
   490     1234
       
   491  0: 1234
       
   492     12345
       
   493  0: 1234
       
   494     aaaaa
       
   495  0: aaaa
       
   496     123456
       
   497  0: 1234
       
   498 
       
   499 /\A(abc|def)=(\1){2,3}\Z/
       
   500     abc=abcabc
       
   501  0: abc=abcabc
       
   502  1: abc
       
   503  2: abc
       
   504     def=defdefdef
       
   505  0: def=defdefdef
       
   506  1: def
       
   507  2: def
       
   508     *** Failers
       
   509 No match
       
   510     abc=defdef
       
   511 No match
       
   512 
       
   513 /^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]/
       
   514     From abcd  Mon Sep 01 12:33:02 1997
       
   515  0: From abcd  Mon Sep 01 12:33
       
   516  1: abcd
       
   517 
       
   518 /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
       
   519     From abcd  Mon Sep 01 12:33:02 1997
       
   520  0: From abcd  Mon Sep 01 12:33
       
   521  1: Sep 
       
   522     From abcd  Mon Sep  1 12:33:02 1997
       
   523  0: From abcd  Mon Sep  1 12:33
       
   524  1: Sep  
       
   525     *** Failers
       
   526 No match
       
   527     From abcd  Sep 01 12:33:02 1997
       
   528 No match
       
   529 
       
   530 /foo(?!bar)(.*)/
       
   531     foobar is foolish see?
       
   532  0: foolish see?
       
   533  1: lish see?
       
   534 
       
   535 /^(\D*)(?=\d)(?!123)/
       
   536     abc456
       
   537  0: abc
       
   538  1: abc
       
   539     *** Failers
       
   540 No match
       
   541     abc123
       
   542 No match
       
   543 
       
   544 /^(a)\1{2,3}(.)/
       
   545     aaab
       
   546  0: aaab
       
   547  1: a
       
   548  2: b
       
   549     aaaab
       
   550  0: aaaab
       
   551  1: a
       
   552  2: b
       
   553     aaaaab
       
   554  0: aaaaa
       
   555  1: a
       
   556  2: a
       
   557     aaaaaab
       
   558  0: aaaaa
       
   559  1: a
       
   560  2: a
       
   561 
       
   562 /(?!^)abc/
       
   563     the abc
       
   564  0: abc
       
   565     *** Failers
       
   566 No match
       
   567     abc
       
   568 No match
       
   569 
       
   570 /(?=^)abc/
       
   571     abc
       
   572  0: abc
       
   573     *** Failers
       
   574 No match
       
   575     the abc
       
   576 No match
       
   577 
       
   578 /^[ab]{1,3}?(ab*|b)/
       
   579     aabbbbb
       
   580  0: aabbbbb
       
   581  1: abbbbb
       
   582 
       
   583 /^[ab]{1,3}?(ab*?|b)/
       
   584     aabbbbb
       
   585  0: aa
       
   586  1: a
       
   587 
       
   588 /^[ab]{1,3}(ab*?|b)/
       
   589     aabbbbb
       
   590  0: aabb
       
   591  1: b
       
   592 
       
   593 /^(cow|)\1(bell)/
       
   594     cowcowbell
       
   595  0: cowcowbell
       
   596  1: cow
       
   597  2: bell
       
   598     bell
       
   599  0: bell
       
   600  1: 
       
   601  2: bell
       
   602     *** Failers
       
   603 No match
       
   604     cowbell
       
   605 No match
       
   606 
       
   607 /^(a|)\1?b/
       
   608     ab
       
   609  0: ab
       
   610  1: a
       
   611     aab
       
   612  0: aab
       
   613  1: a
       
   614     b
       
   615  0: b
       
   616  1: 
       
   617     *** Failers
       
   618 No match
       
   619     acb
       
   620 No match
       
   621 
       
   622 /^(a|)\1{2}b/
       
   623     aaab
       
   624  0: aaab
       
   625  1: a
       
   626     b
       
   627  0: b
       
   628  1: 
       
   629     *** Failers
       
   630 No match
       
   631     ab
       
   632 No match
       
   633     aab
       
   634 No match
       
   635     aaaab
       
   636 No match
       
   637 
       
   638 /^(a|)\1{2,3}b/
       
   639     aaab
       
   640  0: aaab
       
   641  1: a
       
   642     aaaab
       
   643  0: aaaab
       
   644  1: a
       
   645     b
       
   646  0: b
       
   647  1: 
       
   648     *** Failers
       
   649 No match
       
   650     ab
       
   651 No match
       
   652     aab
       
   653 No match
       
   654     aaaaab
       
   655 No match
       
   656 
       
   657 /ab{1,3}bc/
       
   658     abbbbc
       
   659  0: abbbbc
       
   660     abbbc
       
   661  0: abbbc
       
   662     abbc
       
   663  0: abbc
       
   664     *** Failers
       
   665 No match
       
   666     abc
       
   667 No match
       
   668     abbbbbc
       
   669 No match
       
   670 
       
   671 /([^.]*)\.([^:]*):[T ]+(.*)/
       
   672     track1.title:TBlah blah blah
       
   673  0: track1.title:TBlah blah blah
       
   674  1: track1
       
   675  2: title
       
   676  3: Blah blah blah
       
   677 
       
   678 /([^.]*)\.([^:]*):[T ]+(.*)/i
       
   679     track1.title:TBlah blah blah
       
   680  0: track1.title:TBlah blah blah
       
   681  1: track1
       
   682  2: title
       
   683  3: Blah blah blah
       
   684 
       
   685 /([^.]*)\.([^:]*):[t ]+(.*)/i
       
   686     track1.title:TBlah blah blah
       
   687  0: track1.title:TBlah blah blah
       
   688  1: track1
       
   689  2: title
       
   690  3: Blah blah blah
       
   691 
       
   692 /^[W-c]+$/
       
   693     WXY_^abc
       
   694  0: WXY_^abc
       
   695     *** Failers
       
   696 No match
       
   697     wxy
       
   698 No match
       
   699 
       
   700 /^abc$/
       
   701     abc
       
   702  0: abc
       
   703     *** Failers
       
   704 No match
       
   705     qqq\nabc
       
   706 No match
       
   707     abc\nzzz
       
   708 No match
       
   709     qqq\nabc\nzzz
       
   710 No match
       
   711 
       
   712 /(?:b)|(?::+)/
       
   713     b::c
       
   714  0: b
       
   715     c::b
       
   716  0: ::
       
   717 
       
   718 /[-az]+/
       
   719     az-
       
   720  0: az-
       
   721     *** Failers
       
   722  0: a
       
   723     b
       
   724 No match
       
   725 
       
   726 /[az-]+/
       
   727     za-
       
   728  0: za-
       
   729     *** Failers
       
   730  0: a
       
   731     b
       
   732 No match
       
   733 
       
   734 /[a\-z]+/
       
   735     a-z
       
   736  0: a-z
       
   737     *** Failers
       
   738  0: a
       
   739     b
       
   740 No match
       
   741 
       
   742 /[a-z]+/
       
   743     abcdxyz
       
   744  0: abcdxyz
       
   745 
       
   746 /[\d-]+/
       
   747     12-34
       
   748  0: 12-34
       
   749     *** Failers
       
   750 No match
       
   751     aaa
       
   752 No match
       
   753 
       
   754 /[\d-z]+/
       
   755     12-34z
       
   756  0: 12-34z
       
   757     *** Failers
       
   758 No match
       
   759     aaa
       
   760 No match
       
   761 
       
   762 /a{0}bc/
       
   763     bc
       
   764  0: bc
       
   765 
       
   766 /[^k]{2,3}$/
       
   767     abc
       
   768  0: abc
       
   769     kbc
       
   770  0: bc
       
   771     kabc
       
   772  0: abc
       
   773     *** Failers
       
   774  0: ers
       
   775     abk
       
   776 No match
       
   777     akb
       
   778 No match
       
   779     akk
       
   780 No match
       
   781 
       
   782 /[^a]/
       
   783     aaaabcd
       
   784  0: b
       
   785     aaAabcd
       
   786  0: A
       
   787 
       
   788 /[^a]/i
       
   789     aaaabcd
       
   790  0: b
       
   791     aaAabcd
       
   792  0: b
       
   793 
       
   794 /[^az]/
       
   795     aaaabcd
       
   796  0: b
       
   797     aaAabcd
       
   798  0: A
       
   799 
       
   800 /[^az]/i
       
   801     aaaabcd
       
   802  0: b
       
   803     aaAabcd
       
   804  0: b
       
   805 
       
   806 /P[^*]TAIRE[^*]{1,6}?LL/
       
   807     xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
       
   808  0: PSTAIREISLL
       
   809 
       
   810 /P[^*]TAIRE[^*]{1,}?LL/
       
   811     xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
       
   812  0: PSTAIREISLL
       
   813 
       
   814 /(\.\d\d[1-9]?)\d+/
       
   815     1.230003938
       
   816  0: .230003938
       
   817  1: .23
       
   818     1.875000282
       
   819  0: .875000282
       
   820  1: .875
       
   821     1.235
       
   822  0: .235
       
   823  1: .23
       
   824 
       
   825 /foo(.*)bar/
       
   826     The food is under the bar in the barn.
       
   827  0: food is under the bar in the bar
       
   828  1: d is under the bar in the 
       
   829 
       
   830 /foo(.*?)bar/
       
   831     The food is under the bar in the barn.
       
   832  0: food is under the bar
       
   833  1: d is under the 
       
   834 
       
   835 /(.*)(\d*)/
       
   836     I have 2 numbers: 53147
       
   837  0: I have 2 numbers: 53147
       
   838  1: I have 2 numbers: 53147
       
   839  2: 
       
   840 
       
   841 /(.*?)(\d+)/
       
   842     I have 2 numbers: 53147
       
   843  0: I have 2
       
   844  1: I have 
       
   845  2: 2
       
   846 
       
   847 /(.*)(\d+)$/
       
   848     I have 2 numbers: 53147
       
   849  0: I have 2 numbers: 53147
       
   850  1: I have 2 numbers: 5314
       
   851  2: 7
       
   852 
       
   853 /(.*?)(\d+)$/
       
   854     I have 2 numbers: 53147
       
   855  0: I have 2 numbers: 53147
       
   856  1: I have 2 numbers: 
       
   857  2: 53147
       
   858 
       
   859 /(.*)\b(\d+)$/
       
   860     I have 2 numbers: 53147
       
   861  0: I have 2 numbers: 53147
       
   862  1: I have 2 numbers: 
       
   863  2: 53147
       
   864 
       
   865 /(.*\D)(\d+)$/
       
   866     I have 2 numbers: 53147
       
   867  0: I have 2 numbers: 53147
       
   868  1: I have 2 numbers: 
       
   869  2: 53147
       
   870 
       
   871 /^\D*(?!123)/
       
   872     ABC123
       
   873  0: AB
       
   874 
       
   875 /^(\D*)(?=\d)(?!123)/
       
   876     ABC445
       
   877  0: ABC
       
   878  1: ABC
       
   879     *** Failers
       
   880 No match
       
   881     ABC123
       
   882 No match
       
   883 
       
   884 /^[W-]46]/
       
   885     W46]789
       
   886  0: W46]
       
   887     -46]789
       
   888  0: -46]
       
   889     *** Failers
       
   890 No match
       
   891     Wall
       
   892 No match
       
   893     Zebra
       
   894 No match
       
   895     42
       
   896 No match
       
   897     [abcd]
       
   898 No match
       
   899     ]abcd[
       
   900 No match
       
   901 
       
   902 /\d\d\/\d\d\/\d\d\d\d/
       
   903     01/01/2000
       
   904  0: 01/01/2000
       
   905 
       
   906 /word (?:[a-zA-Z0-9]+ ){0,300}otherword/
       
   907     word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
       
   908 No match
       
   909 
       
   910 /^(a){1,1}/
       
   911     bcd
       
   912 No match
       
   913     abc
       
   914  0: a
       
   915  1: a
       
   916     aab
       
   917  0: a
       
   918  1: a
       
   919 
       
   920 /^(a){1,2}/
       
   921     bcd
       
   922 No match
       
   923     abc
       
   924  0: a
       
   925  1: a
       
   926     aab
       
   927  0: aa
       
   928  1: a
       
   929 
       
   930 /^(a){1,3}/
       
   931     bcd
       
   932 No match
       
   933     abc
       
   934  0: a
       
   935  1: a
       
   936     aab
       
   937  0: aa
       
   938  1: a
       
   939     aaa
       
   940  0: aaa
       
   941  1: a
       
   942 
       
   943 /^(a){1,}/
       
   944     bcd
       
   945 No match
       
   946     abc
       
   947  0: a
       
   948  1: a
       
   949     aab
       
   950  0: aa
       
   951  1: a
       
   952     aaa
       
   953  0: aaa
       
   954  1: a
       
   955     aaaaaaaa
       
   956  0: aaaaaaaa
       
   957  1: a
       
   958 
       
   959 /^[a-c]{12}/
       
   960     abcabcabcabc
       
   961  0: abcabcabcabc
       
   962 
       
   963 /^(a|b|c){12}/
       
   964     abcabcabcabc
       
   965  0: abcabcabcabc
       
   966  1: c
       
   967 
       
   968 /^[abcdefghijklmnopqrstuvwxy0123456789]/
       
   969     n
       
   970  0: n
       
   971     *** Failers
       
   972 No match
       
   973     z
       
   974 No match
       
   975 
       
   976 /abcde{0,0}/
       
   977     abcd
       
   978  0: abcd
       
   979     *** Failers
       
   980 No match
       
   981     abce
       
   982 No match
       
   983 
       
   984 /ab[cd]{0,0}e/
       
   985     abe
       
   986  0: abe
       
   987     *** Failers
       
   988 No match
       
   989     abcde
       
   990 No match
       
   991 
       
   992 /a(b*)/
       
   993     a
       
   994  0: a
       
   995  1: 
       
   996     ab
       
   997  0: ab
       
   998  1: b
       
   999     abbbb
       
  1000  0: abbbb
       
  1001  1: bbbb
       
  1002     *** Failers
       
  1003  0: a
       
  1004  1: 
       
  1005     bbbbb
       
  1006 No match
       
  1007 
       
  1008 /a.b/
       
  1009     acb
       
  1010  0: acb
       
  1011     *** Failers
       
  1012 No match
       
  1013     a\nb
       
  1014 No match
       
  1015 
       
  1016 /^(b+|a){1,2}?c/
       
  1017     bac
       
  1018  0: bac
       
  1019  1: a
       
  1020     bbac
       
  1021  0: bbac
       
  1022  1: a
       
  1023     bbbac
       
  1024  0: bbbac
       
  1025  1: a
       
  1026     bbbbac
       
  1027  0: bbbbac
       
  1028  1: a
       
  1029     bbbbbac
       
  1030  0: bbbbbac
       
  1031  1: a
       
  1032 
       
  1033 /(?!\A)x/m
       
  1034     x\nb\n
       
  1035 No match
       
  1036     a\bx\n
       
  1037  0: x
       
  1038 
       
  1039 /(AB)*?\1/
       
  1040     ABABAB
       
  1041  0: ABAB
       
  1042  1: AB
       
  1043 
       
  1044 /(AB)*\1/
       
  1045     ABABAB
       
  1046  0: ABABAB
       
  1047  1: AB
       
  1048 
       
  1049 /(\d+)(\w)/
       
  1050     12345a
       
  1051  0: 12345a
       
  1052  1: 12345
       
  1053  2: a
       
  1054     12345+
       
  1055  0: 12345
       
  1056  1: 1234
       
  1057  2: 5
       
  1058 
       
  1059 /The case of aaaaaa is missed out below because I think Perl 5.005_02 gets/
       
  1060     /it wrong; it sets $1 to aaa rather than aa. Compare the following test,/
       
  1061 No match
       
  1062     /where it does set $1 to aa when matching aaaaaa./
       
  1063 No match
       
  1064 
       
  1065 /^(a\1?)(a\1?)(a\2?)(a\3?)$/
       
  1066     a
       
  1067 No match
       
  1068     aa
       
  1069 No match
       
  1070     aaa
       
  1071 No match
       
  1072     aaaa
       
  1073  0: aaaa
       
  1074  1: a
       
  1075  2: a
       
  1076  3: a
       
  1077  4: a
       
  1078     aaaaa
       
  1079  0: aaaaa
       
  1080  1: a
       
  1081  2: aa
       
  1082  3: a
       
  1083  4: a
       
  1084     aaaaaa
       
  1085  0: aaaaaa
       
  1086  1: a
       
  1087  2: aa
       
  1088  3: a
       
  1089  4: aa
       
  1090     aaaaaaa
       
  1091  0: aaaaaaa
       
  1092  1: a
       
  1093  2: aa
       
  1094  3: aaa
       
  1095  4: a
       
  1096     aaaaaaaa
       
  1097 No match
       
  1098     aaaaaaaaa
       
  1099 No match
       
  1100     aaaaaaaaaa
       
  1101  0: aaaaaaaaaa
       
  1102  1: a
       
  1103  2: aa
       
  1104  3: aaa
       
  1105  4: aaaa
       
  1106     aaaaaaaaaaa
       
  1107 No match
       
  1108     aaaaaaaaaaaa
       
  1109 No match
       
  1110     aaaaaaaaaaaaa
       
  1111 No match
       
  1112     aaaaaaaaaaaaaa
       
  1113 No match
       
  1114     aaaaaaaaaaaaaaa
       
  1115 No match
       
  1116     aaaaaaaaaaaaaaaa
       
  1117 No match
       
  1118 
       
  1119 /The following tests are taken from the Perl 5.005 test suite; some of them/
       
  1120     /are compatible with 5.004, but I'd rather not have to sort them out./
       
  1121 No match
       
  1122 
       
  1123 /abc/
       
  1124     abc
       
  1125  0: abc
       
  1126     xabcy
       
  1127  0: abc
       
  1128     ababc
       
  1129  0: abc
       
  1130     *** Failers
       
  1131 No match
       
  1132     xbc
       
  1133 No match
       
  1134     axc
       
  1135 No match
       
  1136     abx
       
  1137 No match
       
  1138 
       
  1139 /ab*c/
       
  1140     abc
       
  1141  0: abc
       
  1142 
       
  1143 /ab*bc/
       
  1144     abc
       
  1145  0: abc
       
  1146     abbc
       
  1147  0: abbc
       
  1148     abbbbc
       
  1149  0: abbbbc
       
  1150 
       
  1151 /.{1}/
       
  1152     abbbbc
       
  1153  0: a
       
  1154 
       
  1155 /.{3,4}/
       
  1156     abbbbc
       
  1157  0: abbb
       
  1158 
       
  1159 /ab{0,}bc/
       
  1160     abbbbc
       
  1161  0: abbbbc
       
  1162 
       
  1163 /ab+bc/
       
  1164     abbc
       
  1165  0: abbc
       
  1166     *** Failers
       
  1167 No match
       
  1168     abc
       
  1169 No match
       
  1170     abq
       
  1171 No match
       
  1172 
       
  1173 /ab{1,}bc/
       
  1174 
       
  1175 /ab+bc/
       
  1176     abbbbc
       
  1177  0: abbbbc
       
  1178 
       
  1179 /ab{1,}bc/
       
  1180     abbbbc
       
  1181  0: abbbbc
       
  1182 
       
  1183 /ab{1,3}bc/
       
  1184     abbbbc
       
  1185  0: abbbbc
       
  1186 
       
  1187 /ab{3,4}bc/
       
  1188     abbbbc
       
  1189  0: abbbbc
       
  1190 
       
  1191 /ab{4,5}bc/
       
  1192     *** Failers
       
  1193 No match
       
  1194     abq
       
  1195 No match
       
  1196     abbbbc
       
  1197 No match
       
  1198 
       
  1199 /ab?bc/
       
  1200     abbc
       
  1201  0: abbc
       
  1202     abc
       
  1203  0: abc
       
  1204 
       
  1205 /ab{0,1}bc/
       
  1206     abc
       
  1207  0: abc
       
  1208 
       
  1209 /ab?bc/
       
  1210 
       
  1211 /ab?c/
       
  1212     abc
       
  1213  0: abc
       
  1214 
       
  1215 /ab{0,1}c/
       
  1216     abc
       
  1217  0: abc
       
  1218 
       
  1219 /^abc$/
       
  1220     abc
       
  1221  0: abc
       
  1222     *** Failers
       
  1223 No match
       
  1224     abbbbc
       
  1225 No match
       
  1226     abcc
       
  1227 No match
       
  1228 
       
  1229 /^abc/
       
  1230     abcc
       
  1231  0: abc
       
  1232 
       
  1233 /^abc$/
       
  1234 
       
  1235 /abc$/
       
  1236     aabc
       
  1237  0: abc
       
  1238     *** Failers
       
  1239 No match
       
  1240     aabc
       
  1241  0: abc
       
  1242     aabcd
       
  1243 No match
       
  1244 
       
  1245 /^/
       
  1246     abc
       
  1247  0: 
       
  1248 
       
  1249 /$/
       
  1250     abc
       
  1251  0: 
       
  1252 
       
  1253 /a.c/
       
  1254     abc
       
  1255  0: abc
       
  1256     axc
       
  1257  0: axc
       
  1258 
       
  1259 /a.*c/
       
  1260     axyzc
       
  1261  0: axyzc
       
  1262 
       
  1263 /a[bc]d/
       
  1264     abd
       
  1265  0: abd
       
  1266     *** Failers
       
  1267 No match
       
  1268     axyzd
       
  1269 No match
       
  1270     abc
       
  1271 No match
       
  1272 
       
  1273 /a[b-d]e/
       
  1274     ace
       
  1275  0: ace
       
  1276 
       
  1277 /a[b-d]/
       
  1278     aac
       
  1279  0: ac
       
  1280 
       
  1281 /a[-b]/
       
  1282     a-
       
  1283  0: a-
       
  1284 
       
  1285 /a[b-]/
       
  1286     a-
       
  1287  0: a-
       
  1288 
       
  1289 /a]/
       
  1290     a]
       
  1291  0: a]
       
  1292 
       
  1293 /a[]]b/
       
  1294     a]b
       
  1295  0: a]b
       
  1296 
       
  1297 /a[^bc]d/
       
  1298     aed
       
  1299  0: aed
       
  1300     *** Failers
       
  1301 No match
       
  1302     abd
       
  1303 No match
       
  1304     abd
       
  1305 No match
       
  1306 
       
  1307 /a[^-b]c/
       
  1308     adc
       
  1309  0: adc
       
  1310 
       
  1311 /a[^]b]c/
       
  1312     adc
       
  1313  0: adc
       
  1314     *** Failers
       
  1315 No match
       
  1316     a-c
       
  1317  0: a-c
       
  1318     a]c
       
  1319 No match
       
  1320 
       
  1321 /\ba\b/
       
  1322     a-
       
  1323  0: a
       
  1324     -a
       
  1325  0: a
       
  1326     -a-
       
  1327  0: a
       
  1328 
       
  1329 /\by\b/
       
  1330     *** Failers
       
  1331 No match
       
  1332     xy
       
  1333 No match
       
  1334     yz
       
  1335 No match
       
  1336     xyz
       
  1337 No match
       
  1338 
       
  1339 /\Ba\B/
       
  1340     *** Failers
       
  1341  0: a
       
  1342     a-
       
  1343 No match
       
  1344     -a
       
  1345 No match
       
  1346     -a-
       
  1347 No match
       
  1348 
       
  1349 /\By\b/
       
  1350     xy
       
  1351  0: y
       
  1352 
       
  1353 /\by\B/
       
  1354     yz
       
  1355  0: y
       
  1356 
       
  1357 /\By\B/
       
  1358     xyz
       
  1359  0: y
       
  1360 
       
  1361 /\w/
       
  1362     a
       
  1363  0: a
       
  1364 
       
  1365 /\W/
       
  1366     -
       
  1367  0: -
       
  1368     *** Failers
       
  1369  0: *
       
  1370     -
       
  1371  0: -
       
  1372     a
       
  1373 No match
       
  1374 
       
  1375 /a\sb/
       
  1376     a b
       
  1377  0: a b
       
  1378 
       
  1379 /a\Sb/
       
  1380     a-b
       
  1381  0: a-b
       
  1382     *** Failers
       
  1383 No match
       
  1384     a-b
       
  1385  0: a-b
       
  1386     a b
       
  1387 No match
       
  1388 
       
  1389 /\d/
       
  1390     1
       
  1391  0: 1
       
  1392 
       
  1393 /\D/
       
  1394     -
       
  1395  0: -
       
  1396     *** Failers
       
  1397  0: *
       
  1398     -
       
  1399  0: -
       
  1400     1
       
  1401 No match
       
  1402 
       
  1403 /[\w]/
       
  1404     a
       
  1405  0: a
       
  1406 
       
  1407 /[\W]/
       
  1408     -
       
  1409  0: -
       
  1410     *** Failers
       
  1411  0: *
       
  1412     -
       
  1413  0: -
       
  1414     a
       
  1415 No match
       
  1416 
       
  1417 /a[\s]b/
       
  1418     a b
       
  1419  0: a b
       
  1420 
       
  1421 /a[\S]b/
       
  1422     a-b
       
  1423  0: a-b
       
  1424     *** Failers
       
  1425 No match
       
  1426     a-b
       
  1427  0: a-b
       
  1428     a b
       
  1429 No match
       
  1430 
       
  1431 /[\d]/
       
  1432     1
       
  1433  0: 1
       
  1434 
       
  1435 /[\D]/
       
  1436     -
       
  1437  0: -
       
  1438     *** Failers
       
  1439  0: *
       
  1440     -
       
  1441  0: -
       
  1442     1
       
  1443 No match
       
  1444 
       
  1445 /ab|cd/
       
  1446     abc
       
  1447  0: ab
       
  1448     abcd
       
  1449  0: ab
       
  1450 
       
  1451 /()ef/
       
  1452     def
       
  1453  0: ef
       
  1454  1: 
       
  1455 
       
  1456 /$b/
       
  1457 
       
  1458 /a\(b/
       
  1459     a(b
       
  1460  0: a(b
       
  1461 
       
  1462 /a\(*b/
       
  1463     ab
       
  1464  0: ab
       
  1465     a((b
       
  1466  0: a((b
       
  1467 
       
  1468 /((a))/
       
  1469     abc
       
  1470  0: a
       
  1471  1: a
       
  1472  2: a
       
  1473 
       
  1474 /(a)b(c)/
       
  1475     abc
       
  1476  0: abc
       
  1477  1: a
       
  1478  2: c
       
  1479 
       
  1480 /a+b+c/
       
  1481     aabbabc
       
  1482  0: abc
       
  1483 
       
  1484 /a{1,}b{1,}c/
       
  1485     aabbabc
       
  1486  0: abc
       
  1487 
       
  1488 /a.+?c/
       
  1489     abcabc
       
  1490  0: abc
       
  1491 
       
  1492 /(a+|b)*/
       
  1493     ab
       
  1494  0: ab
       
  1495  1: b
       
  1496 
       
  1497 /(a+|b){0,}/
       
  1498     ab
       
  1499  0: ab
       
  1500  1: b
       
  1501 
       
  1502 /(a+|b)+/
       
  1503     ab
       
  1504  0: ab
       
  1505  1: b
       
  1506 
       
  1507 /(a+|b){1,}/
       
  1508     ab
       
  1509  0: ab
       
  1510  1: b
       
  1511 
       
  1512 /(a+|b)?/
       
  1513     ab
       
  1514  0: a
       
  1515  1: a
       
  1516 
       
  1517 /(a+|b){0,1}/
       
  1518     ab
       
  1519  0: a
       
  1520  1: a
       
  1521 
       
  1522 /[^ab]*/
       
  1523     cde
       
  1524  0: cde
       
  1525 
       
  1526 /abc/
       
  1527     *** Failers
       
  1528 No match
       
  1529     b
       
  1530 No match
       
  1531 
       
  1532 /a*/
       
  1533 
       
  1534 /([abc])*d/
       
  1535     abbbcd
       
  1536  0: abbbcd
       
  1537  1: c
       
  1538 
       
  1539 /([abc])*bcd/
       
  1540     abcd
       
  1541  0: abcd
       
  1542  1: a
       
  1543 
       
  1544 /a|b|c|d|e/
       
  1545     e
       
  1546  0: e
       
  1547 
       
  1548 /(a|b|c|d|e)f/
       
  1549     ef
       
  1550  0: ef
       
  1551  1: e
       
  1552 
       
  1553 /abcd*efg/
       
  1554     abcdefg
       
  1555  0: abcdefg
       
  1556 
       
  1557 /ab*/
       
  1558     xabyabbbz
       
  1559  0: ab
       
  1560     xayabbbz
       
  1561  0: a
       
  1562 
       
  1563 /(ab|cd)e/
       
  1564     abcde
       
  1565  0: cde
       
  1566  1: cd
       
  1567 
       
  1568 /[abhgefdc]ij/
       
  1569     hij
       
  1570  0: hij
       
  1571 
       
  1572 /^(ab|cd)e/
       
  1573 
       
  1574 /(abc|)ef/
       
  1575     abcdef
       
  1576  0: ef
       
  1577  1: 
       
  1578 
       
  1579 /(a|b)c*d/
       
  1580     abcd
       
  1581  0: bcd
       
  1582  1: b
       
  1583 
       
  1584 /a([bc]*)c*/
       
  1585     abc
       
  1586  0: abc
       
  1587  1: bc
       
  1588 
       
  1589 /a([bc]*)(c*d)/
       
  1590     abcd
       
  1591  0: abcd
       
  1592  1: bc
       
  1593  2: d
       
  1594 
       
  1595 /a([bc]+)(c*d)/
       
  1596     abcd
       
  1597  0: abcd
       
  1598  1: bc
       
  1599  2: d
       
  1600 
       
  1601 /a([bc]*)(c+d)/
       
  1602     abcd
       
  1603  0: abcd
       
  1604  1: b
       
  1605  2: cd
       
  1606 
       
  1607 /a[bcd]*dcdcde/
       
  1608     adcdcde
       
  1609  0: adcdcde
       
  1610 
       
  1611 /a[bcd]+dcdcde/
       
  1612     *** Failers
       
  1613 No match
       
  1614     abcde
       
  1615 No match
       
  1616     adcdcde
       
  1617 No match
       
  1618 
       
  1619 /(ab|a)b*c/
       
  1620     abc
       
  1621  0: abc
       
  1622  1: ab
       
  1623 
       
  1624 /((a)(b)c)(d)/
       
  1625     abcd
       
  1626  0: abcd
       
  1627  1: abc
       
  1628  2: a
       
  1629  3: b
       
  1630  4: d
       
  1631 
       
  1632 /[a-zA-Z_][a-zA-Z0-9_]*/
       
  1633     alpha
       
  1634  0: alpha
       
  1635 
       
  1636 /((((((((((a))))))))))/
       
  1637     a
       
  1638  0: a
       
  1639  1: a
       
  1640  2: a
       
  1641  3: a
       
  1642  4: a
       
  1643  5: a
       
  1644  6: a
       
  1645  7: a
       
  1646  8: a
       
  1647  9: a
       
  1648  10: a
       
  1649 
       
  1650 /(((((((((a)))))))))/
       
  1651     a
       
  1652  0: a
       
  1653  1: a
       
  1654  2: a
       
  1655  3: a
       
  1656  4: a
       
  1657  5: a
       
  1658  6: a
       
  1659  7: a
       
  1660  8: a
       
  1661  9: a
       
  1662 
       
  1663 /multiple words of text/
       
  1664     *** Failers
       
  1665 No match
       
  1666     aa
       
  1667 No match
       
  1668     uh-uh
       
  1669 No match
       
  1670 
       
  1671 /multiple words/
       
  1672     multiple words, yeah
       
  1673  0: multiple words
       
  1674 
       
  1675 /(.*)c(.*)/
       
  1676     abcde
       
  1677  0: abcde
       
  1678  1: ab
       
  1679  2: de
       
  1680 
       
  1681 /\((.*), (.*)\)/
       
  1682     (a, b)
       
  1683  0: (a, b)
       
  1684  1: a
       
  1685  2: b
       
  1686 
       
  1687 /[k]/
       
  1688 
       
  1689 /abcd/
       
  1690     abcd
       
  1691  0: abcd
       
  1692 
       
  1693 /a(bc)d/
       
  1694     abcd
       
  1695  0: abcd
       
  1696  1: bc
       
  1697 
       
  1698 /a[-]?c/
       
  1699     ac
       
  1700  0: ac
       
  1701 
       
  1702 /(abc)\1/
       
  1703     abcabc
       
  1704  0: abcabc
       
  1705  1: abc
       
  1706 
       
  1707 /([a-c]*)\1/
       
  1708     abcabc
       
  1709  0: abcabc
       
  1710  1: abc
       
  1711 
       
  1712 /(a)|\1/
       
  1713     a
       
  1714  0: a
       
  1715  1: a
       
  1716     *** Failers
       
  1717  0: a
       
  1718  1: a
       
  1719     ab
       
  1720  0: a
       
  1721  1: a
       
  1722     x
       
  1723 No match
       
  1724 
       
  1725 /(([a-c])b*?\2)*/
       
  1726     ababbbcbc
       
  1727  0: ababb
       
  1728  1: bb
       
  1729  2: b
       
  1730 
       
  1731 /((\3|b)\2(a)x)+/
       
  1732     aaaxabaxbaaxbbax
       
  1733  0: bbax
       
  1734  1: bbax
       
  1735  2: b
       
  1736  3: a
       
  1737 
       
  1738 /((\3|b)\2(a)){2,}/
       
  1739     bbaababbabaaaaabbaaaabba
       
  1740  0: bbaaaabba
       
  1741  1: bba
       
  1742  2: b
       
  1743  3: a
       
  1744 
       
  1745 /abc/i
       
  1746     ABC
       
  1747  0: ABC
       
  1748     XABCY
       
  1749  0: ABC
       
  1750     ABABC
       
  1751  0: ABC
       
  1752     *** Failers
       
  1753 No match
       
  1754     aaxabxbaxbbx
       
  1755 No match
       
  1756     XBC
       
  1757 No match
       
  1758     AXC
       
  1759 No match
       
  1760     ABX
       
  1761 No match
       
  1762 
       
  1763 /ab*c/i
       
  1764     ABC
       
  1765  0: ABC
       
  1766 
       
  1767 /ab*bc/i
       
  1768     ABC
       
  1769  0: ABC
       
  1770     ABBC
       
  1771  0: ABBC
       
  1772 
       
  1773 /ab*?bc/i
       
  1774     ABBBBC
       
  1775  0: ABBBBC
       
  1776 
       
  1777 /ab{0,}?bc/i
       
  1778     ABBBBC
       
  1779  0: ABBBBC
       
  1780 
       
  1781 /ab+?bc/i
       
  1782     ABBC
       
  1783  0: ABBC
       
  1784 
       
  1785 /ab+bc/i
       
  1786     *** Failers
       
  1787 No match
       
  1788     ABC
       
  1789 No match
       
  1790     ABQ
       
  1791 No match
       
  1792 
       
  1793 /ab{1,}bc/i
       
  1794 
       
  1795 /ab+bc/i
       
  1796     ABBBBC
       
  1797  0: ABBBBC
       
  1798 
       
  1799 /ab{1,}?bc/i
       
  1800     ABBBBC
       
  1801  0: ABBBBC
       
  1802 
       
  1803 /ab{1,3}?bc/i
       
  1804     ABBBBC
       
  1805  0: ABBBBC
       
  1806 
       
  1807 /ab{3,4}?bc/i
       
  1808     ABBBBC
       
  1809  0: ABBBBC
       
  1810 
       
  1811 /ab{4,5}?bc/i
       
  1812     *** Failers
       
  1813 No match
       
  1814     ABQ
       
  1815 No match
       
  1816     ABBBBC
       
  1817 No match
       
  1818 
       
  1819 /ab??bc/i
       
  1820     ABBC
       
  1821  0: ABBC
       
  1822     ABC
       
  1823  0: ABC
       
  1824 
       
  1825 /ab{0,1}?bc/i
       
  1826     ABC
       
  1827  0: ABC
       
  1828 
       
  1829 /ab??bc/i
       
  1830 
       
  1831 /ab??c/i
       
  1832     ABC
       
  1833  0: ABC
       
  1834 
       
  1835 /ab{0,1}?c/i
       
  1836     ABC
       
  1837  0: ABC
       
  1838 
       
  1839 /^abc$/i
       
  1840     ABC
       
  1841  0: ABC
       
  1842     *** Failers
       
  1843 No match
       
  1844     ABBBBC
       
  1845 No match
       
  1846     ABCC
       
  1847 No match
       
  1848 
       
  1849 /^abc/i
       
  1850     ABCC
       
  1851  0: ABC
       
  1852 
       
  1853 /^abc$/i
       
  1854 
       
  1855 /abc$/i
       
  1856     AABC
       
  1857  0: ABC
       
  1858 
       
  1859 /^/i
       
  1860     ABC
       
  1861  0: 
       
  1862 
       
  1863 /$/i
       
  1864     ABC
       
  1865  0: 
       
  1866 
       
  1867 /a.c/i
       
  1868     ABC
       
  1869  0: ABC
       
  1870     AXC
       
  1871  0: AXC
       
  1872 
       
  1873 /a.*?c/i
       
  1874     AXYZC
       
  1875  0: AXYZC
       
  1876 
       
  1877 /a.*c/i
       
  1878     *** Failers
       
  1879 No match
       
  1880     AABC
       
  1881  0: AABC
       
  1882     AXYZD
       
  1883 No match
       
  1884 
       
  1885 /a[bc]d/i
       
  1886     ABD
       
  1887  0: ABD
       
  1888 
       
  1889 /a[b-d]e/i
       
  1890     ACE
       
  1891  0: ACE
       
  1892     *** Failers
       
  1893 No match
       
  1894     ABC
       
  1895 No match
       
  1896     ABD
       
  1897 No match
       
  1898 
       
  1899 /a[b-d]/i
       
  1900     AAC
       
  1901  0: AC
       
  1902 
       
  1903 /a[-b]/i
       
  1904     A-
       
  1905  0: A-
       
  1906 
       
  1907 /a[b-]/i
       
  1908     A-
       
  1909  0: A-
       
  1910 
       
  1911 /a]/i
       
  1912     A]
       
  1913  0: A]
       
  1914 
       
  1915 /a[]]b/i
       
  1916     A]B
       
  1917  0: A]B
       
  1918 
       
  1919 /a[^bc]d/i
       
  1920     AED
       
  1921  0: AED
       
  1922 
       
  1923 /a[^-b]c/i
       
  1924     ADC
       
  1925  0: ADC
       
  1926     *** Failers
       
  1927 No match
       
  1928     ABD
       
  1929 No match
       
  1930     A-C
       
  1931 No match
       
  1932 
       
  1933 /a[^]b]c/i
       
  1934     ADC
       
  1935  0: ADC
       
  1936 
       
  1937 /ab|cd/i
       
  1938     ABC
       
  1939  0: AB
       
  1940     ABCD
       
  1941  0: AB
       
  1942 
       
  1943 /()ef/i
       
  1944     DEF
       
  1945  0: EF
       
  1946  1: 
       
  1947 
       
  1948 /$b/i
       
  1949     *** Failers
       
  1950 No match
       
  1951     A]C
       
  1952 No match
       
  1953     B
       
  1954 No match
       
  1955 
       
  1956 /a\(b/i
       
  1957     A(B
       
  1958  0: A(B
       
  1959 
       
  1960 /a\(*b/i
       
  1961     AB
       
  1962  0: AB
       
  1963     A((B
       
  1964  0: A((B
       
  1965 
       
  1966 /((a))/i
       
  1967     ABC
       
  1968  0: A
       
  1969  1: A
       
  1970  2: A
       
  1971 
       
  1972 /(a)b(c)/i
       
  1973     ABC
       
  1974  0: ABC
       
  1975  1: A
       
  1976  2: C
       
  1977 
       
  1978 /a+b+c/i
       
  1979     AABBABC
       
  1980  0: ABC
       
  1981 
       
  1982 /a{1,}b{1,}c/i
       
  1983     AABBABC
       
  1984  0: ABC
       
  1985 
       
  1986 /a.+?c/i
       
  1987     ABCABC
       
  1988  0: ABC
       
  1989 
       
  1990 /a.*?c/i
       
  1991     ABCABC
       
  1992  0: ABC
       
  1993 
       
  1994 /a.{0,5}?c/i
       
  1995     ABCABC
       
  1996  0: ABC
       
  1997 
       
  1998 /(a+|b)*/i
       
  1999     AB
       
  2000  0: AB
       
  2001  1: B
       
  2002 
       
  2003 /(a+|b){0,}/i
       
  2004     AB
       
  2005  0: AB
       
  2006  1: B
       
  2007 
       
  2008 /(a+|b)+/i
       
  2009     AB
       
  2010  0: AB
       
  2011  1: B
       
  2012 
       
  2013 /(a+|b){1,}/i
       
  2014     AB
       
  2015  0: AB
       
  2016  1: B
       
  2017 
       
  2018 /(a+|b)?/i
       
  2019     AB
       
  2020  0: A
       
  2021  1: A
       
  2022 
       
  2023 /(a+|b){0,1}/i
       
  2024     AB
       
  2025  0: A
       
  2026  1: A
       
  2027 
       
  2028 /[^ab]*/i
       
  2029     CDE
       
  2030  0: CDE
       
  2031 
       
  2032 /abc/i
       
  2033 
       
  2034 /a*/i
       
  2035 
       
  2036 /([abc])*d/i
       
  2037     ABBBCD
       
  2038  0: ABBBCD
       
  2039  1: C
       
  2040 
       
  2041 /([abc])*bcd/i
       
  2042     ABCD
       
  2043  0: ABCD
       
  2044  1: A
       
  2045 
       
  2046 /a|b|c|d|e/i
       
  2047     E
       
  2048  0: E
       
  2049 
       
  2050 /(a|b|c|d|e)f/i
       
  2051     EF
       
  2052  0: EF
       
  2053  1: E
       
  2054 
       
  2055 /abcd*efg/i
       
  2056     ABCDEFG
       
  2057  0: ABCDEFG
       
  2058 
       
  2059 /ab*/i
       
  2060     XABYABBBZ
       
  2061  0: AB
       
  2062     XAYABBBZ
       
  2063  0: A
       
  2064 
       
  2065 /(ab|cd)e/i
       
  2066     ABCDE
       
  2067  0: CDE
       
  2068  1: CD
       
  2069 
       
  2070 /[abhgefdc]ij/i
       
  2071     HIJ
       
  2072  0: HIJ
       
  2073 
       
  2074 /^(ab|cd)e/i
       
  2075     ABCDE
       
  2076 No match
       
  2077 
       
  2078 /(abc|)ef/i
       
  2079     ABCDEF
       
  2080  0: EF
       
  2081  1: 
       
  2082 
       
  2083 /(a|b)c*d/i
       
  2084     ABCD
       
  2085  0: BCD
       
  2086  1: B
       
  2087 
       
  2088 /a([bc]*)c*/i
       
  2089     ABC
       
  2090  0: ABC
       
  2091  1: BC
       
  2092 
       
  2093 /a([bc]*)(c*d)/i
       
  2094     ABCD
       
  2095  0: ABCD
       
  2096  1: BC
       
  2097  2: D
       
  2098 
       
  2099 /a([bc]+)(c*d)/i
       
  2100     ABCD
       
  2101  0: ABCD
       
  2102  1: BC
       
  2103  2: D
       
  2104 
       
  2105 /a([bc]*)(c+d)/i
       
  2106     ABCD
       
  2107  0: ABCD
       
  2108  1: B
       
  2109  2: CD
       
  2110 
       
  2111 /a[bcd]*dcdcde/i
       
  2112     ADCDCDE
       
  2113  0: ADCDCDE
       
  2114 
       
  2115 /a[bcd]+dcdcde/i
       
  2116 
       
  2117 /(ab|a)b*c/i
       
  2118     ABC
       
  2119  0: ABC
       
  2120  1: AB
       
  2121 
       
  2122 /((a)(b)c)(d)/i
       
  2123     ABCD
       
  2124  0: ABCD
       
  2125  1: ABC
       
  2126  2: A
       
  2127  3: B
       
  2128  4: D
       
  2129 
       
  2130 /[a-zA-Z_][a-zA-Z0-9_]*/i
       
  2131     ALPHA
       
  2132  0: ALPHA
       
  2133 
       
  2134 /((((((((((a))))))))))/i
       
  2135     A
       
  2136  0: A
       
  2137  1: A
       
  2138  2: A
       
  2139  3: A
       
  2140  4: A
       
  2141  5: A
       
  2142  6: A
       
  2143  7: A
       
  2144  8: A
       
  2145  9: A
       
  2146  10: A
       
  2147 
       
  2148 /(((((((((a)))))))))/i
       
  2149     A
       
  2150  0: A
       
  2151  1: A
       
  2152  2: A
       
  2153  3: A
       
  2154  4: A
       
  2155  5: A
       
  2156  6: A
       
  2157  7: A
       
  2158  8: A
       
  2159  9: A
       
  2160 
       
  2161 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
       
  2162     A
       
  2163  0: A
       
  2164  1: A
       
  2165 
       
  2166 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
       
  2167     C
       
  2168  0: C
       
  2169  1: C
       
  2170 
       
  2171 /multiple words of text/i
       
  2172     *** Failers
       
  2173 No match
       
  2174     AA
       
  2175 No match
       
  2176     UH-UH
       
  2177 No match
       
  2178 
       
  2179 /multiple words/i
       
  2180     MULTIPLE WORDS, YEAH
       
  2181  0: MULTIPLE WORDS
       
  2182 
       
  2183 /(.*)c(.*)/i
       
  2184     ABCDE
       
  2185  0: ABCDE
       
  2186  1: AB
       
  2187  2: DE
       
  2188 
       
  2189 /\((.*), (.*)\)/i
       
  2190     (A, B)
       
  2191  0: (A, B)
       
  2192  1: A
       
  2193  2: B
       
  2194 
       
  2195 /[k]/i
       
  2196 
       
  2197 /abcd/i
       
  2198     ABCD
       
  2199  0: ABCD
       
  2200 
       
  2201 /a(bc)d/i
       
  2202     ABCD
       
  2203  0: ABCD
       
  2204  1: BC
       
  2205 
       
  2206 /a[-]?c/i
       
  2207     AC
       
  2208  0: AC
       
  2209 
       
  2210 /(abc)\1/i
       
  2211     ABCABC
       
  2212  0: ABCABC
       
  2213  1: ABC
       
  2214 
       
  2215 /([a-c]*)\1/i
       
  2216     ABCABC
       
  2217  0: ABCABC
       
  2218  1: ABC
       
  2219 
       
  2220 /a(?!b)./
       
  2221     abad
       
  2222  0: ad
       
  2223 
       
  2224 /a(?=d)./
       
  2225     abad
       
  2226  0: ad
       
  2227 
       
  2228 /a(?=c|d)./
       
  2229     abad
       
  2230  0: ad
       
  2231 
       
  2232 /a(?:b|c|d)(.)/
       
  2233     ace
       
  2234  0: ace
       
  2235  1: e
       
  2236 
       
  2237 /a(?:b|c|d)*(.)/
       
  2238     ace
       
  2239  0: ace
       
  2240  1: e
       
  2241 
       
  2242 /a(?:b|c|d)+?(.)/
       
  2243     ace
       
  2244  0: ace
       
  2245  1: e
       
  2246     acdbcdbe
       
  2247  0: acd
       
  2248  1: d
       
  2249 
       
  2250 /a(?:b|c|d)+(.)/
       
  2251     acdbcdbe
       
  2252  0: acdbcdbe
       
  2253  1: e
       
  2254 
       
  2255 /a(?:b|c|d){2}(.)/
       
  2256     acdbcdbe
       
  2257  0: acdb
       
  2258  1: b
       
  2259 
       
  2260 /a(?:b|c|d){4,5}(.)/
       
  2261     acdbcdbe
       
  2262  0: acdbcdb
       
  2263  1: b
       
  2264 
       
  2265 /a(?:b|c|d){4,5}?(.)/
       
  2266     acdbcdbe
       
  2267  0: acdbcd
       
  2268  1: d
       
  2269 
       
  2270 /((foo)|(bar))*/
       
  2271     foobar
       
  2272  0: foobar
       
  2273  1: bar
       
  2274  2: foo
       
  2275  3: bar
       
  2276 
       
  2277 /a(?:b|c|d){6,7}(.)/
       
  2278     acdbcdbe
       
  2279  0: acdbcdbe
       
  2280  1: e
       
  2281 
       
  2282 /a(?:b|c|d){6,7}?(.)/
       
  2283     acdbcdbe
       
  2284  0: acdbcdbe
       
  2285  1: e
       
  2286 
       
  2287 /a(?:b|c|d){5,6}(.)/
       
  2288     acdbcdbe
       
  2289  0: acdbcdbe
       
  2290  1: e
       
  2291 
       
  2292 /a(?:b|c|d){5,6}?(.)/
       
  2293     acdbcdbe
       
  2294  0: acdbcdb
       
  2295  1: b
       
  2296 
       
  2297 /a(?:b|c|d){5,7}(.)/
       
  2298     acdbcdbe
       
  2299  0: acdbcdbe
       
  2300  1: e
       
  2301 
       
  2302 /a(?:b|c|d){5,7}?(.)/
       
  2303     acdbcdbe
       
  2304  0: acdbcdb
       
  2305  1: b
       
  2306 
       
  2307 /a(?:b|(c|e){1,2}?|d)+?(.)/
       
  2308     ace
       
  2309  0: ace
       
  2310  1: c
       
  2311  2: e
       
  2312 
       
  2313 /^(.+)?B/
       
  2314     AB
       
  2315  0: AB
       
  2316  1: A
       
  2317 
       
  2318 /^[<>]&/
       
  2319     <&OUT
       
  2320  0: <&
       
  2321 
       
  2322 /(?:(f)(o)(o)|(b)(a)(r))*/
       
  2323     foobar
       
  2324  0: foobar
       
  2325  1: f
       
  2326  2: o
       
  2327  3: o
       
  2328  4: b
       
  2329  5: a
       
  2330  6: r
       
  2331 
       
  2332 /(?:..)*a/
       
  2333     aba
       
  2334  0: aba
       
  2335 
       
  2336 /(?:..)*?a/
       
  2337     aba
       
  2338  0: a
       
  2339 
       
  2340 /^(){3,5}/
       
  2341     abc
       
  2342  0: 
       
  2343  1: 
       
  2344 
       
  2345 /^(a+)*ax/
       
  2346     aax
       
  2347  0: aax
       
  2348  1: a
       
  2349 
       
  2350 /^((a|b)+)*ax/
       
  2351     aax
       
  2352  0: aax
       
  2353  1: a
       
  2354  2: a
       
  2355 
       
  2356 /^((a|bc)+)*ax/
       
  2357     aax
       
  2358  0: aax
       
  2359  1: a
       
  2360  2: a
       
  2361 
       
  2362 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
       
  2363     cabbbb
       
  2364  0: cabbbb
       
  2365 
       
  2366 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
       
  2367     caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
       
  2368  0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
       
  2369 
       
  2370 /foo\w*\d{4}baz/
       
  2371     foobar1234baz
       
  2372  0: foobar1234baz
       
  2373 
       
  2374 /x(~~)*(?:(?:F)?)?/
       
  2375     x~~
       
  2376  0: x~~
       
  2377  1: ~~
       
  2378 
       
  2379 /^b/
       
  2380 
       
  2381 /()^b/
       
  2382     *** Failers
       
  2383 No match
       
  2384     a\nb\nc\n
       
  2385 No match
       
  2386     a\nb\nc\n
       
  2387 No match
       
  2388 
       
  2389 /^(?=(a+?))\1ab/
       
  2390 
       
  2391 /(\w+:)+/
       
  2392     one:
       
  2393  0: one:
       
  2394  1: one:
       
  2395 
       
  2396 /^(?=(a+?))\1ab/
       
  2397     *** Failers
       
  2398 No match
       
  2399     aaab
       
  2400 No match
       
  2401     aaab
       
  2402 No match
       
  2403 
       
  2404 /^[^bcd]*(c+)/
       
  2405     aexycd
       
  2406  0: aexyc
       
  2407  1: c
       
  2408 
       
  2409 /(a*)b+/
       
  2410     caab
       
  2411  0: aab
       
  2412  1: aa
       
  2413 
       
  2414 /^[^bcd]*(c+)/
       
  2415     aexycd
       
  2416  0: aexyc
       
  2417  1: c
       
  2418 
       
  2419 /(>a+)ab/
       
  2420 
       
  2421 /a\Z/
       
  2422     *** Failers
       
  2423 No match
       
  2424     aaab
       
  2425 No match
       
  2426     a\nb\n
       
  2427 No match
       
  2428 
       
  2429 /b\z/
       
  2430 
       
  2431 /b\Z/
       
  2432     a\nb
       
  2433  0: b
       
  2434 
       
  2435 /((Z)+|A)*/
       
  2436     ZABCDEFG
       
  2437  0: ZA
       
  2438  1: A
       
  2439  2: Z
       
  2440 
       
  2441 /(Z()|A)*/
       
  2442     ZABCDEFG
       
  2443  0: ZA
       
  2444  1: A
       
  2445  2: 
       
  2446 
       
  2447 /(Z(())|A)*/
       
  2448     ZABCDEFG
       
  2449  0: ZA
       
  2450  1: A
       
  2451  2: 
       
  2452  3: 
       
  2453 
       
  2454 /^[\d-a]/
       
  2455     abcde
       
  2456  0: a
       
  2457     -things
       
  2458  0: -
       
  2459     0digit
       
  2460  0: 0
       
  2461     *** Failers
       
  2462 No match
       
  2463     bcdef
       
  2464 No match
       
  2465 
       
  2466 /ab/x
       
  2467     ab
       
  2468 No match
       
  2469 
       
  2470 /(?!\A)x/m
       
  2471     a\nxb\n
       
  2472  0: x
       
  2473 
       
  2474 /(.*)\d+\1/
       
  2475     abc123abc
       
  2476  0: abc123abc
       
  2477  1: abc
       
  2478     abc123bc
       
  2479  0: bc123bc
       
  2480  1: bc
       
  2481 
       
  2482 /(.*)\d+\1/s
       
  2483     abc123abc
       
  2484  0: abc123abc
       
  2485  1: abc
       
  2486     abc123bc
       
  2487  0: bc123bc
       
  2488  1: bc
       
  2489 
       
  2490 /((.*))\d+\1/
       
  2491     abc123abc
       
  2492  0: abc123abc
       
  2493  1: abc
       
  2494  2: abc
       
  2495     abc123bc
       
  2496  0: bc123bc
       
  2497  1: bc
       
  2498  2: bc
       
  2499 
       
  2500 /-- This tests for an IPv6 address in the form where it can have up to --/
       
  2501     /-- eight components, one and only one of which is empty. This must be --/
       
  2502 No match
       
  2503     /-- an internal component. --/
       
  2504 No match
       
  2505 
       
  2506 /(a+)*b/
       
  2507     aaaaaaaaaaaaaa
       
  2508 No match
       
  2509 
       
  2510 /^[W-c]+$/i
       
  2511     WXY_^abc
       
  2512  0: WXY_^abc
       
  2513     wxy_^ABC
       
  2514  0: wxy_^ABC
       
  2515 
       
  2516 /^[\x3f-\x5F]+$/i
       
  2517     WXY_^abc
       
  2518  0: WXY_^abc
       
  2519     wxy_^ABC
       
  2520  0: wxy_^ABC
       
  2521 
       
  2522 /\x5c/
       
  2523     \\
       
  2524  0: \
       
  2525 
       
  2526 /\x20Z/
       
  2527     the Zoo
       
  2528  0:  Z
       
  2529     *** Failers
       
  2530 No match
       
  2531     Zulu
       
  2532 No match
       
  2533 
       
  2534 /^[W-\]46]/
       
  2535     W46]789
       
  2536  0: W
       
  2537     Wall
       
  2538  0: W
       
  2539     Zebra
       
  2540  0: Z
       
  2541     Xylophone
       
  2542  0: X
       
  2543     42
       
  2544  0: 4
       
  2545     [abcd]
       
  2546  0: [
       
  2547     ]abcd[
       
  2548  0: ]
       
  2549     \\backslash
       
  2550  0: \
       
  2551     *** Failers
       
  2552 No match
       
  2553     -46]789
       
  2554 No match
       
  2555     well
       
  2556 No match
       
  2557 
       
  2558 /a(?-i)b/i
       
  2559     ab
       
  2560  0: ab
       
  2561     Ab
       
  2562  0: Ab
       
  2563     *** Failers
       
  2564 No match
       
  2565     aB
       
  2566 No match
       
  2567     AB
       
  2568 No match
       
  2569 
       
  2570 /(a(?i)b)c/
       
  2571     abc
       
  2572  0: abc
       
  2573  1: ab
       
  2574     aBc
       
  2575  0: aBc
       
  2576  1: aB
       
  2577     *** Failers
       
  2578 No match
       
  2579     abC
       
  2580 No match
       
  2581     aBC
       
  2582 No match
       
  2583     Abc
       
  2584 No match
       
  2585     ABc
       
  2586 No match
       
  2587     ABC
       
  2588 No match
       
  2589     AbC
       
  2590 No match
       
  2591 
       
  2592 /a(?i:b)c/
       
  2593     abc
       
  2594  0: abc
       
  2595     aBc
       
  2596  0: aBc
       
  2597     *** Failers
       
  2598 No match
       
  2599     ABC
       
  2600 No match
       
  2601     abC
       
  2602 No match
       
  2603     aBC
       
  2604 No match
       
  2605 
       
  2606 /a(?i:b)*c/
       
  2607     aBc
       
  2608  0: aBc
       
  2609     aBBc
       
  2610  0: aBBc
       
  2611     *** Failers
       
  2612 No match
       
  2613     aBC
       
  2614 No match
       
  2615     aBBC
       
  2616 No match
       
  2617 
       
  2618 /a(?=b(?i)c)\w\wd/
       
  2619     abcd
       
  2620  0: abcd
       
  2621     abCd
       
  2622  0: abCd
       
  2623     *** Failers
       
  2624 No match
       
  2625     aBCd
       
  2626 No match
       
  2627     abcD
       
  2628 No match
       
  2629 
       
  2630 /(?=a(?i)b)\w\wc/
       
  2631     abc
       
  2632  0: abc
       
  2633     aBc
       
  2634  0: aBc
       
  2635     *** Failers
       
  2636 No match
       
  2637     Ab
       
  2638 No match
       
  2639     abC
       
  2640 No match
       
  2641     aBC
       
  2642 No match
       
  2643 
       
  2644 /(abc|)+/
       
  2645     abc
       
  2646  0: abc
       
  2647  1: 
       
  2648     abcabc
       
  2649  0: abcabc
       
  2650  1: 
       
  2651     abcabcabc
       
  2652  0: abcabcabc
       
  2653  1: 
       
  2654     xyz
       
  2655  0: 
       
  2656  1: 
       
  2657 
       
  2658 /(?i:saturday|sunday)/
       
  2659     saturday
       
  2660  0: saturday
       
  2661     sunday
       
  2662  0: sunday
       
  2663     Saturday
       
  2664  0: Saturday
       
  2665     Sunday
       
  2666  0: Sunday
       
  2667     SATURDAY
       
  2668  0: SATURDAY
       
  2669     SUNDAY
       
  2670  0: SUNDAY
       
  2671     SunDay
       
  2672  0: SunDay
       
  2673 
       
  2674 /(a(?i)bc|BB)x/
       
  2675     abcx
       
  2676  0: abcx
       
  2677  1: abc
       
  2678     aBCx
       
  2679  0: aBCx
       
  2680  1: aBC
       
  2681     bbx
       
  2682  0: bbx
       
  2683  1: bb
       
  2684     BBx
       
  2685  0: BBx
       
  2686  1: BB
       
  2687     *** Failers
       
  2688 No match
       
  2689     abcX
       
  2690 No match
       
  2691     aBCX
       
  2692 No match
       
  2693     bbX
       
  2694 No match
       
  2695     BBX
       
  2696 No match
       
  2697 
       
  2698 /^([ab](?i)[cd]|[ef])/
       
  2699     ac
       
  2700  0: ac
       
  2701  1: ac
       
  2702     aC
       
  2703  0: aC
       
  2704  1: aC
       
  2705     bD
       
  2706  0: bD
       
  2707  1: bD
       
  2708     elephant
       
  2709  0: e
       
  2710  1: e
       
  2711     Europe
       
  2712  0: E
       
  2713  1: E
       
  2714     frog
       
  2715  0: f
       
  2716  1: f
       
  2717     France
       
  2718  0: F
       
  2719  1: F
       
  2720     *** Failers
       
  2721 No match
       
  2722     Africa
       
  2723 No match
       
  2724 
       
  2725 /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
       
  2726     ab
       
  2727  0: ab
       
  2728  1: ab
       
  2729     aBd
       
  2730  0: aBd
       
  2731  1: aBd
       
  2732     xy
       
  2733  0: xy
       
  2734  1: xy
       
  2735     xY
       
  2736  0: xY
       
  2737  1: xY
       
  2738     zebra
       
  2739  0: z
       
  2740  1: z
       
  2741     Zambesi
       
  2742  0: Z
       
  2743  1: Z
       
  2744     *** Failers
       
  2745 No match
       
  2746     aCD
       
  2747 No match
       
  2748     XY
       
  2749 No match
       
  2750 
       
  2751 /(?:(?i)a)b/
       
  2752     ab
       
  2753  0: ab
       
  2754 
       
  2755 /((?i)a)b/
       
  2756     ab
       
  2757  0: ab
       
  2758  1: a
       
  2759 
       
  2760 /(?:(?i)a)b/
       
  2761     Ab
       
  2762  0: Ab
       
  2763 
       
  2764 /((?i)a)b/
       
  2765     Ab
       
  2766  0: Ab
       
  2767  1: A
       
  2768 
       
  2769 /(?:(?i)a)b/
       
  2770     *** Failers
       
  2771 No match
       
  2772     cb
       
  2773 No match
       
  2774     aB
       
  2775 No match
       
  2776 
       
  2777 /((?i)a)b/
       
  2778 
       
  2779 /(?i:a)b/
       
  2780     ab
       
  2781  0: ab
       
  2782 
       
  2783 /((?i:a))b/
       
  2784     ab
       
  2785  0: ab
       
  2786  1: a
       
  2787 
       
  2788 /(?i:a)b/
       
  2789     Ab
       
  2790  0: Ab
       
  2791 
       
  2792 /((?i:a))b/
       
  2793     Ab
       
  2794  0: Ab
       
  2795  1: A
       
  2796 
       
  2797 /(?i:a)b/
       
  2798     *** Failers
       
  2799 No match
       
  2800     aB
       
  2801 No match
       
  2802     aB
       
  2803 No match
       
  2804 
       
  2805 /((?i:a))b/
       
  2806 
       
  2807 /(?:(?-i)a)b/i
       
  2808     ab
       
  2809  0: ab
       
  2810 
       
  2811 /((?-i)a)b/i
       
  2812     ab
       
  2813  0: ab
       
  2814  1: a
       
  2815 
       
  2816 /(?:(?-i)a)b/i
       
  2817     aB
       
  2818  0: aB
       
  2819 
       
  2820 /((?-i)a)b/i
       
  2821     aB
       
  2822  0: aB
       
  2823  1: a
       
  2824 
       
  2825 /(?:(?-i)a)b/i
       
  2826     *** Failers
       
  2827 No match
       
  2828     aB
       
  2829  0: aB
       
  2830     Ab
       
  2831 No match
       
  2832 
       
  2833 /((?-i)a)b/i
       
  2834 
       
  2835 /(?:(?-i)a)b/i
       
  2836     aB
       
  2837  0: aB
       
  2838 
       
  2839 /((?-i)a)b/i
       
  2840     aB
       
  2841  0: aB
       
  2842  1: a
       
  2843 
       
  2844 /(?:(?-i)a)b/i
       
  2845     *** Failers
       
  2846 No match
       
  2847     Ab
       
  2848 No match
       
  2849     AB
       
  2850 No match
       
  2851 
       
  2852 /((?-i)a)b/i
       
  2853 
       
  2854 /(?-i:a)b/i
       
  2855     ab
       
  2856  0: ab
       
  2857 
       
  2858 /((?-i:a))b/i
       
  2859     ab
       
  2860  0: ab
       
  2861  1: a
       
  2862 
       
  2863 /(?-i:a)b/i
       
  2864     aB
       
  2865  0: aB
       
  2866 
       
  2867 /((?-i:a))b/i
       
  2868     aB
       
  2869  0: aB
       
  2870  1: a
       
  2871 
       
  2872 /(?-i:a)b/i
       
  2873     *** Failers
       
  2874 No match
       
  2875     AB
       
  2876 No match
       
  2877     Ab
       
  2878 No match
       
  2879 
       
  2880 /((?-i:a))b/i
       
  2881 
       
  2882 /(?-i:a)b/i
       
  2883     aB
       
  2884  0: aB
       
  2885 
       
  2886 /((?-i:a))b/i
       
  2887     aB
       
  2888  0: aB
       
  2889  1: a
       
  2890 
       
  2891 /(?-i:a)b/i
       
  2892     *** Failers
       
  2893 No match
       
  2894     Ab
       
  2895 No match
       
  2896     AB
       
  2897 No match
       
  2898 
       
  2899 /((?-i:a))b/i
       
  2900 
       
  2901 /((?-i:a.))b/i
       
  2902     *** Failers
       
  2903 No match
       
  2904     AB
       
  2905 No match
       
  2906     a\nB
       
  2907 No match
       
  2908 
       
  2909 /^(?:a?b?)*$/
       
  2910     *** Failers
       
  2911 No match
       
  2912     dbcb
       
  2913 No match
       
  2914     a--
       
  2915 No match
       
  2916 
       
  2917 /(?i)AB(?-i)C/
       
  2918     XabCY
       
  2919  0: abC
       
  2920     *** Failers
       
  2921 No match
       
  2922     XabcY
       
  2923 No match
       
  2924 
       
  2925 /((?i)AB(?-i)C|D)E/
       
  2926     abCE
       
  2927  0: abCE
       
  2928  1: abC
       
  2929     DE
       
  2930  0: DE
       
  2931  1: D
       
  2932     *** Failers
       
  2933 No match
       
  2934     abcE
       
  2935 No match
       
  2936     abCe
       
  2937 No match
       
  2938     dE
       
  2939 No match
       
  2940     De
       
  2941 No match
       
  2942 
       
  2943 /^(b+|a){1,2}c/
       
  2944     bc
       
  2945  0: bc
       
  2946  1: b
       
  2947     bbc
       
  2948  0: bbc
       
  2949  1: bb
       
  2950     bbbc
       
  2951  0: bbbc
       
  2952  1: bbb
       
  2953     bac
       
  2954  0: bac
       
  2955  1: a
       
  2956     bbac
       
  2957  0: bbac
       
  2958  1: a
       
  2959     aac
       
  2960  0: aac
       
  2961  1: a
       
  2962     abbbbbbbbbbbc
       
  2963  0: abbbbbbbbbbbc
       
  2964  1: bbbbbbbbbbb
       
  2965     bbbbbbbbbbbac
       
  2966  0: bbbbbbbbbbbac
       
  2967  1: a
       
  2968     *** Failers
       
  2969 No match
       
  2970     aaac
       
  2971 No match
       
  2972     abbbbbbbbbbbac
       
  2973 No match
       
  2974 
       
  2975 /^[ab]{1,3}(ab*|b)/
       
  2976     aabbbbb
       
  2977  0: aabb
       
  2978  1: b
       
  2979 
       
  2980 /^(a|)\1*b/
       
  2981     ab
       
  2982  0: ab
       
  2983  1: a
       
  2984     aaaab
       
  2985  0: aaaab
       
  2986  1: a
       
  2987     b
       
  2988  0: b
       
  2989  1: 
       
  2990     *** Failers
       
  2991 No match
       
  2992     acb
       
  2993 No match
       
  2994 
       
  2995 /^(a|)\1+b/
       
  2996     aab
       
  2997  0: aab
       
  2998  1: a
       
  2999     aaaab
       
  3000  0: aaaab
       
  3001  1: a
       
  3002     b
       
  3003  0: b
       
  3004  1: 
       
  3005     *** Failers
       
  3006 No match
       
  3007     ab
       
  3008 No match
       
  3009 
       
  3010 /(a)\1{8,}/
       
  3011     aaaaaaaaa
       
  3012  0: aaaaaaaaa
       
  3013  1: a
       
  3014     aaaaaaaaaa
       
  3015  0: aaaaaaaaaa
       
  3016  1: a
       
  3017     *** Failers
       
  3018 No match
       
  3019     aaaaaaa
       
  3020 No match
       
  3021 
       
  3022 /(abc)\1/i
       
  3023     abcabc
       
  3024  0: abcabc
       
  3025  1: abc
       
  3026     ABCabc
       
  3027  0: ABCabc
       
  3028  1: ABC
       
  3029     abcABC
       
  3030  0: abcABC
       
  3031  1: abc
       
  3032 
       
  3033 /((?i)blah)\s+\1/
       
  3034     blah blah
       
  3035  0: blah blah
       
  3036  1: blah
       
  3037     BLAH BLAH
       
  3038  0: BLAH BLAH
       
  3039  1: BLAH
       
  3040     Blah Blah
       
  3041  0: Blah Blah
       
  3042  1: Blah
       
  3043     blaH blaH
       
  3044  0: blaH blaH
       
  3045  1: blaH
       
  3046     *** Failers
       
  3047 No match
       
  3048     blah BLAH
       
  3049 No match
       
  3050     Blah blah
       
  3051 No match
       
  3052     blaH blah
       
  3053 No match
       
  3054 
       
  3055 /((?i)blah)\s+(?i:\1)/
       
  3056     blah blah
       
  3057  0: blah blah
       
  3058  1: blah
       
  3059     BLAH BLAH
       
  3060  0: BLAH BLAH
       
  3061  1: BLAH
       
  3062     Blah Blah
       
  3063  0: Blah Blah
       
  3064  1: Blah
       
  3065     blaH blaH
       
  3066  0: blaH blaH
       
  3067  1: blaH
       
  3068     blah BLAH
       
  3069  0: blah BLAH
       
  3070  1: blah
       
  3071     Blah blah
       
  3072  0: Blah blah
       
  3073  1: Blah
       
  3074     blaH blah
       
  3075  0: blaH blah
       
  3076  1: blaH
       
  3077 
       
  3078 /(ab)\d\1/i
       
  3079     Ab4ab
       
  3080  0: Ab4ab
       
  3081  1: Ab
       
  3082     ab4Ab
       
  3083  0: ab4Ab
       
  3084  1: ab
       
  3085 
       
  3086 /((((((((((a))))))))))\10/
       
  3087     aa
       
  3088  0: aa
       
  3089  1: a
       
  3090  2: a
       
  3091  3: a
       
  3092  4: a
       
  3093  5: a
       
  3094  6: a
       
  3095  7: a
       
  3096  8: a
       
  3097  9: a
       
  3098  10: a
       
  3099 
       
  3100 /((((((((((a))))))))))\10/i
       
  3101     AA
       
  3102  0: AA
       
  3103  1: A
       
  3104  2: A
       
  3105  3: A
       
  3106  4: A
       
  3107  5: A
       
  3108  6: A
       
  3109  7: A
       
  3110  8: A
       
  3111  9: A
       
  3112  10: A
       
  3113 
       
  3114 /ab\d{0}e/
       
  3115     abe
       
  3116  0: abe
       
  3117     *** Failers
       
  3118 No match
       
  3119     ab1e
       
  3120 No match
       
  3121 
       
  3122 /(ab|ab*)bc/
       
  3123     abc
       
  3124  0: abc
       
  3125  1: a
       
  3126 
       
  3127 /(ab|ab*)bc/i
       
  3128     ABC
       
  3129  0: ABC
       
  3130  1: A
       
  3131 
       
  3132 /(?:(?!foo)...|^.{0,2})bar(.*)/
       
  3133     foobar crowbar etc
       
  3134  0: rowbar etc
       
  3135  1:  etc
       
  3136     barrel
       
  3137  0: barrel
       
  3138  1: rel
       
  3139     2barrel
       
  3140  0: 2barrel
       
  3141  1: rel
       
  3142     A barrel
       
  3143  0: A barrel
       
  3144  1: rel
       
  3145 
       
  3146 /(\.\d\d((?=0)|\d(?=\d)))/
       
  3147     1.230003938
       
  3148  0: .23
       
  3149  1: .23
       
  3150  2: 
       
  3151     1.875000282
       
  3152  0: .875
       
  3153  1: .875
       
  3154  2: 5
       
  3155     *** Failers
       
  3156 No match
       
  3157     1.235
       
  3158 No match
       
  3159 
       
  3160 /(?<!bar)foo/
       
  3161     foo
       
  3162  0: foo
       
  3163     catfood
       
  3164  0: foo
       
  3165     arfootle
       
  3166  0: foo
       
  3167     rfoosh
       
  3168  0: foo
       
  3169     *** Failers
       
  3170 No match
       
  3171     barfoo
       
  3172 No match
       
  3173     towbarfoo
       
  3174 No match
       
  3175 
       
  3176 /\w{3}(?<!bar)foo/
       
  3177     catfood
       
  3178  0: catfoo
       
  3179     *** Failers
       
  3180 No match
       
  3181     foo
       
  3182 No match
       
  3183     barfoo
       
  3184 No match
       
  3185     towbarfoo
       
  3186 No match
       
  3187 
       
  3188 /(?>(\.\d\d[1-9]?))\d+/
       
  3189     1.230003938
       
  3190  0: .230003938
       
  3191  1: .23
       
  3192     1.875000282
       
  3193  0: .875000282
       
  3194  1: .875
       
  3195     *** Failers
       
  3196 No match
       
  3197     1.235
       
  3198 No match
       
  3199 
       
  3200 /^((?>\w+)|(?>\s+))*$/
       
  3201     now is the time for all good men to come to the aid of the party
       
  3202  0: now is the time for all good men to come to the aid of the party
       
  3203  1: party
       
  3204     *** Failers
       
  3205 No match
       
  3206     this is not a line with only words and spaces!
       
  3207 No match
       
  3208 
       
  3209 /((?>\d+))(\w)/
       
  3210     12345a
       
  3211  0: 12345a
       
  3212  1: 12345
       
  3213  2: a
       
  3214     *** Failers
       
  3215 No match
       
  3216     12345+
       
  3217 No match
       
  3218 
       
  3219 /(?>a+)b/
       
  3220     aaab
       
  3221  0: aaab
       
  3222 
       
  3223 /((?>a+)b)/
       
  3224     aaab
       
  3225  0: aaab
       
  3226  1: aaab
       
  3227 
       
  3228 /(?>(a+))b/
       
  3229     aaab
       
  3230  0: aaab
       
  3231  1: aaa
       
  3232 
       
  3233 /(?>b)+/
       
  3234     aaabbbccc
       
  3235  0: bbb
       
  3236 
       
  3237 /(?>a+|b+|c+)*c/
       
  3238     aaabbbbccccd
       
  3239  0: aaabbbbc
       
  3240 
       
  3241 /((?>[^()]+)|\([^()]*\))+/
       
  3242     ((abc(ade)ufh()()x
       
  3243  0: abc(ade)ufh()()x
       
  3244  1: x
       
  3245 
       
  3246 /\(((?>[^()]+)|\([^()]+\))+\)/
       
  3247     (abc)
       
  3248  0: (abc)
       
  3249  1: abc
       
  3250     (abc(def)xyz)
       
  3251  0: (abc(def)xyz)
       
  3252  1: xyz
       
  3253     *** Failers
       
  3254 No match
       
  3255     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
  3256 No match
       
  3257 
       
  3258 /(?>a(?i)b+)+c/
       
  3259     abc
       
  3260  0: abc
       
  3261     aBbc
       
  3262  0: aBbc
       
  3263     aBBc
       
  3264  0: aBBc
       
  3265     *** Failers
       
  3266 No match
       
  3267     Abc
       
  3268 No match
       
  3269     abAb
       
  3270 No match
       
  3271     abbC
       
  3272 No match
       
  3273 
       
  3274 /(?<=a(?i)b)(\w\w)c/
       
  3275     abxxc
       
  3276  0: xxc
       
  3277  1: xx
       
  3278     aBxxc
       
  3279  0: xxc
       
  3280  1: xx
       
  3281     *** Failers
       
  3282 No match
       
  3283     Abxxc
       
  3284 No match
       
  3285     ABxxc
       
  3286 No match
       
  3287     abxxC
       
  3288 No match
       
  3289 
       
  3290 /(?>a*)*/
       
  3291     a
       
  3292  0: a
       
  3293     aa
       
  3294  0: aa
       
  3295     aaaa
       
  3296  0: aaaa
       
  3297 
       
  3298 /(?<=(?<!foo)bar)baz/
       
  3299     barbaz
       
  3300  0: baz
       
  3301     barbarbaz
       
  3302  0: baz
       
  3303     koobarbaz
       
  3304  0: baz
       
  3305     *** Failers
       
  3306 No match
       
  3307     baz
       
  3308 No match
       
  3309     foobarbaz
       
  3310 No match
       
  3311 
       
  3312 /(?<=a)b/
       
  3313     ab
       
  3314  0: b
       
  3315     *** Failers
       
  3316 No match
       
  3317     cb
       
  3318 No match
       
  3319     b
       
  3320 No match
       
  3321 
       
  3322 /(?<!c)b/
       
  3323     ab
       
  3324  0: b
       
  3325     b
       
  3326  0: b
       
  3327     b
       
  3328  0: b
       
  3329 
       
  3330 /(?<![cd])b/
       
  3331     *** Failers
       
  3332 No match
       
  3333     B\nB
       
  3334 No match
       
  3335     dbcb
       
  3336 No match
       
  3337 
       
  3338 /(?<![cd])[ab]/
       
  3339     dbaacb
       
  3340  0: a
       
  3341 
       
  3342 /(?<!(c|d))b/
       
  3343 
       
  3344 /(?<!cd)[ab]/
       
  3345     cdaccb
       
  3346  0: b
       
  3347 
       
  3348 /(?>a+)b/
       
  3349     aaab
       
  3350  0: aaab
       
  3351 
       
  3352 /((?>a+)b)/
       
  3353     aaab
       
  3354  0: aaab
       
  3355  1: aaab
       
  3356 
       
  3357 /(?>(a+))b/
       
  3358     aaab
       
  3359  0: aaab
       
  3360  1: aaa
       
  3361 
       
  3362 /((?>[^()]+)|\([^()]*\))+/
       
  3363     ((abc(ade)ufh()()x
       
  3364  0: abc(ade)ufh()()x
       
  3365  1: x
       
  3366 
       
  3367 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
       
  3368     word cat dog elephant mussel cow horse canary baboon snake shark otherword
       
  3369  0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
       
  3370     word cat dog elephant mussel cow horse canary baboon snake shark
       
  3371 No match
       
  3372 
       
  3373 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
       
  3374     word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
       
  3375 No match
       
  3376 
       
  3377 /(?<=\d{3}(?!999))foo/
       
  3378     999foo
       
  3379  0: foo
       
  3380     123999foo
       
  3381  0: foo
       
  3382     *** Failers
       
  3383 No match
       
  3384     123abcfoo
       
  3385 No match
       
  3386 
       
  3387 /(?<=(?!...999)\d{3})foo/
       
  3388     999foo
       
  3389  0: foo
       
  3390     123999foo
       
  3391  0: foo
       
  3392     *** Failers
       
  3393 No match
       
  3394     123abcfoo
       
  3395 No match
       
  3396 
       
  3397 /(?<=\d{3}(?!999)...)foo/
       
  3398     123abcfoo
       
  3399  0: foo
       
  3400     123456foo
       
  3401  0: foo
       
  3402     *** Failers
       
  3403 No match
       
  3404     123999foo
       
  3405 No match
       
  3406 
       
  3407 /(?<=\d{3}...)(?<!999)foo/
       
  3408     123abcfoo
       
  3409  0: foo
       
  3410     123456foo
       
  3411  0: foo
       
  3412     *** Failers
       
  3413 No match
       
  3414     123999foo
       
  3415 No match
       
  3416 
       
  3417 /((?>Z)+|A)*/
       
  3418     ZABCDEFG
       
  3419  0: ZA
       
  3420  1: A
       
  3421 
       
  3422 /((?>)+|A)*/
       
  3423     ZABCDEFG
       
  3424  0: 
       
  3425  1: 
       
  3426 
       
  3427 /(?<=Z)X./
       
  3428     \x84XAZXB
       
  3429  0: XB
       
  3430 
       
  3431 /^(b+?|a){1,2}?c/
       
  3432     bac
       
  3433  0: bac
       
  3434  1: a
       
  3435     bbac
       
  3436  0: bbac
       
  3437  1: a
       
  3438     bbbac
       
  3439  0: bbbac
       
  3440  1: a
       
  3441     bbbbac
       
  3442  0: bbbbac
       
  3443  1: a
       
  3444     bbbbbac
       
  3445  0: bbbbbac
       
  3446  1: a
       
  3447 
       
  3448 /(([a-c])b*?\2){3}/
       
  3449     ababbbcbc
       
  3450  0: ababbbcbc
       
  3451  1: cbc
       
  3452  2: c
       
  3453 
       
  3454 /^(b+?|a){1,2}?c/
       
  3455     bc
       
  3456  0: bc
       
  3457  1: b
       
  3458     bbc
       
  3459  0: bbc
       
  3460  1: b
       
  3461     bbbc
       
  3462  0: bbbc
       
  3463  1: bb
       
  3464     bac
       
  3465  0: bac
       
  3466  1: a
       
  3467     bbac
       
  3468  0: bbac
       
  3469  1: a
       
  3470     aac
       
  3471  0: aac
       
  3472  1: a
       
  3473     abbbbbbbbbbbc
       
  3474  0: abbbbbbbbbbbc
       
  3475  1: bbbbbbbbbbb
       
  3476     bbbbbbbbbbbac
       
  3477  0: bbbbbbbbbbbac
       
  3478  1: a
       
  3479     *** Failers
       
  3480 No match
       
  3481     aaac
       
  3482 No match
       
  3483     abbbbbbbbbbbac
       
  3484 No match
       
  3485 
       
  3486 /^(?=ab(de))(abd)(e)/
       
  3487     abde
       
  3488  0: abde
       
  3489  1: de
       
  3490  2: abd
       
  3491  3: e
       
  3492 
       
  3493 /^(?=(ab(cd)))(ab)/
       
  3494     abcd
       
  3495  0: ab
       
  3496  1: abcd
       
  3497  2: cd
       
  3498  3: ab
       
  3499 
       
  3500 /(?=(a+?))(\1ab)/
       
  3501     aaab
       
  3502  0: aab
       
  3503  1: a
       
  3504  2: aab
       
  3505 
       
  3506 /(?=(a+?))(\1ab)/
       
  3507     aaab
       
  3508  0: aab
       
  3509  1: a
       
  3510  2: aab
       
  3511 
       
  3512 /^(?:b|a(?=(.)))*\1/
       
  3513     abc
       
  3514  0: ab
       
  3515  1: b
       
  3516 
       
  3517 /(?<=(foo)a)bar/
       
  3518     fooabar
       
  3519  0: bar
       
  3520  1: foo
       
  3521     *** Failers
       
  3522 No match
       
  3523     bar
       
  3524 No match
       
  3525     foobbar
       
  3526 No match
       
  3527 
       
  3528 /(?<=(foo))bar\1/
       
  3529     foobarfoo
       
  3530  0: barfoo
       
  3531  1: foo
       
  3532     foobarfootling
       
  3533  0: barfoo
       
  3534  1: foo
       
  3535     *** Failers
       
  3536 No match
       
  3537     foobar
       
  3538 No match
       
  3539     barfoo
       
  3540 No match
       
  3541 
       
  3542 /(?>.*)(?<=(abcd|wxyz))/
       
  3543     alphabetabcd
       
  3544  0: alphabetabcd
       
  3545  1: abcd
       
  3546     endingwxyz
       
  3547  0: endingwxyz
       
  3548  1: wxyz
       
  3549     *** Failers
       
  3550 No match
       
  3551     a rather long string that doesn't end with one of them
       
  3552 No match
       
  3553 
       
  3554 /(a (?x)b c)d e/
       
  3555     a bcd e
       
  3556  0: a bcd e
       
  3557  1: a bc
       
  3558     *** Failers
       
  3559 No match
       
  3560     a b cd e
       
  3561 No match
       
  3562     abcd e
       
  3563 No match
       
  3564     a bcde
       
  3565 No match
       
  3566 
       
  3567 /(a b(?x)c d (?-x)e f)/
       
  3568     a bcde f
       
  3569  0: a bcde f
       
  3570  1: a bcde f
       
  3571     *** Failers
       
  3572 No match
       
  3573     abcdef
       
  3574 No match
       
  3575 
       
  3576 /a(?x: b c )d/
       
  3577     XabcdY
       
  3578  0: abcd
       
  3579     *** Failers
       
  3580 No match
       
  3581     Xa b c d Y
       
  3582 No match
       
  3583 
       
  3584 /((?x)x y z | a b c)/
       
  3585     XabcY
       
  3586  0: abc
       
  3587  1: abc
       
  3588     AxyzB
       
  3589  0: xyz
       
  3590  1: xyz
       
  3591 
       
  3592 /\Aabc\z/m
       
  3593     abc
       
  3594  0: abc
       
  3595     *** Failers
       
  3596 No match
       
  3597     abc\n
       
  3598 No match
       
  3599     qqq\nabc
       
  3600 No match
       
  3601     abc\nzzz
       
  3602 No match
       
  3603     qqq\nabc\nzzz
       
  3604 No match
       
  3605 
       
  3606 /b\z/
       
  3607     a\nb
       
  3608  0: b
       
  3609     *** Failers
       
  3610 No match
       
  3611 
       
  3612 /$(?<=^(a))/
       
  3613     a
       
  3614  0: 
       
  3615  1: a
       
  3616 
       
  3617 /\Gabc/
       
  3618     abc
       
  3619  0: abc
       
  3620     *** Failers
       
  3621 No match
       
  3622     xyzabc
       
  3623 No match
       
  3624 
       
  3625 /^(a\1?){4}$/
       
  3626     a
       
  3627 No match
       
  3628     aa
       
  3629 No match
       
  3630     aaa
       
  3631 No match
       
  3632     aaaa
       
  3633  0: aaaa
       
  3634  1: a
       
  3635     aaaaa
       
  3636  0: aaaaa
       
  3637  1: a
       
  3638     aaaaaaa
       
  3639  0: aaaaaaa
       
  3640  1: a
       
  3641     aaaaaaaa
       
  3642 No match
       
  3643     aaaaaaaaa
       
  3644 No match
       
  3645     aaaaaaaaaa
       
  3646  0: aaaaaaaaaa
       
  3647  1: aaaa
       
  3648     aaaaaaaaaaa
       
  3649 No match
       
  3650     aaaaaaaaaaaa
       
  3651 No match
       
  3652     aaaaaaaaaaaaa
       
  3653 No match
       
  3654     aaaaaaaaaaaaaa
       
  3655 No match
       
  3656     aaaaaaaaaaaaaaa
       
  3657 No match
       
  3658     aaaaaaaaaaaaaaaa
       
  3659 No match
       
  3660 
       
  3661 /^(a\1?){4}$/
       
  3662     aaaaaaaaaa
       
  3663  0: aaaaaaaaaa
       
  3664  1: aaaa
       
  3665     *** Failers
       
  3666 No match
       
  3667     AB
       
  3668 No match
       
  3669     aaaaaaaaa
       
  3670 No match
       
  3671     aaaaaaaaaaa
       
  3672 No match
       
  3673