libraries/spcre/libpcre/pcre/testdata/testoutput7
changeset 0 7f656887cf89
equal deleted inserted replaced
-1:000000000000 0:7f656887cf89
       
     1 /abc/
       
     2     abc
       
     3  0: abc
       
     4     
       
     5 /ab*c/
       
     6     abc
       
     7  0: abc
       
     8     abbbbc
       
     9  0: abbbbc
       
    10     ac
       
    11  0: ac
       
    12     
       
    13 /ab+c/
       
    14     abc
       
    15  0: abc
       
    16     abbbbbbc
       
    17  0: abbbbbbc
       
    18     *** Failers 
       
    19 No match
       
    20     ac
       
    21 No match
       
    22     ab
       
    23 No match
       
    24     
       
    25 /a*/
       
    26     a
       
    27  0: a
       
    28  1: 
       
    29     aaaaaaaaaaaaaaaaa
       
    30  0: aaaaaaaaaaaaaaaaa
       
    31  1: aaaaaaaaaaaaaaaa
       
    32  2: aaaaaaaaaaaaaaa
       
    33  3: aaaaaaaaaaaaaa
       
    34  4: aaaaaaaaaaaaa
       
    35  5: aaaaaaaaaaaa
       
    36  6: aaaaaaaaaaa
       
    37  7: aaaaaaaaaa
       
    38  8: aaaaaaaaa
       
    39  9: aaaaaaaa
       
    40 10: aaaaaaa
       
    41 11: aaaaaa
       
    42 12: aaaaa
       
    43 13: aaaa
       
    44 14: aaa
       
    45 15: aa
       
    46 16: a
       
    47 17: 
       
    48     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
       
    49 Matched, but too many subsidiary matches
       
    50  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
    51  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
    52  2: aaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
    53  3: aaaaaaaaaaaaaaaaaaaaaaaaaaa
       
    54  4: aaaaaaaaaaaaaaaaaaaaaaaaaa
       
    55  5: aaaaaaaaaaaaaaaaaaaaaaaaa
       
    56  6: aaaaaaaaaaaaaaaaaaaaaaaa
       
    57  7: aaaaaaaaaaaaaaaaaaaaaaa
       
    58  8: aaaaaaaaaaaaaaaaaaaaaa
       
    59  9: aaaaaaaaaaaaaaaaaaaaa
       
    60 10: aaaaaaaaaaaaaaaaaaaa
       
    61 11: aaaaaaaaaaaaaaaaaaa
       
    62 12: aaaaaaaaaaaaaaaaaa
       
    63 13: aaaaaaaaaaaaaaaaa
       
    64 14: aaaaaaaaaaaaaaaa
       
    65 15: aaaaaaaaaaaaaaa
       
    66 16: aaaaaaaaaaaaaa
       
    67 17: aaaaaaaaaaaaa
       
    68 18: aaaaaaaaaaaa
       
    69 19: aaaaaaaaaaa
       
    70 20: aaaaaaaaaa
       
    71 21: aaaaaaaaa
       
    72     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\F 
       
    73  0: 
       
    74     
       
    75 /(a|abcd|african)/
       
    76     a
       
    77  0: a
       
    78     abcd
       
    79  0: abcd
       
    80  1: a
       
    81     african
       
    82  0: african
       
    83  1: a
       
    84     
       
    85 /^abc/
       
    86     abcdef
       
    87  0: abc
       
    88     *** Failers
       
    89 No match
       
    90     xyzabc
       
    91 No match
       
    92     xyz\nabc    
       
    93 No match
       
    94     
       
    95 /^abc/m
       
    96     abcdef
       
    97  0: abc
       
    98     xyz\nabc    
       
    99  0: abc
       
   100     *** Failers
       
   101 No match
       
   102     xyzabc
       
   103 No match
       
   104     
       
   105 /\Aabc/
       
   106     abcdef
       
   107  0: abc
       
   108     *** Failers
       
   109 No match
       
   110     xyzabc
       
   111 No match
       
   112     xyz\nabc    
       
   113 No match
       
   114     
       
   115 /\Aabc/m
       
   116     abcdef
       
   117  0: abc
       
   118     *** Failers
       
   119 No match
       
   120     xyzabc
       
   121 No match
       
   122     xyz\nabc    
       
   123 No match
       
   124     
       
   125 /\Gabc/
       
   126     abcdef
       
   127  0: abc
       
   128     xyzabc\>3
       
   129  0: abc
       
   130     *** Failers
       
   131 No match
       
   132     xyzabc    
       
   133 No match
       
   134     xyzabc\>2 
       
   135 No match
       
   136     
       
   137 /x\dy\Dz/
       
   138     x9yzz
       
   139  0: x9yzz
       
   140     x0y+z
       
   141  0: x0y+z
       
   142     *** Failers
       
   143 No match
       
   144     xyz
       
   145 No match
       
   146     xxy0z     
       
   147 No match
       
   148     
       
   149 /x\sy\Sz/
       
   150     x yzz
       
   151  0: x yzz
       
   152     x y+z
       
   153  0: x y+z
       
   154     *** Failers
       
   155 No match
       
   156     xyz
       
   157 No match
       
   158     xxyyz
       
   159 No match
       
   160     
       
   161 /x\wy\Wz/
       
   162     xxy+z
       
   163  0: xxy+z
       
   164     *** Failers
       
   165 No match
       
   166     xxy0z
       
   167 No match
       
   168     x+y+z         
       
   169 No match
       
   170     
       
   171 /x.y/
       
   172     x+y
       
   173  0: x+y
       
   174     x-y
       
   175  0: x-y
       
   176     *** Failers
       
   177 No match
       
   178     x\ny
       
   179 No match
       
   180     
       
   181 /x.y/s
       
   182     x+y
       
   183  0: x+y
       
   184     x-y
       
   185  0: x-y
       
   186     x\ny
       
   187  0: x\x0ay
       
   188 
       
   189 /(a.b(?s)c.d|x.y)p.q/
       
   190     a+bc+dp+q
       
   191  0: a+bc+dp+q
       
   192     a+bc\ndp+q
       
   193  0: a+bc\x0adp+q
       
   194     x\nyp+q 
       
   195  0: x\x0ayp+q
       
   196     *** Failers 
       
   197 No match
       
   198     a\nbc\ndp+q
       
   199 No match
       
   200     a+bc\ndp\nq
       
   201 No match
       
   202     x\nyp\nq 
       
   203 No match
       
   204 
       
   205 /a\d\z/
       
   206     ba0
       
   207  0: a0
       
   208     *** Failers
       
   209 No match
       
   210     ba0\n
       
   211 No match
       
   212     ba0\ncd   
       
   213 No match
       
   214 
       
   215 /a\d\z/m
       
   216     ba0
       
   217  0: a0
       
   218     *** Failers
       
   219 No match
       
   220     ba0\n
       
   221 No match
       
   222     ba0\ncd   
       
   223 No match
       
   224 
       
   225 /a\d\Z/
       
   226     ba0
       
   227  0: a0
       
   228     ba0\n
       
   229  0: a0
       
   230     *** Failers
       
   231 No match
       
   232     ba0\ncd   
       
   233 No match
       
   234 
       
   235 /a\d\Z/m
       
   236     ba0
       
   237  0: a0
       
   238     ba0\n
       
   239  0: a0
       
   240     *** Failers
       
   241 No match
       
   242     ba0\ncd   
       
   243 No match
       
   244 
       
   245 /a\d$/
       
   246     ba0
       
   247  0: a0
       
   248     ba0\n
       
   249  0: a0
       
   250     *** Failers
       
   251 No match
       
   252     ba0\ncd   
       
   253 No match
       
   254 
       
   255 /a\d$/m
       
   256     ba0
       
   257  0: a0
       
   258     ba0\n
       
   259  0: a0
       
   260     ba0\ncd   
       
   261  0: a0
       
   262     *** Failers
       
   263 No match
       
   264 
       
   265 /abc/i
       
   266     abc
       
   267  0: abc
       
   268     aBc
       
   269  0: aBc
       
   270     ABC
       
   271  0: ABC
       
   272     
       
   273 /[^a]/
       
   274     abcd
       
   275  0: b
       
   276     
       
   277 /ab?\w/
       
   278     abz
       
   279  0: abz
       
   280  1: ab
       
   281     abbz
       
   282  0: abb
       
   283  1: ab
       
   284     azz  
       
   285  0: az
       
   286 
       
   287 /x{0,3}yz/
       
   288     ayzq
       
   289  0: yz
       
   290     axyzq
       
   291  0: xyz
       
   292     axxyz
       
   293  0: xxyz
       
   294     axxxyzq
       
   295  0: xxxyz
       
   296     axxxxyzq
       
   297  0: xxxyz
       
   298     *** Failers
       
   299 No match
       
   300     ax
       
   301 No match
       
   302     axx     
       
   303 No match
       
   304       
       
   305 /x{3}yz/
       
   306     axxxyzq
       
   307  0: xxxyz
       
   308     axxxxyzq
       
   309  0: xxxyz
       
   310     *** Failers
       
   311 No match
       
   312     ax
       
   313 No match
       
   314     axx     
       
   315 No match
       
   316     ayzq
       
   317 No match
       
   318     axyzq
       
   319 No match
       
   320     axxyz
       
   321 No match
       
   322       
       
   323 /x{2,3}yz/
       
   324     axxyz
       
   325  0: xxyz
       
   326     axxxyzq
       
   327  0: xxxyz
       
   328     axxxxyzq
       
   329  0: xxxyz
       
   330     *** Failers
       
   331 No match
       
   332     ax
       
   333 No match
       
   334     axx     
       
   335 No match
       
   336     ayzq
       
   337 No match
       
   338     axyzq
       
   339 No match
       
   340       
       
   341 /[^a]+/
       
   342     bac
       
   343  0: b
       
   344     bcdefax
       
   345  0: bcdef
       
   346  1: bcde
       
   347  2: bcd
       
   348  3: bc
       
   349  4: b
       
   350     *** Failers
       
   351  0: *** F
       
   352  1: *** 
       
   353  2: ***
       
   354  3: **
       
   355  4: *
       
   356     aaaaa   
       
   357 No match
       
   358 
       
   359 /[^a]*/
       
   360     bac
       
   361  0: b
       
   362  1: 
       
   363     bcdefax
       
   364  0: bcdef
       
   365  1: bcde
       
   366  2: bcd
       
   367  3: bc
       
   368  4: b
       
   369  5: 
       
   370     *** Failers
       
   371  0: *** F
       
   372  1: *** 
       
   373  2: ***
       
   374  3: **
       
   375  4: *
       
   376  5: 
       
   377     aaaaa   
       
   378  0: 
       
   379     
       
   380 /[^a]{3,5}/
       
   381     xyz
       
   382  0: xyz
       
   383     awxyza
       
   384  0: wxyz
       
   385  1: wxy
       
   386     abcdefa
       
   387  0: bcdef
       
   388  1: bcde
       
   389  2: bcd
       
   390     abcdefghijk
       
   391  0: bcdef
       
   392  1: bcde
       
   393  2: bcd
       
   394     *** Failers
       
   395  0: *** F
       
   396  1: *** 
       
   397  2: ***
       
   398     axya
       
   399 No match
       
   400     axa
       
   401 No match
       
   402     aaaaa         
       
   403 No match
       
   404 
       
   405 /\d*/
       
   406     1234b567
       
   407  0: 1234
       
   408  1: 123
       
   409  2: 12
       
   410  3: 1
       
   411  4: 
       
   412     xyz
       
   413  0: 
       
   414     
       
   415 /\D*/
       
   416     a1234b567
       
   417  0: a
       
   418  1: 
       
   419     xyz
       
   420  0: xyz
       
   421  1: xy
       
   422  2: x
       
   423  3: 
       
   424      
       
   425 /\d+/
       
   426     ab1234c56
       
   427  0: 1234
       
   428  1: 123
       
   429  2: 12
       
   430  3: 1
       
   431     *** Failers
       
   432 No match
       
   433     xyz
       
   434 No match
       
   435     
       
   436 /\D+/
       
   437     ab123c56
       
   438  0: ab
       
   439  1: a
       
   440     *** Failers
       
   441  0: *** Failers
       
   442  1: *** Failer
       
   443  2: *** Faile
       
   444  3: *** Fail
       
   445  4: *** Fai
       
   446  5: *** Fa
       
   447  6: *** F
       
   448  7: *** 
       
   449  8: ***
       
   450  9: **
       
   451 10: *
       
   452     789
       
   453 No match
       
   454     
       
   455 /\d?A/
       
   456     045ABC
       
   457  0: 5A
       
   458     ABC
       
   459  0: A
       
   460     *** Failers
       
   461 No match
       
   462     XYZ
       
   463 No match
       
   464     
       
   465 /\D?A/
       
   466     ABC
       
   467  0: A
       
   468     BAC
       
   469  0: BA
       
   470     9ABC             
       
   471  0: A
       
   472     *** Failers
       
   473 No match
       
   474 
       
   475 /a+/
       
   476     aaaa
       
   477  0: aaaa
       
   478  1: aaa
       
   479  2: aa
       
   480  3: a
       
   481 
       
   482 /^.*xyz/
       
   483     xyz
       
   484  0: xyz
       
   485     ggggggggxyz
       
   486  0: ggggggggxyz
       
   487     
       
   488 /^.+xyz/
       
   489     abcdxyz
       
   490  0: abcdxyz
       
   491     axyz
       
   492  0: axyz
       
   493     *** Failers
       
   494 No match
       
   495     xyz
       
   496 No match
       
   497     
       
   498 /^.?xyz/
       
   499     xyz
       
   500  0: xyz
       
   501     cxyz       
       
   502  0: cxyz
       
   503 
       
   504 /^\d{2,3}X/
       
   505     12X
       
   506  0: 12X
       
   507     123X
       
   508  0: 123X
       
   509     *** Failers
       
   510 No match
       
   511     X
       
   512 No match
       
   513     1X
       
   514 No match
       
   515     1234X     
       
   516 No match
       
   517 
       
   518 /^[abcd]\d/
       
   519     a45
       
   520  0: a4
       
   521     b93
       
   522  0: b9
       
   523     c99z
       
   524  0: c9
       
   525     d04
       
   526  0: d0
       
   527     *** Failers
       
   528 No match
       
   529     e45
       
   530 No match
       
   531     abcd      
       
   532 No match
       
   533     abcd1234
       
   534 No match
       
   535     1234  
       
   536 No match
       
   537 
       
   538 /^[abcd]*\d/
       
   539     a45
       
   540  0: a4
       
   541     b93
       
   542  0: b9
       
   543     c99z
       
   544  0: c9
       
   545     d04
       
   546  0: d0
       
   547     abcd1234
       
   548  0: abcd1
       
   549     1234  
       
   550  0: 1
       
   551     *** Failers
       
   552 No match
       
   553     e45
       
   554 No match
       
   555     abcd      
       
   556 No match
       
   557 
       
   558 /^[abcd]+\d/
       
   559     a45
       
   560  0: a4
       
   561     b93
       
   562  0: b9
       
   563     c99z
       
   564  0: c9
       
   565     d04
       
   566  0: d0
       
   567     abcd1234
       
   568  0: abcd1
       
   569     *** Failers
       
   570 No match
       
   571     1234  
       
   572 No match
       
   573     e45
       
   574 No match
       
   575     abcd      
       
   576 No match
       
   577 
       
   578 /^a+X/
       
   579     aX
       
   580  0: aX
       
   581     aaX 
       
   582  0: aaX
       
   583 
       
   584 /^[abcd]?\d/
       
   585     a45
       
   586  0: a4
       
   587     b93
       
   588  0: b9
       
   589     c99z
       
   590  0: c9
       
   591     d04
       
   592  0: d0
       
   593     1234  
       
   594  0: 1
       
   595     *** Failers
       
   596 No match
       
   597     abcd1234
       
   598 No match
       
   599     e45
       
   600 No match
       
   601 
       
   602 /^[abcd]{2,3}\d/
       
   603     ab45
       
   604  0: ab4
       
   605     bcd93
       
   606  0: bcd9
       
   607     *** Failers
       
   608 No match
       
   609     1234 
       
   610 No match
       
   611     a36 
       
   612 No match
       
   613     abcd1234
       
   614 No match
       
   615     ee45
       
   616 No match
       
   617 
       
   618 /^(abc)*\d/
       
   619     abc45
       
   620  0: abc4
       
   621     abcabcabc45
       
   622  0: abcabcabc4
       
   623     42xyz 
       
   624  0: 4
       
   625     *** Failers
       
   626 No match
       
   627 
       
   628 /^(abc)+\d/
       
   629     abc45
       
   630  0: abc4
       
   631     abcabcabc45
       
   632  0: abcabcabc4
       
   633     *** Failers
       
   634 No match
       
   635     42xyz 
       
   636 No match
       
   637 
       
   638 /^(abc)?\d/
       
   639     abc45
       
   640  0: abc4
       
   641     42xyz 
       
   642  0: 4
       
   643     *** Failers
       
   644 No match
       
   645     abcabcabc45
       
   646 No match
       
   647 
       
   648 /^(abc){2,3}\d/
       
   649     abcabc45
       
   650  0: abcabc4
       
   651     abcabcabc45
       
   652  0: abcabcabc4
       
   653     *** Failers
       
   654 No match
       
   655     abcabcabcabc45
       
   656 No match
       
   657     abc45
       
   658 No match
       
   659     42xyz 
       
   660 No match
       
   661 
       
   662 /1(abc|xyz)2(?1)3/
       
   663     1abc2abc3456
       
   664  0: 1abc2abc3
       
   665     1abc2xyz3456 
       
   666  0: 1abc2xyz3
       
   667 
       
   668 /^(a*\w|ab)=(a*\w|ab)/
       
   669     ab=ab
       
   670  0: ab=ab
       
   671  1: ab=a
       
   672 
       
   673 /^(a*\w|ab)=(?1)/
       
   674     ab=ab
       
   675  0: ab=ab
       
   676 
       
   677 /^([^()]|\((?1)*\))*$/
       
   678     abc
       
   679  0: abc
       
   680     a(b)c
       
   681  0: a(b)c
       
   682     a(b(c))d  
       
   683  0: a(b(c))d
       
   684     *** Failers)
       
   685 No match
       
   686     a(b(c)d  
       
   687 No match
       
   688 
       
   689 /^>abc>([^()]|\((?1)*\))*<xyz<$/
       
   690     >abc>123<xyz<
       
   691  0: >abc>123<xyz<
       
   692     >abc>1(2)3<xyz<
       
   693  0: >abc>1(2)3<xyz<
       
   694     >abc>(1(2)3)<xyz<
       
   695  0: >abc>(1(2)3)<xyz<
       
   696 
       
   697 /^(?>a*)\d/
       
   698     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9876
       
   699  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9
       
   700     *** Failers 
       
   701 No match
       
   702     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
   703 No match
       
   704 
       
   705 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
       
   706     <>
       
   707  0: <>
       
   708     <abcd>
       
   709  0: <abcd>
       
   710     <abc <123> hij>
       
   711  0: <abc <123> hij>
       
   712     <abc <def> hij>
       
   713  0: <def>
       
   714     <abc<>def> 
       
   715  0: <abc<>def>
       
   716     <abc<>      
       
   717  0: <>
       
   718     *** Failers
       
   719 No match
       
   720     <abc
       
   721 No match
       
   722 
       
   723 /^(?(?=abc)\w{3}:|\d\d)$/        
       
   724     abc:                          
       
   725  0: abc:
       
   726     12                             
       
   727  0: 12
       
   728     *** Failers                     
       
   729 No match
       
   730     123                       
       
   731 No match
       
   732     xyz                        
       
   733 No match
       
   734                                 
       
   735 /^(?(?!abc)\d\d|\w{3}:)$/      
       
   736     abc:                        
       
   737  0: abc:
       
   738     12         
       
   739  0: 12
       
   740     *** Failers
       
   741 No match
       
   742     123
       
   743 No match
       
   744     xyz    
       
   745 No match
       
   746 
       
   747 /^(?=abc)\w{5}:$/        
       
   748     abcde:                          
       
   749  0: abcde:
       
   750     *** Failers                     
       
   751 No match
       
   752     abc.. 
       
   753 No match
       
   754     123                       
       
   755 No match
       
   756     vwxyz                        
       
   757 No match
       
   758                                 
       
   759 /^(?!abc)\d\d$/      
       
   760     12         
       
   761  0: 12
       
   762     *** Failers
       
   763 No match
       
   764     abcde:
       
   765 No match
       
   766     abc..  
       
   767 No match
       
   768     123
       
   769 No match
       
   770     vwxyz    
       
   771 No match
       
   772 
       
   773 /(?<=abc|xy)123/
       
   774     abc12345
       
   775  0: 123
       
   776     wxy123z
       
   777  0: 123
       
   778     *** Failers
       
   779 No match
       
   780     123abc
       
   781 No match
       
   782 
       
   783 /(?<!abc|xy)123/
       
   784     123abc
       
   785  0: 123
       
   786     mno123456 
       
   787  0: 123
       
   788     *** Failers
       
   789 No match
       
   790     abc12345
       
   791 No match
       
   792     wxy123z
       
   793 No match
       
   794 
       
   795 /abc(?C1)xyz/
       
   796     abcxyz
       
   797 --->abcxyz
       
   798   1 ^  ^       x
       
   799  0: abcxyz
       
   800     123abcxyz999 
       
   801 --->123abcxyz999
       
   802   1    ^  ^          x
       
   803  0: abcxyz
       
   804 
       
   805 /(ab|cd){3,4}/C
       
   806   ababab
       
   807 --->ababab
       
   808  +0 ^          (ab|cd){3,4}
       
   809  +1 ^          a
       
   810  +4 ^          c
       
   811  +2 ^^         b
       
   812  +3 ^ ^        |
       
   813  +1 ^ ^        a
       
   814  +4 ^ ^        c
       
   815  +2 ^  ^       b
       
   816  +3 ^   ^      |
       
   817  +1 ^   ^      a
       
   818  +4 ^   ^      c
       
   819  +2 ^    ^     b
       
   820  +3 ^     ^    |
       
   821 +12 ^     ^    
       
   822  +1 ^     ^    a
       
   823  +4 ^     ^    c
       
   824  0: ababab
       
   825   abcdabcd
       
   826 --->abcdabcd
       
   827  +0 ^            (ab|cd){3,4}
       
   828  +1 ^            a
       
   829  +4 ^            c
       
   830  +2 ^^           b
       
   831  +3 ^ ^          |
       
   832  +1 ^ ^          a
       
   833  +4 ^ ^          c
       
   834  +5 ^  ^         d
       
   835  +6 ^   ^        )
       
   836  +1 ^   ^        a
       
   837  +4 ^   ^        c
       
   838  +2 ^    ^       b
       
   839  +3 ^     ^      |
       
   840 +12 ^     ^      
       
   841  +1 ^     ^      a
       
   842  +4 ^     ^      c
       
   843  +5 ^      ^     d
       
   844  +6 ^       ^    )
       
   845 +12 ^       ^    
       
   846  0: abcdabcd
       
   847  1: abcdab
       
   848   abcdcdcdcdcd  
       
   849 --->abcdcdcdcdcd
       
   850  +0 ^                (ab|cd){3,4}
       
   851  +1 ^                a
       
   852  +4 ^                c
       
   853  +2 ^^               b
       
   854  +3 ^ ^              |
       
   855  +1 ^ ^              a
       
   856  +4 ^ ^              c
       
   857  +5 ^  ^             d
       
   858  +6 ^   ^            )
       
   859  +1 ^   ^            a
       
   860  +4 ^   ^            c
       
   861  +5 ^    ^           d
       
   862  +6 ^     ^          )
       
   863 +12 ^     ^          
       
   864  +1 ^     ^          a
       
   865  +4 ^     ^          c
       
   866  +5 ^      ^         d
       
   867  +6 ^       ^        )
       
   868 +12 ^       ^        
       
   869  0: abcdcdcd
       
   870  1: abcdcd
       
   871 
       
   872 /^abc/
       
   873     abcdef
       
   874  0: abc
       
   875     *** Failers
       
   876 No match
       
   877     abcdef\B  
       
   878 No match
       
   879 
       
   880 /^(a*|xyz)/
       
   881     bcd
       
   882  0: 
       
   883     aaabcd
       
   884  0: aaa
       
   885  1: aa
       
   886  2: a
       
   887  3: 
       
   888     xyz
       
   889  0: xyz
       
   890  1: 
       
   891     xyz\N  
       
   892  0: xyz
       
   893     *** Failers
       
   894  0: 
       
   895     bcd\N   
       
   896 No match
       
   897     
       
   898 /xyz$/
       
   899     xyz
       
   900  0: xyz
       
   901     xyz\n
       
   902  0: xyz
       
   903     *** Failers
       
   904 No match
       
   905     xyz\Z
       
   906 No match
       
   907     xyz\n\Z    
       
   908 No match
       
   909     
       
   910 /xyz$/m
       
   911     xyz
       
   912  0: xyz
       
   913     xyz\n 
       
   914  0: xyz
       
   915     abcxyz\npqr 
       
   916  0: xyz
       
   917     abcxyz\npqr\Z 
       
   918  0: xyz
       
   919     xyz\n\Z    
       
   920  0: xyz
       
   921     *** Failers
       
   922 No match
       
   923     xyz\Z
       
   924 No match
       
   925 
       
   926 /\Gabc/
       
   927     abcdef
       
   928  0: abc
       
   929     defabcxyz\>3 
       
   930  0: abc
       
   931     *** Failers 
       
   932 No match
       
   933     defabcxyz
       
   934 No match
       
   935 
       
   936 /^abcdef/
       
   937     ab\P
       
   938 Partial match: ab
       
   939     abcde\P
       
   940 Partial match: abcde
       
   941     abcdef\P
       
   942  0: abcdef
       
   943     *** Failers
       
   944 No match
       
   945     abx\P    
       
   946 No match
       
   947 
       
   948 /^a{2,4}\d+z/
       
   949     a\P
       
   950 Partial match: a
       
   951     aa\P
       
   952 Partial match: aa
       
   953     aa2\P 
       
   954 Partial match: aa2
       
   955     aaa\P
       
   956 Partial match: aaa
       
   957     aaa23\P 
       
   958 Partial match: aaa23
       
   959     aaaa12345\P
       
   960 Partial match: aaaa12345
       
   961     aa0z\P
       
   962  0: aa0z
       
   963     aaaa4444444444444z\P 
       
   964  0: aaaa4444444444444z
       
   965     *** Failers
       
   966 No match
       
   967     az\P 
       
   968 No match
       
   969     aaaaa\P 
       
   970 No match
       
   971     a56\P 
       
   972 No match
       
   973 
       
   974 /^abcdef/
       
   975    abc\P
       
   976 Partial match: abc
       
   977    def\R 
       
   978  0: def
       
   979    
       
   980 /(?<=foo)bar/
       
   981    xyzfo\P 
       
   982 No match
       
   983    foob\P\>2 
       
   984 Partial match: b
       
   985    foobar...\R\P\>4 
       
   986  0: ar
       
   987    xyzfo\P
       
   988 No match
       
   989    foobar\>2  
       
   990  0: bar
       
   991    *** Failers
       
   992 No match
       
   993    xyzfo\P
       
   994 No match
       
   995    obar\R   
       
   996 No match
       
   997 
       
   998 /(ab*(cd|ef))+X/
       
   999     adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkj\P\Z
       
  1000 No match
       
  1001     lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefa\P\B\Z
       
  1002 Partial match: abbbbbbcdaefabbbbbbbefa
       
  1003     cdabbbbbbbb\P\R\B\Z
       
  1004 Partial match: cdabbbbbbbb
       
  1005     efabbbbbbbbbbbbbbbb\P\R\B\Z
       
  1006 Partial match: efabbbbbbbbbbbbbbbb
       
  1007     bbbbbbbbbbbbcdXyasdfadf\P\R\B\Z    
       
  1008  0: bbbbbbbbbbbbcdX
       
  1009 
       
  1010 /(a|b)/SF>testsavedregex
       
  1011 Compiled regex written to testsavedregex
       
  1012 Study data written to testsavedregex
       
  1013 <testsavedregex
       
  1014 Compiled regex (byte-inverted) loaded from testsavedregex
       
  1015 Study data loaded from testsavedregex
       
  1016     abc
       
  1017  0: a
       
  1018     ** Failers
       
  1019  0: a
       
  1020     def  
       
  1021 No match
       
  1022     
       
  1023 /the quick brown fox/
       
  1024     the quick brown fox
       
  1025  0: the quick brown fox
       
  1026     The quick brown FOX
       
  1027 No match
       
  1028     What do you know about the quick brown fox?
       
  1029  0: the quick brown fox
       
  1030     What do you know about THE QUICK BROWN FOX?
       
  1031 No match
       
  1032 
       
  1033 /The quick brown fox/i
       
  1034     the quick brown fox
       
  1035  0: the quick brown fox
       
  1036     The quick brown FOX
       
  1037  0: The quick brown FOX
       
  1038     What do you know about the quick brown fox?
       
  1039  0: the quick brown fox
       
  1040     What do you know about THE QUICK BROWN FOX?
       
  1041  0: THE QUICK BROWN FOX
       
  1042 
       
  1043 /abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
       
  1044     abcd\t\n\r\f\a\e9;\$\\?caxyz
       
  1045  0: abcd\x09\x0a\x0d\x0c\x07\x1b9;$\?caxyz
       
  1046 
       
  1047 /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
       
  1048     abxyzpqrrrabbxyyyypqAzz
       
  1049  0: abxyzpqrrrabbxyyyypqAzz
       
  1050     abxyzpqrrrabbxyyyypqAzz
       
  1051  0: abxyzpqrrrabbxyyyypqAzz
       
  1052     aabxyzpqrrrabbxyyyypqAzz
       
  1053  0: aabxyzpqrrrabbxyyyypqAzz
       
  1054     aaabxyzpqrrrabbxyyyypqAzz
       
  1055  0: aaabxyzpqrrrabbxyyyypqAzz
       
  1056     aaaabxyzpqrrrabbxyyyypqAzz
       
  1057  0: aaaabxyzpqrrrabbxyyyypqAzz
       
  1058     abcxyzpqrrrabbxyyyypqAzz
       
  1059  0: abcxyzpqrrrabbxyyyypqAzz
       
  1060     aabcxyzpqrrrabbxyyyypqAzz
       
  1061  0: aabcxyzpqrrrabbxyyyypqAzz
       
  1062     aaabcxyzpqrrrabbxyyyypAzz
       
  1063  0: aaabcxyzpqrrrabbxyyyypAzz
       
  1064     aaabcxyzpqrrrabbxyyyypqAzz
       
  1065  0: aaabcxyzpqrrrabbxyyyypqAzz
       
  1066     aaabcxyzpqrrrabbxyyyypqqAzz
       
  1067  0: aaabcxyzpqrrrabbxyyyypqqAzz
       
  1068     aaabcxyzpqrrrabbxyyyypqqqAzz
       
  1069  0: aaabcxyzpqrrrabbxyyyypqqqAzz
       
  1070     aaabcxyzpqrrrabbxyyyypqqqqAzz
       
  1071  0: aaabcxyzpqrrrabbxyyyypqqqqAzz
       
  1072     aaabcxyzpqrrrabbxyyyypqqqqqAzz
       
  1073  0: aaabcxyzpqrrrabbxyyyypqqqqqAzz
       
  1074     aaabcxyzpqrrrabbxyyyypqqqqqqAzz
       
  1075  0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz
       
  1076     aaaabcxyzpqrrrabbxyyyypqAzz
       
  1077  0: aaaabcxyzpqrrrabbxyyyypqAzz
       
  1078     abxyzzpqrrrabbxyyyypqAzz
       
  1079  0: abxyzzpqrrrabbxyyyypqAzz
       
  1080     aabxyzzzpqrrrabbxyyyypqAzz
       
  1081  0: aabxyzzzpqrrrabbxyyyypqAzz
       
  1082     aaabxyzzzzpqrrrabbxyyyypqAzz
       
  1083  0: aaabxyzzzzpqrrrabbxyyyypqAzz
       
  1084     aaaabxyzzzzpqrrrabbxyyyypqAzz
       
  1085  0: aaaabxyzzzzpqrrrabbxyyyypqAzz
       
  1086     abcxyzzpqrrrabbxyyyypqAzz
       
  1087  0: abcxyzzpqrrrabbxyyyypqAzz
       
  1088     aabcxyzzzpqrrrabbxyyyypqAzz
       
  1089  0: aabcxyzzzpqrrrabbxyyyypqAzz
       
  1090     aaabcxyzzzzpqrrrabbxyyyypqAzz
       
  1091  0: aaabcxyzzzzpqrrrabbxyyyypqAzz
       
  1092     aaaabcxyzzzzpqrrrabbxyyyypqAzz
       
  1093  0: aaaabcxyzzzzpqrrrabbxyyyypqAzz
       
  1094     aaaabcxyzzzzpqrrrabbbxyyyypqAzz
       
  1095  0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz
       
  1096     aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
       
  1097  0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
       
  1098     aaabcxyzpqrrrabbxyyyypABzz
       
  1099  0: aaabcxyzpqrrrabbxyyyypABzz
       
  1100     aaabcxyzpqrrrabbxyyyypABBzz
       
  1101  0: aaabcxyzpqrrrabbxyyyypABBzz
       
  1102     >>>aaabxyzpqrrrabbxyyyypqAzz
       
  1103  0: aaabxyzpqrrrabbxyyyypqAzz
       
  1104     >aaaabxyzpqrrrabbxyyyypqAzz
       
  1105  0: aaaabxyzpqrrrabbxyyyypqAzz
       
  1106     >>>>abcxyzpqrrrabbxyyyypqAzz
       
  1107  0: abcxyzpqrrrabbxyyyypqAzz
       
  1108     *** Failers
       
  1109 No match
       
  1110     abxyzpqrrabbxyyyypqAzz
       
  1111 No match
       
  1112     abxyzpqrrrrabbxyyyypqAzz
       
  1113 No match
       
  1114     abxyzpqrrrabxyyyypqAzz
       
  1115 No match
       
  1116     aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
       
  1117 No match
       
  1118     aaaabcxyzzzzpqrrrabbbxyyypqAzz
       
  1119 No match
       
  1120     aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
       
  1121 No match
       
  1122 
       
  1123 /^(abc){1,2}zz/
       
  1124     abczz
       
  1125  0: abczz
       
  1126     abcabczz
       
  1127  0: abcabczz
       
  1128     *** Failers
       
  1129 No match
       
  1130     zz
       
  1131 No match
       
  1132     abcabcabczz
       
  1133 No match
       
  1134     >>abczz
       
  1135 No match
       
  1136 
       
  1137 /^(b+?|a){1,2}?c/
       
  1138     bc
       
  1139  0: bc
       
  1140     bbc
       
  1141  0: bbc
       
  1142     bbbc
       
  1143  0: bbbc
       
  1144     bac
       
  1145  0: bac
       
  1146     bbac
       
  1147  0: bbac
       
  1148     aac
       
  1149  0: aac
       
  1150     abbbbbbbbbbbc
       
  1151  0: abbbbbbbbbbbc
       
  1152     bbbbbbbbbbbac
       
  1153  0: bbbbbbbbbbbac
       
  1154     *** Failers
       
  1155 No match
       
  1156     aaac
       
  1157 No match
       
  1158     abbbbbbbbbbbac
       
  1159 No match
       
  1160 
       
  1161 /^(b+|a){1,2}c/
       
  1162     bc
       
  1163  0: bc
       
  1164     bbc
       
  1165  0: bbc
       
  1166     bbbc
       
  1167  0: bbbc
       
  1168     bac
       
  1169  0: bac
       
  1170     bbac
       
  1171  0: bbac
       
  1172     aac
       
  1173  0: aac
       
  1174     abbbbbbbbbbbc
       
  1175  0: abbbbbbbbbbbc
       
  1176     bbbbbbbbbbbac
       
  1177  0: bbbbbbbbbbbac
       
  1178     *** Failers
       
  1179 No match
       
  1180     aaac
       
  1181 No match
       
  1182     abbbbbbbbbbbac
       
  1183 No match
       
  1184 
       
  1185 /^(b+|a){1,2}?bc/
       
  1186     bbc
       
  1187  0: bbc
       
  1188 
       
  1189 /^(b*|ba){1,2}?bc/
       
  1190     babc
       
  1191  0: babc
       
  1192     bbabc
       
  1193  0: bbabc
       
  1194     bababc
       
  1195  0: bababc
       
  1196     *** Failers
       
  1197 No match
       
  1198     bababbc
       
  1199 No match
       
  1200     babababc
       
  1201 No match
       
  1202 
       
  1203 /^(ba|b*){1,2}?bc/
       
  1204     babc
       
  1205  0: babc
       
  1206     bbabc
       
  1207  0: bbabc
       
  1208     bababc
       
  1209  0: bababc
       
  1210     *** Failers
       
  1211 No match
       
  1212     bababbc
       
  1213 No match
       
  1214     babababc
       
  1215 No match
       
  1216 
       
  1217 /^\ca\cA\c[\c{\c:/
       
  1218     \x01\x01\e;z
       
  1219  0: \x01\x01\x1b;z
       
  1220 
       
  1221 /^[ab\]cde]/
       
  1222     athing
       
  1223  0: a
       
  1224     bthing
       
  1225  0: b
       
  1226     ]thing
       
  1227  0: ]
       
  1228     cthing
       
  1229  0: c
       
  1230     dthing
       
  1231  0: d
       
  1232     ething
       
  1233  0: e
       
  1234     *** Failers
       
  1235 No match
       
  1236     fthing
       
  1237 No match
       
  1238     [thing
       
  1239 No match
       
  1240     \\thing
       
  1241 No match
       
  1242 
       
  1243 /^[]cde]/
       
  1244     ]thing
       
  1245  0: ]
       
  1246     cthing
       
  1247  0: c
       
  1248     dthing
       
  1249  0: d
       
  1250     ething
       
  1251  0: e
       
  1252     *** Failers
       
  1253 No match
       
  1254     athing
       
  1255 No match
       
  1256     fthing
       
  1257 No match
       
  1258 
       
  1259 /^[^ab\]cde]/
       
  1260     fthing
       
  1261  0: f
       
  1262     [thing
       
  1263  0: [
       
  1264     \\thing
       
  1265  0: \
       
  1266     *** Failers
       
  1267  0: *
       
  1268     athing
       
  1269 No match
       
  1270     bthing
       
  1271 No match
       
  1272     ]thing
       
  1273 No match
       
  1274     cthing
       
  1275 No match
       
  1276     dthing
       
  1277 No match
       
  1278     ething
       
  1279 No match
       
  1280 
       
  1281 /^[^]cde]/
       
  1282     athing
       
  1283  0: a
       
  1284     fthing
       
  1285  0: f
       
  1286     *** Failers
       
  1287  0: *
       
  1288     ]thing
       
  1289 No match
       
  1290     cthing
       
  1291 No match
       
  1292     dthing
       
  1293 No match
       
  1294     ething
       
  1295 No match
       
  1296 
       
  1297 /^\/
       
  1298     
       
  1299  0: \x81
       
  1300 
       
  1301 /^ÿ/
       
  1302     ÿ
       
  1303  0: \xff
       
  1304 
       
  1305 /^[0-9]+$/
       
  1306     0
       
  1307  0: 0
       
  1308     1
       
  1309  0: 1
       
  1310     2
       
  1311  0: 2
       
  1312     3
       
  1313  0: 3
       
  1314     4
       
  1315  0: 4
       
  1316     5
       
  1317  0: 5
       
  1318     6
       
  1319  0: 6
       
  1320     7
       
  1321  0: 7
       
  1322     8
       
  1323  0: 8
       
  1324     9
       
  1325  0: 9
       
  1326     10
       
  1327  0: 10
       
  1328     100
       
  1329  0: 100
       
  1330     *** Failers
       
  1331 No match
       
  1332     abc
       
  1333 No match
       
  1334 
       
  1335 /^.*nter/
       
  1336     enter
       
  1337  0: enter
       
  1338     inter
       
  1339  0: inter
       
  1340     uponter
       
  1341  0: uponter
       
  1342 
       
  1343 /^xxx[0-9]+$/
       
  1344     xxx0
       
  1345  0: xxx0
       
  1346     xxx1234
       
  1347  0: xxx1234
       
  1348     *** Failers
       
  1349 No match
       
  1350     xxx
       
  1351 No match
       
  1352 
       
  1353 /^.+[0-9][0-9][0-9]$/
       
  1354     x123
       
  1355  0: x123
       
  1356     xx123
       
  1357  0: xx123
       
  1358     123456
       
  1359  0: 123456
       
  1360     *** Failers
       
  1361 No match
       
  1362     123
       
  1363 No match
       
  1364     x1234
       
  1365  0: x1234
       
  1366 
       
  1367 /^.+?[0-9][0-9][0-9]$/
       
  1368     x123
       
  1369  0: x123
       
  1370     xx123
       
  1371  0: xx123
       
  1372     123456
       
  1373  0: 123456
       
  1374     *** Failers
       
  1375 No match
       
  1376     123
       
  1377 No match
       
  1378     x1234
       
  1379  0: x1234
       
  1380 
       
  1381 /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
       
  1382     abc!pqr=apquxz.ixr.zzz.ac.uk
       
  1383  0: abc!pqr=apquxz.ixr.zzz.ac.uk
       
  1384     *** Failers
       
  1385 No match
       
  1386     !pqr=apquxz.ixr.zzz.ac.uk
       
  1387 No match
       
  1388     abc!=apquxz.ixr.zzz.ac.uk
       
  1389 No match
       
  1390     abc!pqr=apquxz:ixr.zzz.ac.uk
       
  1391 No match
       
  1392     abc!pqr=apquxz.ixr.zzz.ac.ukk
       
  1393 No match
       
  1394 
       
  1395 /:/
       
  1396     Well, we need a colon: somewhere
       
  1397  0: :
       
  1398     *** Fail if we don't
       
  1399 No match
       
  1400 
       
  1401 /([\da-f:]+)$/i
       
  1402     0abc
       
  1403  0: 0abc
       
  1404     abc
       
  1405  0: abc
       
  1406     fed
       
  1407  0: fed
       
  1408     E
       
  1409  0: E
       
  1410     ::
       
  1411  0: ::
       
  1412     5f03:12C0::932e
       
  1413  0: 5f03:12C0::932e
       
  1414     fed def
       
  1415  0: def
       
  1416     Any old stuff
       
  1417  0: ff
       
  1418     *** Failers
       
  1419 No match
       
  1420     0zzz
       
  1421 No match
       
  1422     gzzz
       
  1423 No match
       
  1424     fed\x20
       
  1425 No match
       
  1426     Any old rubbish
       
  1427 No match
       
  1428 
       
  1429 /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
       
  1430     .1.2.3
       
  1431  0: .1.2.3
       
  1432     A.12.123.0
       
  1433  0: A.12.123.0
       
  1434     *** Failers
       
  1435 No match
       
  1436     .1.2.3333
       
  1437 No match
       
  1438     1.2.3
       
  1439 No match
       
  1440     1234.2.3
       
  1441 No match
       
  1442 
       
  1443 /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
       
  1444     1 IN SOA non-sp1 non-sp2(
       
  1445  0: 1 IN SOA non-sp1 non-sp2(
       
  1446     1    IN    SOA    non-sp1    non-sp2   (
       
  1447  0: 1    IN    SOA    non-sp1    non-sp2   (
       
  1448     *** Failers
       
  1449 No match
       
  1450     1IN SOA non-sp1 non-sp2(
       
  1451 No match
       
  1452 
       
  1453 /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
       
  1454     a.
       
  1455  0: a.
       
  1456     Z.
       
  1457  0: Z.
       
  1458     2.
       
  1459  0: 2.
       
  1460     ab-c.pq-r.
       
  1461  0: ab-c.pq-r.
       
  1462     sxk.zzz.ac.uk.
       
  1463  0: sxk.zzz.ac.uk.
       
  1464     x-.y-.
       
  1465  0: x-.y-.
       
  1466     *** Failers
       
  1467 No match
       
  1468     -abc.peq.
       
  1469 No match
       
  1470 
       
  1471 /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
       
  1472     *.a
       
  1473  0: *.a
       
  1474     *.b0-a
       
  1475  0: *.b0-a
       
  1476     *.c3-b.c
       
  1477  0: *.c3-b.c
       
  1478     *.c-a.b-c
       
  1479  0: *.c-a.b-c
       
  1480     *** Failers
       
  1481 No match
       
  1482     *.0
       
  1483 No match
       
  1484     *.a-
       
  1485 No match
       
  1486     *.a-b.c-
       
  1487 No match
       
  1488     *.c-a.0-c
       
  1489 No match
       
  1490 
       
  1491 /^(?=ab(de))(abd)(e)/
       
  1492     abde
       
  1493  0: abde
       
  1494 
       
  1495 /^(?!(ab)de|x)(abd)(f)/
       
  1496     abdf
       
  1497  0: abdf
       
  1498 
       
  1499 /^(?=(ab(cd)))(ab)/
       
  1500     abcd
       
  1501  0: ab
       
  1502 
       
  1503 /^[\da-f](\.[\da-f])*$/i
       
  1504     a.b.c.d
       
  1505  0: a.b.c.d
       
  1506     A.B.C.D
       
  1507  0: A.B.C.D
       
  1508     a.b.c.1.2.3.C
       
  1509  0: a.b.c.1.2.3.C
       
  1510 
       
  1511 /^\".*\"\s*(;.*)?$/
       
  1512     \"1234\"
       
  1513  0: "1234"
       
  1514     \"abcd\" ;
       
  1515  0: "abcd" ;
       
  1516     \"\" ; rhubarb
       
  1517  0: "" ; rhubarb
       
  1518     *** Failers
       
  1519 No match
       
  1520     \"1234\" : things
       
  1521 No match
       
  1522 
       
  1523 /^$/
       
  1524     \
       
  1525  0: 
       
  1526     *** Failers
       
  1527 No match
       
  1528 
       
  1529 /   ^    a   (?# begins with a)  b\sc (?# then b c) $ (?# then end)/x
       
  1530     ab c
       
  1531  0: ab c
       
  1532     *** Failers
       
  1533 No match
       
  1534     abc
       
  1535 No match
       
  1536     ab cde
       
  1537 No match
       
  1538 
       
  1539 /(?x)   ^    a   (?# begins with a)  b\sc (?# then b c) $ (?# then end)/
       
  1540     ab c
       
  1541  0: ab c
       
  1542     *** Failers
       
  1543 No match
       
  1544     abc
       
  1545 No match
       
  1546     ab cde
       
  1547 No match
       
  1548 
       
  1549 /^   a\ b[c ]d       $/x
       
  1550     a bcd
       
  1551  0: a bcd
       
  1552     a b d
       
  1553  0: a b d
       
  1554     *** Failers
       
  1555 No match
       
  1556     abcd
       
  1557 No match
       
  1558     ab d
       
  1559 No match
       
  1560 
       
  1561 /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
       
  1562     abcdefhijklm
       
  1563  0: abcdefhijklm
       
  1564 
       
  1565 /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
       
  1566     abcdefhijklm
       
  1567  0: abcdefhijklm
       
  1568 
       
  1569 /^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
       
  1570     a+ Z0+\x08\n\x1d\x12
       
  1571  0: a+ Z0+\x08\x0a\x1d\x12
       
  1572 
       
  1573 /^[.^$|()*+?{,}]+/
       
  1574     .^\$(*+)|{?,?}
       
  1575  0: .^$(*+)|{?,?}
       
  1576  1: .^$(*+)|{?,?
       
  1577  2: .^$(*+)|{?,
       
  1578  3: .^$(*+)|{?
       
  1579  4: .^$(*+)|{
       
  1580  5: .^$(*+)|
       
  1581  6: .^$(*+)
       
  1582  7: .^$(*+
       
  1583  8: .^$(*
       
  1584  9: .^$(
       
  1585 10: .^$
       
  1586 11: .^
       
  1587 12: .
       
  1588 
       
  1589 /^a*\w/
       
  1590     z
       
  1591  0: z
       
  1592     az
       
  1593  0: az
       
  1594  1: a
       
  1595     aaaz
       
  1596  0: aaaz
       
  1597  1: aaa
       
  1598  2: aa
       
  1599  3: a
       
  1600     a
       
  1601  0: a
       
  1602     aa
       
  1603  0: aa
       
  1604  1: a
       
  1605     aaaa
       
  1606  0: aaaa
       
  1607  1: aaa
       
  1608  2: aa
       
  1609  3: a
       
  1610     a+
       
  1611  0: a
       
  1612     aa+
       
  1613  0: aa
       
  1614  1: a
       
  1615 
       
  1616 /^a*?\w/
       
  1617     z
       
  1618  0: z
       
  1619     az
       
  1620  0: az
       
  1621  1: a
       
  1622     aaaz
       
  1623  0: aaaz
       
  1624  1: aaa
       
  1625  2: aa
       
  1626  3: a
       
  1627     a
       
  1628  0: a
       
  1629     aa
       
  1630  0: aa
       
  1631  1: a
       
  1632     aaaa
       
  1633  0: aaaa
       
  1634  1: aaa
       
  1635  2: aa
       
  1636  3: a
       
  1637     a+
       
  1638  0: a
       
  1639     aa+
       
  1640  0: aa
       
  1641  1: a
       
  1642 
       
  1643 /^a+\w/
       
  1644     az
       
  1645  0: az
       
  1646     aaaz
       
  1647  0: aaaz
       
  1648  1: aaa
       
  1649  2: aa
       
  1650     aa
       
  1651  0: aa
       
  1652     aaaa
       
  1653  0: aaaa
       
  1654  1: aaa
       
  1655  2: aa
       
  1656     aa+
       
  1657  0: aa
       
  1658 
       
  1659 /^a+?\w/
       
  1660     az
       
  1661  0: az
       
  1662     aaaz
       
  1663  0: aaaz
       
  1664  1: aaa
       
  1665  2: aa
       
  1666     aa
       
  1667  0: aa
       
  1668     aaaa
       
  1669  0: aaaa
       
  1670  1: aaa
       
  1671  2: aa
       
  1672     aa+
       
  1673  0: aa
       
  1674 
       
  1675 /^\d{8}\w{2,}/
       
  1676     1234567890
       
  1677  0: 1234567890
       
  1678     12345678ab
       
  1679  0: 12345678ab
       
  1680     12345678__
       
  1681  0: 12345678__
       
  1682     *** Failers
       
  1683 No match
       
  1684     1234567
       
  1685 No match
       
  1686 
       
  1687 /^[aeiou\d]{4,5}$/
       
  1688     uoie
       
  1689  0: uoie
       
  1690     1234
       
  1691  0: 1234
       
  1692     12345
       
  1693  0: 12345
       
  1694     aaaaa
       
  1695  0: aaaaa
       
  1696     *** Failers
       
  1697 No match
       
  1698     123456
       
  1699 No match
       
  1700 
       
  1701 /^[aeiou\d]{4,5}?/
       
  1702     uoie
       
  1703  0: uoie
       
  1704     1234
       
  1705  0: 1234
       
  1706     12345
       
  1707  0: 12345
       
  1708  1: 1234
       
  1709     aaaaa
       
  1710  0: aaaaa
       
  1711  1: aaaa
       
  1712     123456
       
  1713  0: 12345
       
  1714  1: 1234
       
  1715 
       
  1716 /^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]/
       
  1717     From abcd  Mon Sep 01 12:33:02 1997
       
  1718  0: From abcd  Mon Sep 01 12:33
       
  1719 
       
  1720 /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
       
  1721     From abcd  Mon Sep 01 12:33:02 1997
       
  1722  0: From abcd  Mon Sep 01 12:33
       
  1723     From abcd  Mon Sep  1 12:33:02 1997
       
  1724  0: From abcd  Mon Sep  1 12:33
       
  1725     *** Failers
       
  1726 No match
       
  1727     From abcd  Sep 01 12:33:02 1997
       
  1728 No match
       
  1729 
       
  1730 /^12.34/s
       
  1731     12\n34
       
  1732  0: 12\x0a34
       
  1733     12\r34
       
  1734  0: 12\x0d34
       
  1735 
       
  1736 /\w+(?=\t)/
       
  1737     the quick brown\t fox
       
  1738  0: brown
       
  1739 
       
  1740 /foo(?!bar)(.*)/
       
  1741     foobar is foolish see?
       
  1742  0: foolish see?
       
  1743  1: foolish see
       
  1744  2: foolish se
       
  1745  3: foolish s
       
  1746  4: foolish 
       
  1747  5: foolish
       
  1748  6: foolis
       
  1749  7: fooli
       
  1750  8: fool
       
  1751  9: foo
       
  1752 
       
  1753 /(?:(?!foo)...|^.{0,2})bar(.*)/
       
  1754     foobar crowbar etc
       
  1755  0: rowbar etc
       
  1756  1: rowbar et
       
  1757  2: rowbar e
       
  1758  3: rowbar 
       
  1759  4: rowbar
       
  1760     barrel
       
  1761  0: barrel
       
  1762  1: barre
       
  1763  2: barr
       
  1764  3: bar
       
  1765     2barrel
       
  1766  0: 2barrel
       
  1767  1: 2barre
       
  1768  2: 2barr
       
  1769  3: 2bar
       
  1770     A barrel
       
  1771  0: A barrel
       
  1772  1: A barre
       
  1773  2: A barr
       
  1774  3: A bar
       
  1775 
       
  1776 /^(\D*)(?=\d)(?!123)/
       
  1777     abc456
       
  1778  0: abc
       
  1779     *** Failers
       
  1780 No match
       
  1781     abc123
       
  1782 No match
       
  1783 
       
  1784 /^1234(?# test newlines
       
  1785   inside)/
       
  1786     1234
       
  1787  0: 1234
       
  1788 
       
  1789 /^1234 #comment in extended re
       
  1790   /x
       
  1791     1234
       
  1792  0: 1234
       
  1793 
       
  1794 /#rhubarb
       
  1795   abcd/x
       
  1796     abcd
       
  1797  0: abcd
       
  1798 
       
  1799 /^abcd#rhubarb/x
       
  1800     abcd
       
  1801  0: abcd
       
  1802 
       
  1803 /(?!^)abc/
       
  1804     the abc
       
  1805  0: abc
       
  1806     *** Failers
       
  1807 No match
       
  1808     abc
       
  1809 No match
       
  1810 
       
  1811 /(?=^)abc/
       
  1812     abc
       
  1813  0: abc
       
  1814     *** Failers
       
  1815 No match
       
  1816     the abc
       
  1817 No match
       
  1818 
       
  1819 /^[ab]{1,3}(ab*|b)/
       
  1820     aabbbbb
       
  1821  0: aabbbbb
       
  1822  1: aabbbb
       
  1823  2: aabbb
       
  1824  3: aabb
       
  1825  4: aab
       
  1826  5: aa
       
  1827 
       
  1828 /^[ab]{1,3}?(ab*|b)/
       
  1829     aabbbbb
       
  1830  0: aabbbbb
       
  1831  1: aabbbb
       
  1832  2: aabbb
       
  1833  3: aabb
       
  1834  4: aab
       
  1835  5: aa
       
  1836 
       
  1837 /^[ab]{1,3}?(ab*?|b)/
       
  1838     aabbbbb
       
  1839  0: aabbbbb
       
  1840  1: aabbbb
       
  1841  2: aabbb
       
  1842  3: aabb
       
  1843  4: aab
       
  1844  5: aa
       
  1845 
       
  1846 /^[ab]{1,3}(ab*?|b)/
       
  1847     aabbbbb
       
  1848  0: aabbbbb
       
  1849  1: aabbbb
       
  1850  2: aabbb
       
  1851  3: aabb
       
  1852  4: aab
       
  1853  5: aa
       
  1854 
       
  1855 /  (?: [\040\t] |  \(
       
  1856 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1857 \)  )*                          # optional leading comment
       
  1858 (?:    (?:
       
  1859 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1860 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1861 |
       
  1862 " (?:                      # opening quote...
       
  1863 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
       
  1864 |                     #    or
       
  1865 \\ [^\x80-\xff]           #   Escaped something (something != CR)
       
  1866 )* "  # closing quote
       
  1867 )                    # initial word
       
  1868 (?:  (?: [\040\t] |  \(
       
  1869 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1870 \)  )*  \.  (?: [\040\t] |  \(
       
  1871 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1872 \)  )*   (?:
       
  1873 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1874 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1875 |
       
  1876 " (?:                      # opening quote...
       
  1877 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
       
  1878 |                     #    or
       
  1879 \\ [^\x80-\xff]           #   Escaped something (something != CR)
       
  1880 )* "  # closing quote
       
  1881 )  )* # further okay, if led by a period
       
  1882 (?: [\040\t] |  \(
       
  1883 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1884 \)  )*  @  (?: [\040\t] |  \(
       
  1885 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1886 \)  )*    (?:
       
  1887 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1888 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1889 |   \[                         # [
       
  1890 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  1891 \]                        #           ]
       
  1892 )                           # initial subdomain
       
  1893 (?:                                  #
       
  1894 (?: [\040\t] |  \(
       
  1895 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1896 \)  )*  \.                        # if led by a period...
       
  1897 (?: [\040\t] |  \(
       
  1898 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1899 \)  )*   (?:
       
  1900 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1901 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1902 |   \[                         # [
       
  1903 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  1904 \]                        #           ]
       
  1905 )                     #   ...further okay
       
  1906 )*
       
  1907 # address
       
  1908 |                     #  or
       
  1909 (?:
       
  1910 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1911 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1912 |
       
  1913 " (?:                      # opening quote...
       
  1914 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
       
  1915 |                     #    or
       
  1916 \\ [^\x80-\xff]           #   Escaped something (something != CR)
       
  1917 )* "  # closing quote
       
  1918 )             # one word, optionally followed by....
       
  1919 (?:
       
  1920 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
       
  1921 \(
       
  1922 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1923 \)       |  # comments, or...
       
  1924 
       
  1925 " (?:                      # opening quote...
       
  1926 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
       
  1927 |                     #    or
       
  1928 \\ [^\x80-\xff]           #   Escaped something (something != CR)
       
  1929 )* "  # closing quote
       
  1930 # quoted strings
       
  1931 )*
       
  1932 <  (?: [\040\t] |  \(
       
  1933 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1934 \)  )*                     # leading <
       
  1935 (?:  @  (?: [\040\t] |  \(
       
  1936 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1937 \)  )*    (?:
       
  1938 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1939 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1940 |   \[                         # [
       
  1941 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  1942 \]                        #           ]
       
  1943 )                           # initial subdomain
       
  1944 (?:                                  #
       
  1945 (?: [\040\t] |  \(
       
  1946 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1947 \)  )*  \.                        # if led by a period...
       
  1948 (?: [\040\t] |  \(
       
  1949 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1950 \)  )*   (?:
       
  1951 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1952 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1953 |   \[                         # [
       
  1954 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  1955 \]                        #           ]
       
  1956 )                     #   ...further okay
       
  1957 )*
       
  1958 
       
  1959 (?:  (?: [\040\t] |  \(
       
  1960 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1961 \)  )*  ,  (?: [\040\t] |  \(
       
  1962 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1963 \)  )*  @  (?: [\040\t] |  \(
       
  1964 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1965 \)  )*    (?:
       
  1966 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1967 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1968 |   \[                         # [
       
  1969 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  1970 \]                        #           ]
       
  1971 )                           # initial subdomain
       
  1972 (?:                                  #
       
  1973 (?: [\040\t] |  \(
       
  1974 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1975 \)  )*  \.                        # if led by a period...
       
  1976 (?: [\040\t] |  \(
       
  1977 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1978 \)  )*   (?:
       
  1979 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1980 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1981 |   \[                         # [
       
  1982 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  1983 \]                        #           ]
       
  1984 )                     #   ...further okay
       
  1985 )*
       
  1986 )* # further okay, if led by comma
       
  1987 :                                # closing colon
       
  1988 (?: [\040\t] |  \(
       
  1989 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  1990 \)  )*  )? #       optional route
       
  1991 (?:
       
  1992 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  1993 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  1994 |
       
  1995 " (?:                      # opening quote...
       
  1996 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
       
  1997 |                     #    or
       
  1998 \\ [^\x80-\xff]           #   Escaped something (something != CR)
       
  1999 )* "  # closing quote
       
  2000 )                    # initial word
       
  2001 (?:  (?: [\040\t] |  \(
       
  2002 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2003 \)  )*  \.  (?: [\040\t] |  \(
       
  2004 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2005 \)  )*   (?:
       
  2006 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2007 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2008 |
       
  2009 " (?:                      # opening quote...
       
  2010 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
       
  2011 |                     #    or
       
  2012 \\ [^\x80-\xff]           #   Escaped something (something != CR)
       
  2013 )* "  # closing quote
       
  2014 )  )* # further okay, if led by a period
       
  2015 (?: [\040\t] |  \(
       
  2016 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2017 \)  )*  @  (?: [\040\t] |  \(
       
  2018 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2019 \)  )*    (?:
       
  2020 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2021 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2022 |   \[                         # [
       
  2023 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  2024 \]                        #           ]
       
  2025 )                           # initial subdomain
       
  2026 (?:                                  #
       
  2027 (?: [\040\t] |  \(
       
  2028 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2029 \)  )*  \.                        # if led by a period...
       
  2030 (?: [\040\t] |  \(
       
  2031 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2032 \)  )*   (?:
       
  2033 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2034 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2035 |   \[                         # [
       
  2036 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
       
  2037 \]                        #           ]
       
  2038 )                     #   ...further okay
       
  2039 )*
       
  2040 #       address spec
       
  2041 (?: [\040\t] |  \(
       
  2042 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2043 \)  )*  > #                  trailing >
       
  2044 # name and address
       
  2045 )  (?: [\040\t] |  \(
       
  2046 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
       
  2047 \)  )*                       # optional trailing comment
       
  2048 /x
       
  2049     Alan Other <user\@dom.ain>
       
  2050  0: Alan Other <user@dom.ain>
       
  2051     <user\@dom.ain>
       
  2052  0: user@dom.ain
       
  2053  1: user@dom
       
  2054     user\@dom.ain
       
  2055  0: user@dom.ain
       
  2056  1: user@dom
       
  2057     \"A. Other\" <user.1234\@dom.ain> (a comment)
       
  2058  0: "A. Other" <user.1234@dom.ain> (a comment)
       
  2059  1: "A. Other" <user.1234@dom.ain> 
       
  2060  2: "A. Other" <user.1234@dom.ain>
       
  2061     A. Other <user.1234\@dom.ain> (a comment)
       
  2062  0:  Other <user.1234@dom.ain> (a comment)
       
  2063  1:  Other <user.1234@dom.ain> 
       
  2064  2:  Other <user.1234@dom.ain>
       
  2065     \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
       
  2066  0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay
       
  2067  1: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re
       
  2068     A missing angle <user\@some.where
       
  2069  0: user@some.where
       
  2070  1: user@some
       
  2071     *** Failers
       
  2072 No match
       
  2073     The quick brown fox
       
  2074 No match
       
  2075 
       
  2076 /[\040\t]*                    # Nab whitespace.
       
  2077 (?:
       
  2078 \(                              #  (
       
  2079 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2080 (?:                                 #       (
       
  2081 (?:  \\ [^\x80-\xff]  |
       
  2082 \(                            #  (
       
  2083 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2084 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2085 \)                           #                       )
       
  2086 )    #         special
       
  2087 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2088 )*                                  #            )*
       
  2089 \)                             #                )
       
  2090 [\040\t]* )*    # If comment found, allow more spaces.
       
  2091 # optional leading comment
       
  2092 (?:
       
  2093 (?:
       
  2094 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2095 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2096 # Atom
       
  2097 |                       #  or
       
  2098 "                                     # "
       
  2099 [^\\\x80-\xff\n\015"] *                            #   normal
       
  2100 (?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
       
  2101 "                                     #        "
       
  2102 # Quoted string
       
  2103 )
       
  2104 [\040\t]*                    # Nab whitespace.
       
  2105 (?:
       
  2106 \(                              #  (
       
  2107 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2108 (?:                                 #       (
       
  2109 (?:  \\ [^\x80-\xff]  |
       
  2110 \(                            #  (
       
  2111 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2112 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2113 \)                           #                       )
       
  2114 )    #         special
       
  2115 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2116 )*                                  #            )*
       
  2117 \)                             #                )
       
  2118 [\040\t]* )*    # If comment found, allow more spaces.
       
  2119 (?:
       
  2120 \.
       
  2121 [\040\t]*                    # Nab whitespace.
       
  2122 (?:
       
  2123 \(                              #  (
       
  2124 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2125 (?:                                 #       (
       
  2126 (?:  \\ [^\x80-\xff]  |
       
  2127 \(                            #  (
       
  2128 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2129 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2130 \)                           #                       )
       
  2131 )    #         special
       
  2132 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2133 )*                                  #            )*
       
  2134 \)                             #                )
       
  2135 [\040\t]* )*    # If comment found, allow more spaces.
       
  2136 (?:
       
  2137 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2138 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2139 # Atom
       
  2140 |                       #  or
       
  2141 "                                     # "
       
  2142 [^\\\x80-\xff\n\015"] *                            #   normal
       
  2143 (?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
       
  2144 "                                     #        "
       
  2145 # Quoted string
       
  2146 )
       
  2147 [\040\t]*                    # Nab whitespace.
       
  2148 (?:
       
  2149 \(                              #  (
       
  2150 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2151 (?:                                 #       (
       
  2152 (?:  \\ [^\x80-\xff]  |
       
  2153 \(                            #  (
       
  2154 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2155 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2156 \)                           #                       )
       
  2157 )    #         special
       
  2158 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2159 )*                                  #            )*
       
  2160 \)                             #                )
       
  2161 [\040\t]* )*    # If comment found, allow more spaces.
       
  2162 # additional words
       
  2163 )*
       
  2164 @
       
  2165 [\040\t]*                    # Nab whitespace.
       
  2166 (?:
       
  2167 \(                              #  (
       
  2168 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2169 (?:                                 #       (
       
  2170 (?:  \\ [^\x80-\xff]  |
       
  2171 \(                            #  (
       
  2172 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2173 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2174 \)                           #                       )
       
  2175 )    #         special
       
  2176 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2177 )*                                  #            )*
       
  2178 \)                             #                )
       
  2179 [\040\t]* )*    # If comment found, allow more spaces.
       
  2180 (?:
       
  2181 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2182 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2183 |
       
  2184 \[                            # [
       
  2185 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2186 \]                           #           ]
       
  2187 )
       
  2188 [\040\t]*                    # Nab whitespace.
       
  2189 (?:
       
  2190 \(                              #  (
       
  2191 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2192 (?:                                 #       (
       
  2193 (?:  \\ [^\x80-\xff]  |
       
  2194 \(                            #  (
       
  2195 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2196 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2197 \)                           #                       )
       
  2198 )    #         special
       
  2199 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2200 )*                                  #            )*
       
  2201 \)                             #                )
       
  2202 [\040\t]* )*    # If comment found, allow more spaces.
       
  2203 # optional trailing comments
       
  2204 (?:
       
  2205 \.
       
  2206 [\040\t]*                    # Nab whitespace.
       
  2207 (?:
       
  2208 \(                              #  (
       
  2209 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2210 (?:                                 #       (
       
  2211 (?:  \\ [^\x80-\xff]  |
       
  2212 \(                            #  (
       
  2213 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2214 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2215 \)                           #                       )
       
  2216 )    #         special
       
  2217 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2218 )*                                  #            )*
       
  2219 \)                             #                )
       
  2220 [\040\t]* )*    # If comment found, allow more spaces.
       
  2221 (?:
       
  2222 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2223 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2224 |
       
  2225 \[                            # [
       
  2226 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2227 \]                           #           ]
       
  2228 )
       
  2229 [\040\t]*                    # Nab whitespace.
       
  2230 (?:
       
  2231 \(                              #  (
       
  2232 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2233 (?:                                 #       (
       
  2234 (?:  \\ [^\x80-\xff]  |
       
  2235 \(                            #  (
       
  2236 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2237 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2238 \)                           #                       )
       
  2239 )    #         special
       
  2240 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2241 )*                                  #            )*
       
  2242 \)                             #                )
       
  2243 [\040\t]* )*    # If comment found, allow more spaces.
       
  2244 # optional trailing comments
       
  2245 )*
       
  2246 # address
       
  2247 |                             #  or
       
  2248 (?:
       
  2249 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2250 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2251 # Atom
       
  2252 |                       #  or
       
  2253 "                                     # "
       
  2254 [^\\\x80-\xff\n\015"] *                            #   normal
       
  2255 (?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
       
  2256 "                                     #        "
       
  2257 # Quoted string
       
  2258 )
       
  2259 # leading word
       
  2260 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] *               # "normal" atoms and or spaces
       
  2261 (?:
       
  2262 (?:
       
  2263 \(                              #  (
       
  2264 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2265 (?:                                 #       (
       
  2266 (?:  \\ [^\x80-\xff]  |
       
  2267 \(                            #  (
       
  2268 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2269 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2270 \)                           #                       )
       
  2271 )    #         special
       
  2272 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2273 )*                                  #            )*
       
  2274 \)                             #                )
       
  2275 |
       
  2276 "                                     # "
       
  2277 [^\\\x80-\xff\n\015"] *                            #   normal
       
  2278 (?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
       
  2279 "                                     #        "
       
  2280 ) # "special" comment or quoted string
       
  2281 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] *            #  more "normal"
       
  2282 )*
       
  2283 <
       
  2284 [\040\t]*                    # Nab whitespace.
       
  2285 (?:
       
  2286 \(                              #  (
       
  2287 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2288 (?:                                 #       (
       
  2289 (?:  \\ [^\x80-\xff]  |
       
  2290 \(                            #  (
       
  2291 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2292 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2293 \)                           #                       )
       
  2294 )    #         special
       
  2295 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2296 )*                                  #            )*
       
  2297 \)                             #                )
       
  2298 [\040\t]* )*    # If comment found, allow more spaces.
       
  2299 # <
       
  2300 (?:
       
  2301 @
       
  2302 [\040\t]*                    # Nab whitespace.
       
  2303 (?:
       
  2304 \(                              #  (
       
  2305 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2306 (?:                                 #       (
       
  2307 (?:  \\ [^\x80-\xff]  |
       
  2308 \(                            #  (
       
  2309 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2310 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2311 \)                           #                       )
       
  2312 )    #         special
       
  2313 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2314 )*                                  #            )*
       
  2315 \)                             #                )
       
  2316 [\040\t]* )*    # If comment found, allow more spaces.
       
  2317 (?:
       
  2318 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2319 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2320 |
       
  2321 \[                            # [
       
  2322 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2323 \]                           #           ]
       
  2324 )
       
  2325 [\040\t]*                    # Nab whitespace.
       
  2326 (?:
       
  2327 \(                              #  (
       
  2328 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2329 (?:                                 #       (
       
  2330 (?:  \\ [^\x80-\xff]  |
       
  2331 \(                            #  (
       
  2332 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2333 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2334 \)                           #                       )
       
  2335 )    #         special
       
  2336 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2337 )*                                  #            )*
       
  2338 \)                             #                )
       
  2339 [\040\t]* )*    # If comment found, allow more spaces.
       
  2340 # optional trailing comments
       
  2341 (?:
       
  2342 \.
       
  2343 [\040\t]*                    # Nab whitespace.
       
  2344 (?:
       
  2345 \(                              #  (
       
  2346 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2347 (?:                                 #       (
       
  2348 (?:  \\ [^\x80-\xff]  |
       
  2349 \(                            #  (
       
  2350 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2351 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2352 \)                           #                       )
       
  2353 )    #         special
       
  2354 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2355 )*                                  #            )*
       
  2356 \)                             #                )
       
  2357 [\040\t]* )*    # If comment found, allow more spaces.
       
  2358 (?:
       
  2359 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2360 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2361 |
       
  2362 \[                            # [
       
  2363 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2364 \]                           #           ]
       
  2365 )
       
  2366 [\040\t]*                    # Nab whitespace.
       
  2367 (?:
       
  2368 \(                              #  (
       
  2369 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2370 (?:                                 #       (
       
  2371 (?:  \\ [^\x80-\xff]  |
       
  2372 \(                            #  (
       
  2373 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2374 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2375 \)                           #                       )
       
  2376 )    #         special
       
  2377 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2378 )*                                  #            )*
       
  2379 \)                             #                )
       
  2380 [\040\t]* )*    # If comment found, allow more spaces.
       
  2381 # optional trailing comments
       
  2382 )*
       
  2383 (?: ,
       
  2384 [\040\t]*                    # Nab whitespace.
       
  2385 (?:
       
  2386 \(                              #  (
       
  2387 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2388 (?:                                 #       (
       
  2389 (?:  \\ [^\x80-\xff]  |
       
  2390 \(                            #  (
       
  2391 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2392 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2393 \)                           #                       )
       
  2394 )    #         special
       
  2395 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2396 )*                                  #            )*
       
  2397 \)                             #                )
       
  2398 [\040\t]* )*    # If comment found, allow more spaces.
       
  2399 @
       
  2400 [\040\t]*                    # Nab whitespace.
       
  2401 (?:
       
  2402 \(                              #  (
       
  2403 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2404 (?:                                 #       (
       
  2405 (?:  \\ [^\x80-\xff]  |
       
  2406 \(                            #  (
       
  2407 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2408 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2409 \)                           #                       )
       
  2410 )    #         special
       
  2411 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2412 )*                                  #            )*
       
  2413 \)                             #                )
       
  2414 [\040\t]* )*    # If comment found, allow more spaces.
       
  2415 (?:
       
  2416 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2417 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2418 |
       
  2419 \[                            # [
       
  2420 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2421 \]                           #           ]
       
  2422 )
       
  2423 [\040\t]*                    # Nab whitespace.
       
  2424 (?:
       
  2425 \(                              #  (
       
  2426 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2427 (?:                                 #       (
       
  2428 (?:  \\ [^\x80-\xff]  |
       
  2429 \(                            #  (
       
  2430 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2431 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2432 \)                           #                       )
       
  2433 )    #         special
       
  2434 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2435 )*                                  #            )*
       
  2436 \)                             #                )
       
  2437 [\040\t]* )*    # If comment found, allow more spaces.
       
  2438 # optional trailing comments
       
  2439 (?:
       
  2440 \.
       
  2441 [\040\t]*                    # Nab whitespace.
       
  2442 (?:
       
  2443 \(                              #  (
       
  2444 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2445 (?:                                 #       (
       
  2446 (?:  \\ [^\x80-\xff]  |
       
  2447 \(                            #  (
       
  2448 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2449 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2450 \)                           #                       )
       
  2451 )    #         special
       
  2452 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2453 )*                                  #            )*
       
  2454 \)                             #                )
       
  2455 [\040\t]* )*    # If comment found, allow more spaces.
       
  2456 (?:
       
  2457 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2458 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2459 |
       
  2460 \[                            # [
       
  2461 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2462 \]                           #           ]
       
  2463 )
       
  2464 [\040\t]*                    # Nab whitespace.
       
  2465 (?:
       
  2466 \(                              #  (
       
  2467 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2468 (?:                                 #       (
       
  2469 (?:  \\ [^\x80-\xff]  |
       
  2470 \(                            #  (
       
  2471 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2472 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2473 \)                           #                       )
       
  2474 )    #         special
       
  2475 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2476 )*                                  #            )*
       
  2477 \)                             #                )
       
  2478 [\040\t]* )*    # If comment found, allow more spaces.
       
  2479 # optional trailing comments
       
  2480 )*
       
  2481 )*  # additional domains
       
  2482 :
       
  2483 [\040\t]*                    # Nab whitespace.
       
  2484 (?:
       
  2485 \(                              #  (
       
  2486 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2487 (?:                                 #       (
       
  2488 (?:  \\ [^\x80-\xff]  |
       
  2489 \(                            #  (
       
  2490 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2491 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2492 \)                           #                       )
       
  2493 )    #         special
       
  2494 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2495 )*                                  #            )*
       
  2496 \)                             #                )
       
  2497 [\040\t]* )*    # If comment found, allow more spaces.
       
  2498 # optional trailing comments
       
  2499 )?     #       optional route
       
  2500 (?:
       
  2501 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2502 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2503 # Atom
       
  2504 |                       #  or
       
  2505 "                                     # "
       
  2506 [^\\\x80-\xff\n\015"] *                            #   normal
       
  2507 (?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
       
  2508 "                                     #        "
       
  2509 # Quoted string
       
  2510 )
       
  2511 [\040\t]*                    # Nab whitespace.
       
  2512 (?:
       
  2513 \(                              #  (
       
  2514 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2515 (?:                                 #       (
       
  2516 (?:  \\ [^\x80-\xff]  |
       
  2517 \(                            #  (
       
  2518 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2519 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2520 \)                           #                       )
       
  2521 )    #         special
       
  2522 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2523 )*                                  #            )*
       
  2524 \)                             #                )
       
  2525 [\040\t]* )*    # If comment found, allow more spaces.
       
  2526 (?:
       
  2527 \.
       
  2528 [\040\t]*                    # Nab whitespace.
       
  2529 (?:
       
  2530 \(                              #  (
       
  2531 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2532 (?:                                 #       (
       
  2533 (?:  \\ [^\x80-\xff]  |
       
  2534 \(                            #  (
       
  2535 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2536 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2537 \)                           #                       )
       
  2538 )    #         special
       
  2539 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2540 )*                                  #            )*
       
  2541 \)                             #                )
       
  2542 [\040\t]* )*    # If comment found, allow more spaces.
       
  2543 (?:
       
  2544 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2545 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2546 # Atom
       
  2547 |                       #  or
       
  2548 "                                     # "
       
  2549 [^\\\x80-\xff\n\015"] *                            #   normal
       
  2550 (?:  \\ [^\x80-\xff]  [^\\\x80-\xff\n\015"] * )*        #   ( special normal* )*
       
  2551 "                                     #        "
       
  2552 # Quoted string
       
  2553 )
       
  2554 [\040\t]*                    # Nab whitespace.
       
  2555 (?:
       
  2556 \(                              #  (
       
  2557 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2558 (?:                                 #       (
       
  2559 (?:  \\ [^\x80-\xff]  |
       
  2560 \(                            #  (
       
  2561 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2562 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2563 \)                           #                       )
       
  2564 )    #         special
       
  2565 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2566 )*                                  #            )*
       
  2567 \)                             #                )
       
  2568 [\040\t]* )*    # If comment found, allow more spaces.
       
  2569 # additional words
       
  2570 )*
       
  2571 @
       
  2572 [\040\t]*                    # Nab whitespace.
       
  2573 (?:
       
  2574 \(                              #  (
       
  2575 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2576 (?:                                 #       (
       
  2577 (?:  \\ [^\x80-\xff]  |
       
  2578 \(                            #  (
       
  2579 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2580 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2581 \)                           #                       )
       
  2582 )    #         special
       
  2583 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2584 )*                                  #            )*
       
  2585 \)                             #                )
       
  2586 [\040\t]* )*    # If comment found, allow more spaces.
       
  2587 (?:
       
  2588 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2589 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2590 |
       
  2591 \[                            # [
       
  2592 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2593 \]                           #           ]
       
  2594 )
       
  2595 [\040\t]*                    # Nab whitespace.
       
  2596 (?:
       
  2597 \(                              #  (
       
  2598 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2599 (?:                                 #       (
       
  2600 (?:  \\ [^\x80-\xff]  |
       
  2601 \(                            #  (
       
  2602 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2603 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2604 \)                           #                       )
       
  2605 )    #         special
       
  2606 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2607 )*                                  #            )*
       
  2608 \)                             #                )
       
  2609 [\040\t]* )*    # If comment found, allow more spaces.
       
  2610 # optional trailing comments
       
  2611 (?:
       
  2612 \.
       
  2613 [\040\t]*                    # Nab whitespace.
       
  2614 (?:
       
  2615 \(                              #  (
       
  2616 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2617 (?:                                 #       (
       
  2618 (?:  \\ [^\x80-\xff]  |
       
  2619 \(                            #  (
       
  2620 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2621 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2622 \)                           #                       )
       
  2623 )    #         special
       
  2624 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2625 )*                                  #            )*
       
  2626 \)                             #                )
       
  2627 [\040\t]* )*    # If comment found, allow more spaces.
       
  2628 (?:
       
  2629 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
       
  2630 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
       
  2631 |
       
  2632 \[                            # [
       
  2633 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*     #    stuff
       
  2634 \]                           #           ]
       
  2635 )
       
  2636 [\040\t]*                    # Nab whitespace.
       
  2637 (?:
       
  2638 \(                              #  (
       
  2639 [^\\\x80-\xff\n\015()] *                             #     normal*
       
  2640 (?:                                 #       (
       
  2641 (?:  \\ [^\x80-\xff]  |
       
  2642 \(                            #  (
       
  2643 [^\\\x80-\xff\n\015()] *                            #     normal*
       
  2644 (?:  \\ [^\x80-\xff]   [^\\\x80-\xff\n\015()] * )*        #     (special normal*)*
       
  2645 \)                           #                       )
       
  2646 )    #         special
       
  2647 [^\\\x80-\xff\n\015()] *                         #         normal*
       
  2648 )*                                  #            )*
       
  2649 \)                             #                )
       
  2650 [\040\t]* )*    # If comment found, allow more spaces.
       
  2651 # optional trailing comments
       
  2652 )*
       
  2653 #       address spec
       
  2654 >                    #                 >
       
  2655 # name and address
       
  2656 )
       
  2657 /x
       
  2658     Alan Other <user\@dom.ain>
       
  2659  0: Alan Other <user@dom.ain>
       
  2660     <user\@dom.ain>
       
  2661  0: user@dom.ain
       
  2662  1: user@dom
       
  2663     user\@dom.ain
       
  2664  0: user@dom.ain
       
  2665  1: user@dom
       
  2666     \"A. Other\" <user.1234\@dom.ain> (a comment)
       
  2667  0: "A. Other" <user.1234@dom.ain>
       
  2668     A. Other <user.1234\@dom.ain> (a comment)
       
  2669  0:  Other <user.1234@dom.ain>
       
  2670     \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
       
  2671  0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay
       
  2672  1: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re
       
  2673     A missing angle <user\@some.where
       
  2674  0: user@some.where
       
  2675  1: user@some
       
  2676     *** Failers
       
  2677 No match
       
  2678     The quick brown fox
       
  2679 No match
       
  2680 
       
  2681 /abc\0def\00pqr\000xyz\0000AB/
       
  2682     abc\0def\00pqr\000xyz\0000AB
       
  2683  0: abc\x00def\x00pqr\x00xyz\x000AB
       
  2684     abc456 abc\0def\00pqr\000xyz\0000ABCDE
       
  2685  0: abc\x00def\x00pqr\x00xyz\x000AB
       
  2686 
       
  2687 /abc\x0def\x00pqr\x000xyz\x0000AB/
       
  2688     abc\x0def\x00pqr\x000xyz\x0000AB
       
  2689  0: abc\x0def\x00pqr\x000xyz\x0000AB
       
  2690     abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
       
  2691  0: abc\x0def\x00pqr\x000xyz\x0000AB
       
  2692 
       
  2693 /^[\000-\037]/
       
  2694     \0A
       
  2695  0: \x00
       
  2696     \01B
       
  2697  0: \x01
       
  2698     \037C
       
  2699  0: \x1f
       
  2700 
       
  2701 /\0*/
       
  2702     \0\0\0\0
       
  2703  0: \x00\x00\x00\x00
       
  2704  1: \x00\x00\x00
       
  2705  2: \x00\x00
       
  2706  3: \x00
       
  2707  4: 
       
  2708 
       
  2709 /A\x0{2,3}Z/
       
  2710     The A\x0\x0Z
       
  2711  0: A\x00\x00Z
       
  2712     An A\0\x0\0Z
       
  2713  0: A\x00\x00\x00Z
       
  2714     *** Failers
       
  2715 No match
       
  2716     A\0Z
       
  2717 No match
       
  2718     A\0\x0\0\x0Z
       
  2719 No match
       
  2720 
       
  2721 /^\s/
       
  2722     \040abc
       
  2723  0:  
       
  2724     \x0cabc
       
  2725  0: \x0c
       
  2726     \nabc
       
  2727  0: \x0a
       
  2728     \rabc
       
  2729  0: \x0d
       
  2730     \tabc
       
  2731  0: \x09
       
  2732     *** Failers
       
  2733 No match
       
  2734     abc
       
  2735 No match
       
  2736 
       
  2737 /^a	b
       
  2738       c/x
       
  2739     abc
       
  2740  0: abc
       
  2741 
       
  2742 /ab{1,3}bc/
       
  2743     abbbbc
       
  2744  0: abbbbc
       
  2745     abbbc
       
  2746  0: abbbc
       
  2747     abbc
       
  2748  0: abbc
       
  2749     *** Failers
       
  2750 No match
       
  2751     abc
       
  2752 No match
       
  2753     abbbbbc
       
  2754 No match
       
  2755 
       
  2756 /([^.]*)\.([^:]*):[T ]+(.*)/
       
  2757     track1.title:TBlah blah blah
       
  2758  0: track1.title:TBlah blah blah
       
  2759  1: track1.title:TBlah blah bla
       
  2760  2: track1.title:TBlah blah bl
       
  2761  3: track1.title:TBlah blah b
       
  2762  4: track1.title:TBlah blah 
       
  2763  5: track1.title:TBlah blah
       
  2764  6: track1.title:TBlah bla
       
  2765  7: track1.title:TBlah bl
       
  2766  8: track1.title:TBlah b
       
  2767  9: track1.title:TBlah 
       
  2768 10: track1.title:TBlah
       
  2769 11: track1.title:TBla
       
  2770 12: track1.title:TBl
       
  2771 13: track1.title:TB
       
  2772 14: track1.title:T
       
  2773 
       
  2774 /([^.]*)\.([^:]*):[T ]+(.*)/i
       
  2775     track1.title:TBlah blah blah
       
  2776  0: track1.title:TBlah blah blah
       
  2777  1: track1.title:TBlah blah bla
       
  2778  2: track1.title:TBlah blah bl
       
  2779  3: track1.title:TBlah blah b
       
  2780  4: track1.title:TBlah blah 
       
  2781  5: track1.title:TBlah blah
       
  2782  6: track1.title:TBlah bla
       
  2783  7: track1.title:TBlah bl
       
  2784  8: track1.title:TBlah b
       
  2785  9: track1.title:TBlah 
       
  2786 10: track1.title:TBlah
       
  2787 11: track1.title:TBla
       
  2788 12: track1.title:TBl
       
  2789 13: track1.title:TB
       
  2790 14: track1.title:T
       
  2791 
       
  2792 /([^.]*)\.([^:]*):[t ]+(.*)/i
       
  2793     track1.title:TBlah blah blah
       
  2794  0: track1.title:TBlah blah blah
       
  2795  1: track1.title:TBlah blah bla
       
  2796  2: track1.title:TBlah blah bl
       
  2797  3: track1.title:TBlah blah b
       
  2798  4: track1.title:TBlah blah 
       
  2799  5: track1.title:TBlah blah
       
  2800  6: track1.title:TBlah bla
       
  2801  7: track1.title:TBlah bl
       
  2802  8: track1.title:TBlah b
       
  2803  9: track1.title:TBlah 
       
  2804 10: track1.title:TBlah
       
  2805 11: track1.title:TBla
       
  2806 12: track1.title:TBl
       
  2807 13: track1.title:TB
       
  2808 14: track1.title:T
       
  2809 
       
  2810 /^[W-c]+$/
       
  2811     WXY_^abc
       
  2812  0: WXY_^abc
       
  2813     *** Failers
       
  2814 No match
       
  2815     wxy
       
  2816 No match
       
  2817 
       
  2818 /^[W-c]+$/i
       
  2819     WXY_^abc
       
  2820  0: WXY_^abc
       
  2821     wxy_^ABC
       
  2822  0: wxy_^ABC
       
  2823 
       
  2824 /^[\x3f-\x5F]+$/i
       
  2825     WXY_^abc
       
  2826  0: WXY_^abc
       
  2827     wxy_^ABC
       
  2828  0: wxy_^ABC
       
  2829 
       
  2830 /^abc$/m
       
  2831     abc
       
  2832  0: abc
       
  2833     qqq\nabc
       
  2834  0: abc
       
  2835     abc\nzzz
       
  2836  0: abc
       
  2837     qqq\nabc\nzzz
       
  2838  0: abc
       
  2839 
       
  2840 /^abc$/
       
  2841     abc
       
  2842  0: abc
       
  2843     *** Failers
       
  2844 No match
       
  2845     qqq\nabc
       
  2846 No match
       
  2847     abc\nzzz
       
  2848 No match
       
  2849     qqq\nabc\nzzz
       
  2850 No match
       
  2851 
       
  2852 /\Aabc\Z/m
       
  2853     abc
       
  2854  0: abc
       
  2855     abc\n 
       
  2856  0: abc
       
  2857     *** Failers
       
  2858 No match
       
  2859     qqq\nabc
       
  2860 No match
       
  2861     abc\nzzz
       
  2862 No match
       
  2863     qqq\nabc\nzzz
       
  2864 No match
       
  2865     
       
  2866 /\A(.)*\Z/s
       
  2867     abc\ndef
       
  2868  0: abc\x0adef
       
  2869 
       
  2870 /\A(.)*\Z/m
       
  2871     *** Failers
       
  2872  0: *** Failers
       
  2873     abc\ndef
       
  2874 No match
       
  2875 
       
  2876 /(?:b)|(?::+)/
       
  2877     b::c
       
  2878  0: b
       
  2879     c::b
       
  2880  0: ::
       
  2881  1: :
       
  2882 
       
  2883 /[-az]+/
       
  2884     az-
       
  2885  0: az-
       
  2886  1: az
       
  2887  2: a
       
  2888     *** Failers
       
  2889  0: a
       
  2890     b
       
  2891 No match
       
  2892 
       
  2893 /[az-]+/
       
  2894     za-
       
  2895  0: za-
       
  2896  1: za
       
  2897  2: z
       
  2898     *** Failers
       
  2899  0: a
       
  2900     b
       
  2901 No match
       
  2902 
       
  2903 /[a\-z]+/
       
  2904     a-z
       
  2905  0: a-z
       
  2906  1: a-
       
  2907  2: a
       
  2908     *** Failers
       
  2909  0: a
       
  2910     b
       
  2911 No match
       
  2912 
       
  2913 /[a-z]+/
       
  2914     abcdxyz
       
  2915  0: abcdxyz
       
  2916  1: abcdxy
       
  2917  2: abcdx
       
  2918  3: abcd
       
  2919  4: abc
       
  2920  5: ab
       
  2921  6: a
       
  2922 
       
  2923 /[\d-]+/
       
  2924     12-34
       
  2925  0: 12-34
       
  2926  1: 12-3
       
  2927  2: 12-
       
  2928  3: 12
       
  2929  4: 1
       
  2930     *** Failers
       
  2931 No match
       
  2932     aaa
       
  2933 No match
       
  2934 
       
  2935 /[\d-z]+/
       
  2936     12-34z
       
  2937  0: 12-34z
       
  2938  1: 12-34
       
  2939  2: 12-3
       
  2940  3: 12-
       
  2941  4: 12
       
  2942  5: 1
       
  2943     *** Failers
       
  2944 No match
       
  2945     aaa
       
  2946 No match
       
  2947 
       
  2948 /\x5c/
       
  2949     \\
       
  2950  0: \
       
  2951 
       
  2952 /\x20Z/
       
  2953     the Zoo
       
  2954  0:  Z
       
  2955     *** Failers
       
  2956 No match
       
  2957     Zulu
       
  2958 No match
       
  2959 
       
  2960 /ab{3cd/
       
  2961     ab{3cd
       
  2962  0: ab{3cd
       
  2963 
       
  2964 /ab{3,cd/
       
  2965     ab{3,cd
       
  2966  0: ab{3,cd
       
  2967 
       
  2968 /ab{3,4a}cd/
       
  2969     ab{3,4a}cd
       
  2970  0: ab{3,4a}cd
       
  2971 
       
  2972 /{4,5a}bc/
       
  2973     {4,5a}bc
       
  2974  0: {4,5a}bc
       
  2975 
       
  2976 /^a.b/<lf>
       
  2977     a\rb
       
  2978  0: a\x0db
       
  2979     *** Failers
       
  2980 No match
       
  2981     a\nb
       
  2982 No match
       
  2983 
       
  2984 /abc$/
       
  2985     abc
       
  2986  0: abc
       
  2987     abc\n
       
  2988  0: abc
       
  2989     *** Failers
       
  2990 No match
       
  2991     abc\ndef
       
  2992 No match
       
  2993 
       
  2994 /(abc)\123/
       
  2995     abc\x53
       
  2996  0: abcS
       
  2997 
       
  2998 /(abc)\223/
       
  2999     abc\x93
       
  3000  0: abc\x93
       
  3001 
       
  3002 /(abc)\323/
       
  3003     abc\xd3
       
  3004  0: abc\xd3
       
  3005 
       
  3006 /(abc)\100/
       
  3007     abc\x40
       
  3008  0: abc@
       
  3009     abc\100
       
  3010  0: abc@
       
  3011 
       
  3012 /(abc)\1000/
       
  3013     abc\x400
       
  3014  0: abc@0
       
  3015     abc\x40\x30
       
  3016  0: abc@0
       
  3017     abc\1000
       
  3018  0: abc@0
       
  3019     abc\100\x30
       
  3020  0: abc@0
       
  3021     abc\100\060
       
  3022  0: abc@0
       
  3023     abc\100\60
       
  3024  0: abc@0
       
  3025 
       
  3026 /abc\81/
       
  3027     abc\081
       
  3028  0: abc\x0081
       
  3029     abc\0\x38\x31
       
  3030  0: abc\x0081
       
  3031 
       
  3032 /abc\91/
       
  3033     abc\091
       
  3034  0: abc\x0091
       
  3035     abc\0\x39\x31
       
  3036  0: abc\x0091
       
  3037 
       
  3038 /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
       
  3039     abcdefghijk\12S
       
  3040  0: abcdefghijk\x0aS
       
  3041 
       
  3042 /ab\idef/
       
  3043     abidef
       
  3044  0: abidef
       
  3045 
       
  3046 /a{0}bc/
       
  3047     bc
       
  3048  0: bc
       
  3049 
       
  3050 /(a|(bc)){0,0}?xyz/
       
  3051     xyz
       
  3052  0: xyz
       
  3053 
       
  3054 /abc[\10]de/
       
  3055     abc\010de
       
  3056  0: abc\x08de
       
  3057 
       
  3058 /abc[\1]de/
       
  3059     abc\1de
       
  3060  0: abc\x01de
       
  3061 
       
  3062 /(abc)[\1]de/
       
  3063     abc\1de
       
  3064  0: abc\x01de
       
  3065 
       
  3066 /(?s)a.b/
       
  3067     a\nb
       
  3068  0: a\x0ab
       
  3069 
       
  3070 /^([^a])([^\b])([^c]*)([^d]{3,4})/
       
  3071     baNOTccccd
       
  3072  0: baNOTcccc
       
  3073  1: baNOTccc
       
  3074  2: baNOTcc
       
  3075  3: baNOTc
       
  3076  4: baNOT
       
  3077     baNOTcccd
       
  3078  0: baNOTccc
       
  3079  1: baNOTcc
       
  3080  2: baNOTc
       
  3081  3: baNOT
       
  3082     baNOTccd
       
  3083  0: baNOTcc
       
  3084  1: baNOTc
       
  3085  2: baNOT
       
  3086     bacccd
       
  3087  0: baccc
       
  3088     *** Failers
       
  3089  0: *** Failers
       
  3090  1: *** Failer
       
  3091  2: *** Faile
       
  3092  3: *** Fail
       
  3093  4: *** Fai
       
  3094  5: *** Fa
       
  3095  6: *** F
       
  3096     anything
       
  3097 No match
       
  3098     b\bc   
       
  3099 No match
       
  3100     baccd
       
  3101 No match
       
  3102 
       
  3103 /[^a]/
       
  3104     Abc
       
  3105  0: A
       
  3106   
       
  3107 /[^a]/i
       
  3108     Abc 
       
  3109  0: b
       
  3110 
       
  3111 /[^a]+/
       
  3112     AAAaAbc
       
  3113  0: AAA
       
  3114  1: AA
       
  3115  2: A
       
  3116   
       
  3117 /[^a]+/i
       
  3118     AAAaAbc 
       
  3119  0: bc
       
  3120  1: b
       
  3121 
       
  3122 /[^a]+/
       
  3123     bbb\nccc
       
  3124  0: bbb\x0accc
       
  3125  1: bbb\x0acc
       
  3126  2: bbb\x0ac
       
  3127  3: bbb\x0a
       
  3128  4: bbb
       
  3129  5: bb
       
  3130  6: b
       
  3131    
       
  3132 /[^k]$/
       
  3133     abc
       
  3134  0: c
       
  3135     *** Failers
       
  3136  0: s
       
  3137     abk   
       
  3138 No match
       
  3139    
       
  3140 /[^k]{2,3}$/
       
  3141     abc
       
  3142  0: abc
       
  3143     kbc
       
  3144  0: bc
       
  3145     kabc 
       
  3146  0: abc
       
  3147     *** Failers
       
  3148  0: ers
       
  3149     abk
       
  3150 No match
       
  3151     akb
       
  3152 No match
       
  3153     akk 
       
  3154 No match
       
  3155 
       
  3156 /^\d{8,}\@.+[^k]$/
       
  3157     12345678\@a.b.c.d
       
  3158  0: 12345678@a.b.c.d
       
  3159     123456789\@x.y.z
       
  3160  0: 123456789@x.y.z
       
  3161     *** Failers
       
  3162 No match
       
  3163     12345678\@x.y.uk
       
  3164 No match
       
  3165     1234567\@a.b.c.d       
       
  3166 No match
       
  3167 
       
  3168 /[^a]/
       
  3169     aaaabcd
       
  3170  0: b
       
  3171     aaAabcd 
       
  3172  0: A
       
  3173 
       
  3174 /[^a]/i
       
  3175     aaaabcd
       
  3176  0: b
       
  3177     aaAabcd 
       
  3178  0: b
       
  3179 
       
  3180 /[^az]/
       
  3181     aaaabcd
       
  3182  0: b
       
  3183     aaAabcd 
       
  3184  0: A
       
  3185 
       
  3186 /[^az]/i
       
  3187     aaaabcd
       
  3188  0: b
       
  3189     aaAabcd 
       
  3190  0: b
       
  3191 
       
  3192 /\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/
       
  3193  \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377
       
  3194  0: \x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff
       
  3195 
       
  3196 /P[^*]TAIRE[^*]{1,6}?LL/
       
  3197     xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
       
  3198  0: PSTAIREISLL
       
  3199 
       
  3200 /P[^*]TAIRE[^*]{1,}?LL/
       
  3201     xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
       
  3202  0: PSTAIREISLL
       
  3203 
       
  3204 /(\.\d\d[1-9]?)\d+/
       
  3205     1.230003938
       
  3206  0: .230003938
       
  3207  1: .23000393
       
  3208  2: .2300039
       
  3209  3: .230003
       
  3210  4: .23000
       
  3211  5: .2300
       
  3212  6: .230
       
  3213     1.875000282   
       
  3214  0: .875000282
       
  3215  1: .87500028
       
  3216  2: .8750002
       
  3217  3: .875000
       
  3218  4: .87500
       
  3219  5: .8750
       
  3220  6: .875
       
  3221     1.235  
       
  3222  0: .235
       
  3223                   
       
  3224 /(\.\d\d((?=0)|\d(?=\d)))/
       
  3225     1.230003938      
       
  3226  0: .230
       
  3227  1: .23
       
  3228     1.875000282
       
  3229  0: .875
       
  3230     *** Failers 
       
  3231 No match
       
  3232     1.235 
       
  3233 No match
       
  3234     
       
  3235 /a(?)b/
       
  3236     ab 
       
  3237  0: ab
       
  3238  
       
  3239 /\b(foo)\s+(\w+)/i
       
  3240     Food is on the foo table
       
  3241  0: foo table
       
  3242  1: foo tabl
       
  3243  2: foo tab
       
  3244  3: foo ta
       
  3245  4: foo t
       
  3246     
       
  3247 /foo(.*)bar/
       
  3248     The food is under the bar in the barn.
       
  3249  0: food is under the bar in the bar
       
  3250  1: food is under the bar
       
  3251     
       
  3252 /foo(.*?)bar/  
       
  3253     The food is under the bar in the barn.
       
  3254  0: food is under the bar in the bar
       
  3255  1: food is under the bar
       
  3256 
       
  3257 /(.*)(\d*)/
       
  3258     I have 2 numbers: 53147
       
  3259 Matched, but too many subsidiary matches
       
  3260  0: I have 2 numbers: 53147
       
  3261  1: I have 2 numbers: 5314
       
  3262  2: I have 2 numbers: 531
       
  3263  3: I have 2 numbers: 53
       
  3264  4: I have 2 numbers: 5
       
  3265  5: I have 2 numbers: 
       
  3266  6: I have 2 numbers:
       
  3267  7: I have 2 numbers
       
  3268  8: I have 2 number
       
  3269  9: I have 2 numbe
       
  3270 10: I have 2 numb
       
  3271 11: I have 2 num
       
  3272 12: I have 2 nu
       
  3273 13: I have 2 n
       
  3274 14: I have 2 
       
  3275 15: I have 2
       
  3276 16: I have 
       
  3277 17: I have
       
  3278 18: I hav
       
  3279 19: I ha
       
  3280 20: I h
       
  3281 21: I 
       
  3282     
       
  3283 /(.*)(\d+)/
       
  3284     I have 2 numbers: 53147
       
  3285  0: I have 2 numbers: 53147
       
  3286  1: I have 2 numbers: 5314
       
  3287  2: I have 2 numbers: 531
       
  3288  3: I have 2 numbers: 53
       
  3289  4: I have 2 numbers: 5
       
  3290  5: I have 2
       
  3291  
       
  3292 /(.*?)(\d*)/
       
  3293     I have 2 numbers: 53147
       
  3294 Matched, but too many subsidiary matches
       
  3295  0: I have 2 numbers: 53147
       
  3296  1: I have 2 numbers: 5314
       
  3297  2: I have 2 numbers: 531
       
  3298  3: I have 2 numbers: 53
       
  3299  4: I have 2 numbers: 5
       
  3300  5: I have 2 numbers: 
       
  3301  6: I have 2 numbers:
       
  3302  7: I have 2 numbers
       
  3303  8: I have 2 number
       
  3304  9: I have 2 numbe
       
  3305 10: I have 2 numb
       
  3306 11: I have 2 num
       
  3307 12: I have 2 nu
       
  3308 13: I have 2 n
       
  3309 14: I have 2 
       
  3310 15: I have 2
       
  3311 16: I have 
       
  3312 17: I have
       
  3313 18: I hav
       
  3314 19: I ha
       
  3315 20: I h
       
  3316 21: I 
       
  3317 
       
  3318 /(.*?)(\d+)/
       
  3319     I have 2 numbers: 53147
       
  3320  0: I have 2 numbers: 53147
       
  3321  1: I have 2 numbers: 5314
       
  3322  2: I have 2 numbers: 531
       
  3323  3: I have 2 numbers: 53
       
  3324  4: I have 2 numbers: 5
       
  3325  5: I have 2
       
  3326 
       
  3327 /(.*)(\d+)$/
       
  3328     I have 2 numbers: 53147
       
  3329  0: I have 2 numbers: 53147
       
  3330 
       
  3331 /(.*?)(\d+)$/
       
  3332     I have 2 numbers: 53147
       
  3333  0: I have 2 numbers: 53147
       
  3334 
       
  3335 /(.*)\b(\d+)$/
       
  3336     I have 2 numbers: 53147
       
  3337  0: I have 2 numbers: 53147
       
  3338 
       
  3339 /(.*\D)(\d+)$/
       
  3340     I have 2 numbers: 53147
       
  3341  0: I have 2 numbers: 53147
       
  3342 
       
  3343 /^\D*(?!123)/
       
  3344     ABC123
       
  3345  0: AB
       
  3346  1: A
       
  3347  2: 
       
  3348      
       
  3349 /^(\D*)(?=\d)(?!123)/
       
  3350     ABC445
       
  3351  0: ABC
       
  3352     *** Failers
       
  3353 No match
       
  3354     ABC123
       
  3355 No match
       
  3356     
       
  3357 /^[W-]46]/
       
  3358     W46]789 
       
  3359  0: W46]
       
  3360     -46]789
       
  3361  0: -46]
       
  3362     *** Failers
       
  3363 No match
       
  3364     Wall
       
  3365 No match
       
  3366     Zebra
       
  3367 No match
       
  3368     42
       
  3369 No match
       
  3370     [abcd] 
       
  3371 No match
       
  3372     ]abcd[
       
  3373 No match
       
  3374        
       
  3375 /^[W-\]46]/
       
  3376     W46]789 
       
  3377  0: W
       
  3378     Wall
       
  3379  0: W
       
  3380     Zebra
       
  3381  0: Z
       
  3382     Xylophone  
       
  3383  0: X
       
  3384     42
       
  3385  0: 4
       
  3386     [abcd] 
       
  3387  0: [
       
  3388     ]abcd[
       
  3389  0: ]
       
  3390     \\backslash 
       
  3391  0: \
       
  3392     *** Failers
       
  3393 No match
       
  3394     -46]789
       
  3395 No match
       
  3396     well
       
  3397 No match
       
  3398     
       
  3399 /\d\d\/\d\d\/\d\d\d\d/
       
  3400     01/01/2000
       
  3401  0: 01/01/2000
       
  3402 
       
  3403 /word (?:[a-zA-Z0-9]+ ){0,10}otherword/
       
  3404   word cat dog elephant mussel cow horse canary baboon snake shark otherword
       
  3405  0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
       
  3406   word cat dog elephant mussel cow horse canary baboon snake shark
       
  3407 No match
       
  3408 
       
  3409 /word (?:[a-zA-Z0-9]+ ){0,300}otherword/
       
  3410   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
       
  3411 No match
       
  3412 
       
  3413 /^(a){0,0}/
       
  3414     bcd
       
  3415  0: 
       
  3416     abc
       
  3417  0: 
       
  3418     aab     
       
  3419  0: 
       
  3420 
       
  3421 /^(a){0,1}/
       
  3422     bcd
       
  3423  0: 
       
  3424     abc
       
  3425  0: a
       
  3426  1: 
       
  3427     aab  
       
  3428  0: a
       
  3429  1: 
       
  3430 
       
  3431 /^(a){0,2}/
       
  3432     bcd
       
  3433  0: 
       
  3434     abc
       
  3435  0: a
       
  3436  1: 
       
  3437     aab  
       
  3438  0: aa
       
  3439  1: a
       
  3440  2: 
       
  3441 
       
  3442 /^(a){0,3}/
       
  3443     bcd
       
  3444  0: 
       
  3445     abc
       
  3446  0: a
       
  3447  1: 
       
  3448     aab
       
  3449  0: aa
       
  3450  1: a
       
  3451  2: 
       
  3452     aaa   
       
  3453  0: aaa
       
  3454  1: aa
       
  3455  2: a
       
  3456  3: 
       
  3457 
       
  3458 /^(a){0,}/
       
  3459     bcd
       
  3460  0: 
       
  3461     abc
       
  3462  0: a
       
  3463  1: 
       
  3464     aab
       
  3465  0: aa
       
  3466  1: a
       
  3467  2: 
       
  3468     aaa
       
  3469  0: aaa
       
  3470  1: aa
       
  3471  2: a
       
  3472  3: 
       
  3473     aaaaaaaa    
       
  3474  0: aaaaaaaa
       
  3475  1: aaaaaaa
       
  3476  2: aaaaaa
       
  3477  3: aaaaa
       
  3478  4: aaaa
       
  3479  5: aaa
       
  3480  6: aa
       
  3481  7: a
       
  3482  8: 
       
  3483 
       
  3484 /^(a){1,1}/
       
  3485     bcd
       
  3486 No match
       
  3487     abc
       
  3488  0: a
       
  3489     aab  
       
  3490  0: a
       
  3491 
       
  3492 /^(a){1,2}/
       
  3493     bcd
       
  3494 No match
       
  3495     abc
       
  3496  0: a
       
  3497     aab  
       
  3498  0: aa
       
  3499  1: a
       
  3500 
       
  3501 /^(a){1,3}/
       
  3502     bcd
       
  3503 No match
       
  3504     abc
       
  3505  0: a
       
  3506     aab
       
  3507  0: aa
       
  3508  1: a
       
  3509     aaa   
       
  3510  0: aaa
       
  3511  1: aa
       
  3512  2: a
       
  3513 
       
  3514 /^(a){1,}/
       
  3515     bcd
       
  3516 No match
       
  3517     abc
       
  3518  0: a
       
  3519     aab
       
  3520  0: aa
       
  3521  1: a
       
  3522     aaa
       
  3523  0: aaa
       
  3524  1: aa
       
  3525  2: a
       
  3526     aaaaaaaa    
       
  3527  0: aaaaaaaa
       
  3528  1: aaaaaaa
       
  3529  2: aaaaaa
       
  3530  3: aaaaa
       
  3531  4: aaaa
       
  3532  5: aaa
       
  3533  6: aa
       
  3534  7: a
       
  3535 
       
  3536 /.*\.gif/
       
  3537     borfle\nbib.gif\nno
       
  3538  0: bib.gif
       
  3539 
       
  3540 /.{0,}\.gif/
       
  3541     borfle\nbib.gif\nno
       
  3542  0: bib.gif
       
  3543 
       
  3544 /.*\.gif/m
       
  3545     borfle\nbib.gif\nno
       
  3546  0: bib.gif
       
  3547 
       
  3548 /.*\.gif/s
       
  3549     borfle\nbib.gif\nno
       
  3550  0: borfle\x0abib.gif
       
  3551 
       
  3552 /.*\.gif/ms
       
  3553     borfle\nbib.gif\nno
       
  3554  0: borfle\x0abib.gif
       
  3555     
       
  3556 /.*$/
       
  3557     borfle\nbib.gif\nno
       
  3558  0: no
       
  3559 
       
  3560 /.*$/m
       
  3561     borfle\nbib.gif\nno
       
  3562  0: borfle
       
  3563 
       
  3564 /.*$/s
       
  3565     borfle\nbib.gif\nno
       
  3566  0: borfle\x0abib.gif\x0ano
       
  3567 
       
  3568 /.*$/ms
       
  3569     borfle\nbib.gif\nno
       
  3570  0: borfle\x0abib.gif\x0ano
       
  3571  1: borfle\x0abib.gif
       
  3572  2: borfle
       
  3573     
       
  3574 /.*$/
       
  3575     borfle\nbib.gif\nno\n
       
  3576  0: no
       
  3577 
       
  3578 /.*$/m
       
  3579     borfle\nbib.gif\nno\n
       
  3580  0: borfle
       
  3581 
       
  3582 /.*$/s
       
  3583     borfle\nbib.gif\nno\n
       
  3584  0: borfle\x0abib.gif\x0ano\x0a
       
  3585  1: borfle\x0abib.gif\x0ano
       
  3586 
       
  3587 /.*$/ms
       
  3588     borfle\nbib.gif\nno\n
       
  3589  0: borfle\x0abib.gif\x0ano\x0a
       
  3590  1: borfle\x0abib.gif\x0ano
       
  3591  2: borfle\x0abib.gif
       
  3592  3: borfle
       
  3593     
       
  3594 /(.*X|^B)/
       
  3595     abcde\n1234Xyz
       
  3596  0: 1234X
       
  3597     BarFoo 
       
  3598  0: B
       
  3599     *** Failers
       
  3600 No match
       
  3601     abcde\nBar  
       
  3602 No match
       
  3603 
       
  3604 /(.*X|^B)/m
       
  3605     abcde\n1234Xyz
       
  3606  0: 1234X
       
  3607     BarFoo 
       
  3608  0: B
       
  3609     abcde\nBar  
       
  3610  0: B
       
  3611 
       
  3612 /(.*X|^B)/s
       
  3613     abcde\n1234Xyz
       
  3614  0: abcde\x0a1234X
       
  3615     BarFoo 
       
  3616  0: B
       
  3617     *** Failers
       
  3618 No match
       
  3619     abcde\nBar  
       
  3620 No match
       
  3621 
       
  3622 /(.*X|^B)/ms
       
  3623     abcde\n1234Xyz
       
  3624  0: abcde\x0a1234X
       
  3625     BarFoo 
       
  3626  0: B
       
  3627     abcde\nBar  
       
  3628  0: B
       
  3629 
       
  3630 /(?s)(.*X|^B)/
       
  3631     abcde\n1234Xyz
       
  3632  0: abcde\x0a1234X
       
  3633     BarFoo 
       
  3634  0: B
       
  3635     *** Failers 
       
  3636 No match
       
  3637     abcde\nBar  
       
  3638 No match
       
  3639 
       
  3640 /(?s:.*X|^B)/
       
  3641     abcde\n1234Xyz
       
  3642  0: abcde\x0a1234X
       
  3643     BarFoo 
       
  3644  0: B
       
  3645     *** Failers 
       
  3646 No match
       
  3647     abcde\nBar  
       
  3648 No match
       
  3649 
       
  3650 /^.*B/
       
  3651     **** Failers
       
  3652 No match
       
  3653     abc\nB
       
  3654 No match
       
  3655      
       
  3656 /(?s)^.*B/
       
  3657     abc\nB
       
  3658  0: abc\x0aB
       
  3659 
       
  3660 /(?m)^.*B/
       
  3661     abc\nB
       
  3662  0: B
       
  3663      
       
  3664 /(?ms)^.*B/
       
  3665     abc\nB
       
  3666  0: abc\x0aB
       
  3667 
       
  3668 /(?ms)^B/
       
  3669     abc\nB
       
  3670  0: B
       
  3671 
       
  3672 /(?s)B$/
       
  3673     B\n
       
  3674  0: B
       
  3675 
       
  3676 /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
       
  3677     123456654321
       
  3678  0: 123456654321
       
  3679   
       
  3680 /^\d\d\d\d\d\d\d\d\d\d\d\d/
       
  3681     123456654321 
       
  3682  0: 123456654321
       
  3683 
       
  3684 /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
       
  3685     123456654321
       
  3686  0: 123456654321
       
  3687   
       
  3688 /^[abc]{12}/
       
  3689     abcabcabcabc
       
  3690  0: abcabcabcabc
       
  3691     
       
  3692 /^[a-c]{12}/
       
  3693     abcabcabcabc
       
  3694  0: abcabcabcabc
       
  3695     
       
  3696 /^(a|b|c){12}/
       
  3697     abcabcabcabc 
       
  3698  0: abcabcabcabc
       
  3699 
       
  3700 /^[abcdefghijklmnopqrstuvwxy0123456789]/
       
  3701     n
       
  3702  0: n
       
  3703     *** Failers 
       
  3704 No match
       
  3705     z 
       
  3706 No match
       
  3707 
       
  3708 /abcde{0,0}/
       
  3709     abcd
       
  3710  0: abcd
       
  3711     *** Failers
       
  3712 No match
       
  3713     abce  
       
  3714 No match
       
  3715 
       
  3716 /ab[cd]{0,0}e/
       
  3717     abe
       
  3718  0: abe
       
  3719     *** Failers
       
  3720 No match
       
  3721     abcde 
       
  3722 No match
       
  3723     
       
  3724 /ab(c){0,0}d/
       
  3725     abd
       
  3726  0: abd
       
  3727     *** Failers
       
  3728 No match
       
  3729     abcd   
       
  3730 No match
       
  3731 
       
  3732 /a(b*)/
       
  3733     a
       
  3734  0: a
       
  3735     ab
       
  3736  0: ab
       
  3737  1: a
       
  3738     abbbb
       
  3739  0: abbbb
       
  3740  1: abbb
       
  3741  2: abb
       
  3742  3: ab
       
  3743  4: a
       
  3744     *** Failers
       
  3745  0: a
       
  3746     bbbbb    
       
  3747 No match
       
  3748     
       
  3749 /ab\d{0}e/
       
  3750     abe
       
  3751  0: abe
       
  3752     *** Failers
       
  3753 No match
       
  3754     ab1e   
       
  3755 No match
       
  3756     
       
  3757 /"([^\\"]+|\\.)*"/
       
  3758     the \"quick\" brown fox
       
  3759  0: "quick"
       
  3760     \"the \\\"quick\\\" brown fox\" 
       
  3761  0: "the \"quick\" brown fox"
       
  3762 
       
  3763 /.*?/g+
       
  3764     abc
       
  3765  0: abc
       
  3766  0+ 
       
  3767  1: ab
       
  3768  2: a
       
  3769  3: 
       
  3770  0: 
       
  3771  0+ 
       
  3772   
       
  3773 /\b/g+
       
  3774     abc 
       
  3775  0: 
       
  3776  0+ abc
       
  3777  0: 
       
  3778  0+ 
       
  3779 
       
  3780 /\b/+g
       
  3781     abc 
       
  3782  0: 
       
  3783  0+ abc
       
  3784  0: 
       
  3785  0+ 
       
  3786 
       
  3787 //g
       
  3788     abc
       
  3789  0: 
       
  3790  0: 
       
  3791  0: 
       
  3792  0: 
       
  3793 
       
  3794 /<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>/is
       
  3795   <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>
       
  3796  0: <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>
       
  3797 
       
  3798 /a[^a]b/
       
  3799     acb
       
  3800  0: acb
       
  3801     a\nb
       
  3802  0: a\x0ab
       
  3803     
       
  3804 /a.b/
       
  3805     acb
       
  3806  0: acb
       
  3807     *** Failers 
       
  3808 No match
       
  3809     a\nb   
       
  3810 No match
       
  3811     
       
  3812 /a[^a]b/s
       
  3813     acb
       
  3814  0: acb
       
  3815     a\nb  
       
  3816  0: a\x0ab
       
  3817     
       
  3818 /a.b/s
       
  3819     acb
       
  3820  0: acb
       
  3821     a\nb  
       
  3822  0: a\x0ab
       
  3823 
       
  3824 /^(b+?|a){1,2}?c/
       
  3825     bac
       
  3826  0: bac
       
  3827     bbac
       
  3828  0: bbac
       
  3829     bbbac
       
  3830  0: bbbac
       
  3831     bbbbac
       
  3832  0: bbbbac
       
  3833     bbbbbac 
       
  3834  0: bbbbbac
       
  3835 
       
  3836 /^(b+|a){1,2}?c/
       
  3837     bac
       
  3838  0: bac
       
  3839     bbac
       
  3840  0: bbac
       
  3841     bbbac
       
  3842  0: bbbac
       
  3843     bbbbac
       
  3844  0: bbbbac
       
  3845     bbbbbac 
       
  3846  0: bbbbbac
       
  3847     
       
  3848 /(?!\A)x/m
       
  3849     x\nb\n
       
  3850 No match
       
  3851     a\bx\n  
       
  3852  0: x
       
  3853     
       
  3854 /\x0{ab}/
       
  3855     \0{ab} 
       
  3856  0: \x00{ab}
       
  3857 
       
  3858 /(A|B)*?CD/
       
  3859     CD 
       
  3860  0: CD
       
  3861     
       
  3862 /(A|B)*CD/
       
  3863     CD 
       
  3864  0: CD
       
  3865 
       
  3866 /(?<!bar)foo/
       
  3867     foo
       
  3868  0: foo
       
  3869     catfood
       
  3870  0: foo
       
  3871     arfootle
       
  3872  0: foo
       
  3873     rfoosh
       
  3874  0: foo
       
  3875     *** Failers
       
  3876 No match
       
  3877     barfoo
       
  3878 No match
       
  3879     towbarfoo
       
  3880 No match
       
  3881 
       
  3882 /\w{3}(?<!bar)foo/
       
  3883     catfood
       
  3884  0: catfoo
       
  3885     *** Failers
       
  3886 No match
       
  3887     foo
       
  3888 No match
       
  3889     barfoo
       
  3890 No match
       
  3891     towbarfoo
       
  3892 No match
       
  3893 
       
  3894 /(?<=(foo)a)bar/
       
  3895     fooabar
       
  3896  0: bar
       
  3897     *** Failers
       
  3898 No match
       
  3899     bar
       
  3900 No match
       
  3901     foobbar
       
  3902 No match
       
  3903       
       
  3904 /\Aabc\z/m
       
  3905     abc
       
  3906  0: abc
       
  3907     *** Failers
       
  3908 No match
       
  3909     abc\n   
       
  3910 No match
       
  3911     qqq\nabc
       
  3912 No match
       
  3913     abc\nzzz
       
  3914 No match
       
  3915     qqq\nabc\nzzz
       
  3916 No match
       
  3917 
       
  3918 "(?>.*/)foo"
       
  3919     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
       
  3920 No match
       
  3921 
       
  3922 "(?>.*/)foo"
       
  3923     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
       
  3924  0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
       
  3925 
       
  3926 /(?>(\.\d\d[1-9]?))\d+/
       
  3927     1.230003938
       
  3928  0: .230003938
       
  3929  1: .23000393
       
  3930  2: .2300039
       
  3931  3: .230003
       
  3932  4: .23000
       
  3933  5: .2300
       
  3934  6: .230
       
  3935     1.875000282
       
  3936  0: .875000282
       
  3937  1: .87500028
       
  3938  2: .8750002
       
  3939  3: .875000
       
  3940  4: .87500
       
  3941  5: .8750
       
  3942     *** Failers 
       
  3943 No match
       
  3944     1.235 
       
  3945 No match
       
  3946 
       
  3947 /^((?>\w+)|(?>\s+))*$/
       
  3948     now is the time for all good men to come to the aid of the party
       
  3949  0: now is the time for all good men to come to the aid of the party
       
  3950     *** Failers
       
  3951 No match
       
  3952     this is not a line with only words and spaces!
       
  3953 No match
       
  3954     
       
  3955 /(\d+)(\w)/
       
  3956     12345a
       
  3957  0: 12345a
       
  3958  1: 12345
       
  3959  2: 1234
       
  3960  3: 123
       
  3961  4: 12
       
  3962     12345+ 
       
  3963  0: 12345
       
  3964  1: 1234
       
  3965  2: 123
       
  3966  3: 12
       
  3967 
       
  3968 /((?>\d+))(\w)/
       
  3969     12345a
       
  3970  0: 12345a
       
  3971     *** Failers
       
  3972 No match
       
  3973     12345+ 
       
  3974 No match
       
  3975 
       
  3976 /(?>a+)b/
       
  3977     aaab
       
  3978  0: aaab
       
  3979 
       
  3980 /((?>a+)b)/
       
  3981     aaab
       
  3982  0: aaab
       
  3983 
       
  3984 /(?>(a+))b/
       
  3985     aaab
       
  3986  0: aaab
       
  3987 
       
  3988 /(?>b)+/
       
  3989     aaabbbccc
       
  3990  0: bbb
       
  3991  1: bb
       
  3992  2: b
       
  3993 
       
  3994 /(?>a+|b+|c+)*c/
       
  3995     aaabbbbccccd
       
  3996  0: aaabbbbcccc
       
  3997  1: aaabbbbc
       
  3998     
       
  3999 /(a+|b+|c+)*c/
       
  4000     aaabbbbccccd
       
  4001  0: aaabbbbcccc
       
  4002  1: aaabbbbccc
       
  4003  2: aaabbbbcc
       
  4004  3: aaabbbbc
       
  4005 
       
  4006 /((?>[^()]+)|\([^()]*\))+/
       
  4007     ((abc(ade)ufh()()x
       
  4008  0: abc(ade)ufh()()x
       
  4009  1: abc(ade)ufh()()
       
  4010  2: abc(ade)ufh()
       
  4011  3: abc(ade)ufh
       
  4012  4: abc(ade)
       
  4013  5: abc
       
  4014     
       
  4015 /\(((?>[^()]+)|\([^()]+\))+\)/ 
       
  4016     (abc)
       
  4017  0: (abc)
       
  4018     (abc(def)xyz)
       
  4019  0: (abc(def)xyz)
       
  4020     *** Failers
       
  4021 No match
       
  4022     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   
       
  4023 No match
       
  4024 
       
  4025 /a(?-i)b/i
       
  4026     ab
       
  4027  0: ab
       
  4028     Ab
       
  4029  0: Ab
       
  4030     *** Failers 
       
  4031 No match
       
  4032     aB
       
  4033 No match
       
  4034     AB
       
  4035 No match
       
  4036         
       
  4037 /(a (?x)b c)d e/
       
  4038     a bcd e
       
  4039  0: a bcd e
       
  4040     *** Failers
       
  4041 No match
       
  4042     a b cd e
       
  4043 No match
       
  4044     abcd e   
       
  4045 No match
       
  4046     a bcde 
       
  4047 No match
       
  4048  
       
  4049 /(a b(?x)c d (?-x)e f)/
       
  4050     a bcde f
       
  4051  0: a bcde f
       
  4052     *** Failers
       
  4053 No match
       
  4054     abcdef  
       
  4055 No match
       
  4056 
       
  4057 /(a(?i)b)c/
       
  4058     abc
       
  4059  0: abc
       
  4060     aBc
       
  4061  0: aBc
       
  4062     *** Failers
       
  4063 No match
       
  4064     abC
       
  4065 No match
       
  4066     aBC  
       
  4067 No match
       
  4068     Abc
       
  4069 No match
       
  4070     ABc
       
  4071 No match
       
  4072     ABC
       
  4073 No match
       
  4074     AbC
       
  4075 No match
       
  4076     
       
  4077 /a(?i:b)c/
       
  4078     abc
       
  4079  0: abc
       
  4080     aBc
       
  4081  0: aBc
       
  4082     *** Failers 
       
  4083 No match
       
  4084     ABC
       
  4085 No match
       
  4086     abC
       
  4087 No match
       
  4088     aBC
       
  4089 No match
       
  4090     
       
  4091 /a(?i:b)*c/
       
  4092     aBc
       
  4093  0: aBc
       
  4094     aBBc
       
  4095  0: aBBc
       
  4096     *** Failers 
       
  4097 No match
       
  4098     aBC
       
  4099 No match
       
  4100     aBBC
       
  4101 No match
       
  4102     
       
  4103 /a(?=b(?i)c)\w\wd/
       
  4104     abcd
       
  4105  0: abcd
       
  4106     abCd
       
  4107  0: abCd
       
  4108     *** Failers
       
  4109 No match
       
  4110     aBCd
       
  4111 No match
       
  4112     abcD     
       
  4113 No match
       
  4114     
       
  4115 /(?s-i:more.*than).*million/i
       
  4116     more than million
       
  4117  0: more than million
       
  4118     more than MILLION
       
  4119  0: more than MILLION
       
  4120     more \n than Million 
       
  4121  0: more \x0a than Million
       
  4122     *** Failers
       
  4123 No match
       
  4124     MORE THAN MILLION    
       
  4125 No match
       
  4126     more \n than \n million 
       
  4127 No match
       
  4128 
       
  4129 /(?:(?s-i)more.*than).*million/i
       
  4130     more than million
       
  4131  0: more than million
       
  4132     more than MILLION
       
  4133  0: more than MILLION
       
  4134     more \n than Million 
       
  4135  0: more \x0a than Million
       
  4136     *** Failers
       
  4137 No match
       
  4138     MORE THAN MILLION    
       
  4139 No match
       
  4140     more \n than \n million 
       
  4141 No match
       
  4142     
       
  4143 /(?>a(?i)b+)+c/ 
       
  4144     abc
       
  4145  0: abc
       
  4146     aBbc
       
  4147  0: aBbc
       
  4148     aBBc 
       
  4149  0: aBBc
       
  4150     *** Failers
       
  4151 No match
       
  4152     Abc
       
  4153 No match
       
  4154     abAb    
       
  4155 No match
       
  4156     abbC 
       
  4157 No match
       
  4158     
       
  4159 /(?=a(?i)b)\w\wc/
       
  4160     abc
       
  4161  0: abc
       
  4162     aBc
       
  4163  0: aBc
       
  4164     *** Failers
       
  4165 No match
       
  4166     Ab 
       
  4167 No match
       
  4168     abC
       
  4169 No match
       
  4170     aBC     
       
  4171 No match
       
  4172     
       
  4173 /(?<=a(?i)b)(\w\w)c/
       
  4174     abxxc
       
  4175  0: xxc
       
  4176     aBxxc
       
  4177  0: xxc
       
  4178     *** Failers
       
  4179 No match
       
  4180     Abxxc
       
  4181 No match
       
  4182     ABxxc
       
  4183 No match
       
  4184     abxxC      
       
  4185 No match
       
  4186 
       
  4187 /^(?(?=abc)\w{3}:|\d\d)$/
       
  4188     abc:
       
  4189  0: abc:
       
  4190     12
       
  4191  0: 12
       
  4192     *** Failers
       
  4193 No match
       
  4194     123
       
  4195 No match
       
  4196     xyz    
       
  4197 No match
       
  4198 
       
  4199 /^(?(?!abc)\d\d|\w{3}:)$/
       
  4200     abc:
       
  4201  0: abc:
       
  4202     12
       
  4203  0: 12
       
  4204     *** Failers
       
  4205 No match
       
  4206     123
       
  4207 No match
       
  4208     xyz    
       
  4209 No match
       
  4210     
       
  4211 /(?(?<=foo)bar|cat)/
       
  4212     foobar
       
  4213  0: bar
       
  4214     cat
       
  4215  0: cat
       
  4216     fcat
       
  4217  0: cat
       
  4218     focat   
       
  4219  0: cat
       
  4220     *** Failers
       
  4221 No match
       
  4222     foocat  
       
  4223 No match
       
  4224 
       
  4225 /(?(?<!foo)cat|bar)/
       
  4226     foobar
       
  4227  0: bar
       
  4228     cat
       
  4229  0: cat
       
  4230     fcat
       
  4231  0: cat
       
  4232     focat   
       
  4233  0: cat
       
  4234     *** Failers
       
  4235 No match
       
  4236     foocat  
       
  4237 No match
       
  4238 
       
  4239 /(?>a*)*/
       
  4240     a
       
  4241  0: a
       
  4242  1: 
       
  4243     aa
       
  4244  0: aa
       
  4245  1: 
       
  4246     aaaa
       
  4247  0: aaaa
       
  4248  1: 
       
  4249     
       
  4250 /(abc|)+/
       
  4251     abc
       
  4252  0: abc
       
  4253  1: 
       
  4254     abcabc
       
  4255  0: abcabc
       
  4256  1: abc
       
  4257  2: 
       
  4258     abcabcabc
       
  4259  0: abcabcabc
       
  4260  1: abcabc
       
  4261  2: abc
       
  4262  3: 
       
  4263     xyz      
       
  4264  0: 
       
  4265 
       
  4266 /([a]*)*/
       
  4267     a
       
  4268  0: a
       
  4269  1: 
       
  4270     aaaaa 
       
  4271  0: aaaaa
       
  4272  1: aaaa
       
  4273  2: aaa
       
  4274  3: aa
       
  4275  4: a
       
  4276  5: 
       
  4277  
       
  4278 /([ab]*)*/
       
  4279     a
       
  4280  0: a
       
  4281  1: 
       
  4282     b
       
  4283  0: b
       
  4284  1: 
       
  4285     ababab
       
  4286  0: ababab
       
  4287  1: ababa
       
  4288  2: abab
       
  4289  3: aba
       
  4290  4: ab
       
  4291  5: a
       
  4292  6: 
       
  4293     aaaabcde
       
  4294  0: aaaab
       
  4295  1: aaaa
       
  4296  2: aaa
       
  4297  3: aa
       
  4298  4: a
       
  4299  5: 
       
  4300     bbbb    
       
  4301  0: bbbb
       
  4302  1: bbb
       
  4303  2: bb
       
  4304  3: b
       
  4305  4: 
       
  4306  
       
  4307 /([^a]*)*/
       
  4308     b
       
  4309  0: b
       
  4310  1: 
       
  4311     bbbb
       
  4312  0: bbbb
       
  4313  1: bbb
       
  4314  2: bb
       
  4315  3: b
       
  4316  4: 
       
  4317     aaa   
       
  4318  0: 
       
  4319  
       
  4320 /([^ab]*)*/
       
  4321     cccc
       
  4322  0: cccc
       
  4323  1: ccc
       
  4324  2: cc
       
  4325  3: c
       
  4326  4: 
       
  4327     abab  
       
  4328  0: 
       
  4329  
       
  4330 /([a]*?)*/
       
  4331     a
       
  4332  0: a
       
  4333  1: 
       
  4334     aaaa 
       
  4335  0: aaaa
       
  4336  1: aaa
       
  4337  2: aa
       
  4338  3: a
       
  4339  4: 
       
  4340  
       
  4341 /([ab]*?)*/
       
  4342     a
       
  4343  0: a
       
  4344  1: 
       
  4345     b
       
  4346  0: b
       
  4347  1: 
       
  4348     abab
       
  4349  0: abab
       
  4350  1: aba
       
  4351  2: ab
       
  4352  3: a
       
  4353  4: 
       
  4354     baba   
       
  4355  0: baba
       
  4356  1: bab
       
  4357  2: ba
       
  4358  3: b
       
  4359  4: 
       
  4360  
       
  4361 /([^a]*?)*/
       
  4362     b
       
  4363  0: b
       
  4364  1: 
       
  4365     bbbb
       
  4366  0: bbbb
       
  4367  1: bbb
       
  4368  2: bb
       
  4369  3: b
       
  4370  4: 
       
  4371     aaa   
       
  4372  0: 
       
  4373  
       
  4374 /([^ab]*?)*/
       
  4375     c
       
  4376  0: c
       
  4377  1: 
       
  4378     cccc
       
  4379  0: cccc
       
  4380  1: ccc
       
  4381  2: cc
       
  4382  3: c
       
  4383  4: 
       
  4384     baba   
       
  4385  0: 
       
  4386  
       
  4387 /(?>a*)*/
       
  4388     a
       
  4389  0: a
       
  4390  1: 
       
  4391     aaabcde 
       
  4392  0: aaa
       
  4393  1: 
       
  4394  
       
  4395 /((?>a*))*/
       
  4396     aaaaa
       
  4397  0: aaaaa
       
  4398  1: 
       
  4399     aabbaa 
       
  4400  0: aa
       
  4401  1: 
       
  4402  
       
  4403 /((?>a*?))*/
       
  4404     aaaaa
       
  4405  0: aaaaa
       
  4406  1: 
       
  4407     aabbaa 
       
  4408  0: aa
       
  4409  1: 
       
  4410 
       
  4411 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /x
       
  4412     12-sep-98
       
  4413  0: 12-sep-98
       
  4414     12-09-98
       
  4415  0: 12-09-98
       
  4416     *** Failers
       
  4417 No match
       
  4418     sep-12-98
       
  4419 No match
       
  4420         
       
  4421 /(?i:saturday|sunday)/
       
  4422     saturday
       
  4423  0: saturday
       
  4424     sunday
       
  4425  0: sunday
       
  4426     Saturday
       
  4427  0: Saturday
       
  4428     Sunday
       
  4429  0: Sunday
       
  4430     SATURDAY
       
  4431  0: SATURDAY
       
  4432     SUNDAY
       
  4433  0: SUNDAY
       
  4434     SunDay
       
  4435  0: SunDay
       
  4436     
       
  4437 /(a(?i)bc|BB)x/
       
  4438     abcx
       
  4439  0: abcx
       
  4440     aBCx
       
  4441  0: aBCx
       
  4442     bbx
       
  4443  0: bbx
       
  4444     BBx
       
  4445  0: BBx
       
  4446     *** Failers
       
  4447 No match
       
  4448     abcX
       
  4449 No match
       
  4450     aBCX
       
  4451 No match
       
  4452     bbX
       
  4453 No match
       
  4454     BBX               
       
  4455 No match
       
  4456 
       
  4457 /^([ab](?i)[cd]|[ef])/
       
  4458     ac
       
  4459  0: ac
       
  4460     aC
       
  4461  0: aC
       
  4462     bD
       
  4463  0: bD
       
  4464     elephant
       
  4465  0: e
       
  4466     Europe 
       
  4467  0: E
       
  4468     frog
       
  4469  0: f
       
  4470     France
       
  4471  0: F
       
  4472     *** Failers
       
  4473 No match
       
  4474     Africa     
       
  4475 No match
       
  4476 
       
  4477 /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
       
  4478     ab
       
  4479  0: ab
       
  4480     aBd
       
  4481  0: aBd
       
  4482     xy
       
  4483  0: xy
       
  4484     xY
       
  4485  0: xY
       
  4486     zebra
       
  4487  0: z
       
  4488     Zambesi
       
  4489  0: Z
       
  4490     *** Failers
       
  4491 No match
       
  4492     aCD  
       
  4493 No match
       
  4494     XY  
       
  4495 No match
       
  4496 
       
  4497 /(?<=foo\n)^bar/m
       
  4498     foo\nbar
       
  4499  0: bar
       
  4500     *** Failers
       
  4501 No match
       
  4502     bar
       
  4503 No match
       
  4504     baz\nbar   
       
  4505 No match
       
  4506 
       
  4507 /(?<=(?<!foo)bar)baz/
       
  4508     barbaz
       
  4509  0: baz
       
  4510     barbarbaz 
       
  4511  0: baz
       
  4512     koobarbaz 
       
  4513  0: baz
       
  4514     *** Failers
       
  4515 No match
       
  4516     baz
       
  4517 No match
       
  4518     foobarbaz 
       
  4519 No match
       
  4520 
       
  4521 /The following tests are taken from the Perl 5.005 test suite; some of them/
       
  4522 /are compatible with 5.004, but I'd rather not have to sort them out./
       
  4523 No match
       
  4524 
       
  4525 /abc/
       
  4526     abc
       
  4527  0: abc
       
  4528     xabcy
       
  4529  0: abc
       
  4530     ababc
       
  4531  0: abc
       
  4532     *** Failers
       
  4533 No match
       
  4534     xbc
       
  4535 No match
       
  4536     axc
       
  4537 No match
       
  4538     abx
       
  4539 No match
       
  4540 
       
  4541 /ab*c/
       
  4542     abc
       
  4543  0: abc
       
  4544 
       
  4545 /ab*bc/
       
  4546     abc
       
  4547  0: abc
       
  4548     abbc
       
  4549  0: abbc
       
  4550     abbbbc
       
  4551  0: abbbbc
       
  4552 
       
  4553 /.{1}/
       
  4554     abbbbc
       
  4555  0: a
       
  4556 
       
  4557 /.{3,4}/
       
  4558     abbbbc
       
  4559  0: abbb
       
  4560  1: abb
       
  4561 
       
  4562 /ab{0,}bc/
       
  4563     abbbbc
       
  4564  0: abbbbc
       
  4565 
       
  4566 /ab+bc/
       
  4567     abbc
       
  4568  0: abbc
       
  4569     *** Failers
       
  4570 No match
       
  4571     abc
       
  4572 No match
       
  4573     abq
       
  4574 No match
       
  4575 
       
  4576 /ab{1,}bc/
       
  4577 
       
  4578 /ab+bc/
       
  4579     abbbbc
       
  4580  0: abbbbc
       
  4581 
       
  4582 /ab{1,}bc/
       
  4583     abbbbc
       
  4584  0: abbbbc
       
  4585 
       
  4586 /ab{1,3}bc/
       
  4587     abbbbc
       
  4588  0: abbbbc
       
  4589 
       
  4590 /ab{3,4}bc/
       
  4591     abbbbc
       
  4592  0: abbbbc
       
  4593 
       
  4594 /ab{4,5}bc/
       
  4595     *** Failers
       
  4596 No match
       
  4597     abq
       
  4598 No match
       
  4599     abbbbc
       
  4600 No match
       
  4601 
       
  4602 /ab?bc/
       
  4603     abbc
       
  4604  0: abbc
       
  4605     abc
       
  4606  0: abc
       
  4607 
       
  4608 /ab{0,1}bc/
       
  4609     abc
       
  4610  0: abc
       
  4611 
       
  4612 /ab?bc/
       
  4613 
       
  4614 /ab?c/
       
  4615     abc
       
  4616  0: abc
       
  4617 
       
  4618 /ab{0,1}c/
       
  4619     abc
       
  4620  0: abc
       
  4621 
       
  4622 /^abc$/
       
  4623     abc
       
  4624  0: abc
       
  4625     *** Failers
       
  4626 No match
       
  4627     abbbbc
       
  4628 No match
       
  4629     abcc
       
  4630 No match
       
  4631 
       
  4632 /^abc/
       
  4633     abcc
       
  4634  0: abc
       
  4635 
       
  4636 /^abc$/
       
  4637 
       
  4638 /abc$/
       
  4639     aabc
       
  4640  0: abc
       
  4641     *** Failers
       
  4642 No match
       
  4643     aabc
       
  4644  0: abc
       
  4645     aabcd
       
  4646 No match
       
  4647 
       
  4648 /^/
       
  4649     abc
       
  4650  0: 
       
  4651 
       
  4652 /$/
       
  4653     abc
       
  4654  0: 
       
  4655 
       
  4656 /a.c/
       
  4657     abc
       
  4658  0: abc
       
  4659     axc
       
  4660  0: axc
       
  4661 
       
  4662 /a.*c/
       
  4663     axyzc
       
  4664  0: axyzc
       
  4665 
       
  4666 /a[bc]d/
       
  4667     abd
       
  4668  0: abd
       
  4669     *** Failers
       
  4670 No match
       
  4671     axyzd
       
  4672 No match
       
  4673     abc
       
  4674 No match
       
  4675 
       
  4676 /a[b-d]e/
       
  4677     ace
       
  4678  0: ace
       
  4679 
       
  4680 /a[b-d]/
       
  4681     aac
       
  4682  0: ac
       
  4683 
       
  4684 /a[-b]/
       
  4685     a-
       
  4686  0: a-
       
  4687 
       
  4688 /a[b-]/
       
  4689     a-
       
  4690  0: a-
       
  4691 
       
  4692 /a]/
       
  4693     a]
       
  4694  0: a]
       
  4695 
       
  4696 /a[]]b/
       
  4697     a]b
       
  4698  0: a]b
       
  4699 
       
  4700 /a[^bc]d/
       
  4701     aed
       
  4702  0: aed
       
  4703     *** Failers
       
  4704 No match
       
  4705     abd
       
  4706 No match
       
  4707     abd
       
  4708 No match
       
  4709 
       
  4710 /a[^-b]c/
       
  4711     adc
       
  4712  0: adc
       
  4713 
       
  4714 /a[^]b]c/
       
  4715     adc
       
  4716  0: adc
       
  4717     *** Failers
       
  4718 No match
       
  4719     a-c
       
  4720  0: a-c
       
  4721     a]c
       
  4722 No match
       
  4723 
       
  4724 /\ba\b/
       
  4725     a-
       
  4726  0: a
       
  4727     -a
       
  4728  0: a
       
  4729     -a-
       
  4730  0: a
       
  4731 
       
  4732 /\by\b/
       
  4733     *** Failers
       
  4734 No match
       
  4735     xy
       
  4736 No match
       
  4737     yz
       
  4738 No match
       
  4739     xyz
       
  4740 No match
       
  4741 
       
  4742 /\Ba\B/
       
  4743     *** Failers
       
  4744  0: a
       
  4745     a-
       
  4746 No match
       
  4747     -a
       
  4748 No match
       
  4749     -a-
       
  4750 No match
       
  4751 
       
  4752 /\By\b/
       
  4753     xy
       
  4754  0: y
       
  4755 
       
  4756 /\by\B/
       
  4757     yz
       
  4758  0: y
       
  4759 
       
  4760 /\By\B/
       
  4761     xyz
       
  4762  0: y
       
  4763 
       
  4764 /\w/
       
  4765     a
       
  4766  0: a
       
  4767 
       
  4768 /\W/
       
  4769     -
       
  4770  0: -
       
  4771     *** Failers
       
  4772  0: *
       
  4773     -
       
  4774  0: -
       
  4775     a
       
  4776 No match
       
  4777 
       
  4778 /a\sb/
       
  4779     a b
       
  4780  0: a b
       
  4781 
       
  4782 /a\Sb/
       
  4783     a-b
       
  4784  0: a-b
       
  4785     *** Failers
       
  4786 No match
       
  4787     a-b
       
  4788  0: a-b
       
  4789     a b
       
  4790 No match
       
  4791 
       
  4792 /\d/
       
  4793     1
       
  4794  0: 1
       
  4795 
       
  4796 /\D/
       
  4797     -
       
  4798  0: -
       
  4799     *** Failers
       
  4800  0: *
       
  4801     -
       
  4802  0: -
       
  4803     1
       
  4804 No match
       
  4805 
       
  4806 /[\w]/
       
  4807     a
       
  4808  0: a
       
  4809 
       
  4810 /[\W]/
       
  4811     -
       
  4812  0: -
       
  4813     *** Failers
       
  4814  0: *
       
  4815     -
       
  4816  0: -
       
  4817     a
       
  4818 No match
       
  4819 
       
  4820 /a[\s]b/
       
  4821     a b
       
  4822  0: a b
       
  4823 
       
  4824 /a[\S]b/
       
  4825     a-b
       
  4826  0: a-b
       
  4827     *** Failers
       
  4828 No match
       
  4829     a-b
       
  4830  0: a-b
       
  4831     a b
       
  4832 No match
       
  4833 
       
  4834 /[\d]/
       
  4835     1
       
  4836  0: 1
       
  4837 
       
  4838 /[\D]/
       
  4839     -
       
  4840  0: -
       
  4841     *** Failers
       
  4842  0: *
       
  4843     -
       
  4844  0: -
       
  4845     1
       
  4846 No match
       
  4847 
       
  4848 /ab|cd/
       
  4849     abc
       
  4850  0: ab
       
  4851     abcd
       
  4852  0: ab
       
  4853 
       
  4854 /()ef/
       
  4855     def
       
  4856  0: ef
       
  4857 
       
  4858 /$b/
       
  4859 
       
  4860 /a\(b/
       
  4861     a(b
       
  4862  0: a(b
       
  4863 
       
  4864 /a\(*b/
       
  4865     ab
       
  4866  0: ab
       
  4867     a((b
       
  4868  0: a((b
       
  4869 
       
  4870 /a\\b/
       
  4871     a\b
       
  4872 No match
       
  4873 
       
  4874 /((a))/
       
  4875     abc
       
  4876  0: a
       
  4877 
       
  4878 /(a)b(c)/
       
  4879     abc
       
  4880  0: abc
       
  4881 
       
  4882 /a+b+c/
       
  4883     aabbabc
       
  4884  0: abc
       
  4885 
       
  4886 /a{1,}b{1,}c/
       
  4887     aabbabc
       
  4888  0: abc
       
  4889 
       
  4890 /a.+?c/
       
  4891     abcabc
       
  4892  0: abcabc
       
  4893  1: abc
       
  4894 
       
  4895 /(a+|b)*/
       
  4896     ab
       
  4897  0: ab
       
  4898  1: a
       
  4899  2: 
       
  4900 
       
  4901 /(a+|b){0,}/
       
  4902     ab
       
  4903  0: ab
       
  4904  1: a
       
  4905  2: 
       
  4906 
       
  4907 /(a+|b)+/
       
  4908     ab
       
  4909  0: ab
       
  4910  1: a
       
  4911 
       
  4912 /(a+|b){1,}/
       
  4913     ab
       
  4914  0: ab
       
  4915  1: a
       
  4916 
       
  4917 /(a+|b)?/
       
  4918     ab
       
  4919  0: a
       
  4920  1: 
       
  4921 
       
  4922 /(a+|b){0,1}/
       
  4923     ab
       
  4924  0: a
       
  4925  1: 
       
  4926 
       
  4927 /[^ab]*/
       
  4928     cde
       
  4929  0: cde
       
  4930  1: cd
       
  4931  2: c
       
  4932  3: 
       
  4933 
       
  4934 /abc/
       
  4935     *** Failers
       
  4936 No match
       
  4937     b
       
  4938 No match
       
  4939     
       
  4940 
       
  4941 /a*/
       
  4942     
       
  4943 
       
  4944 /([abc])*d/
       
  4945     abbbcd
       
  4946  0: abbbcd
       
  4947 
       
  4948 /([abc])*bcd/
       
  4949     abcd
       
  4950  0: abcd
       
  4951 
       
  4952 /a|b|c|d|e/
       
  4953     e
       
  4954  0: e
       
  4955 
       
  4956 /(a|b|c|d|e)f/
       
  4957     ef
       
  4958  0: ef
       
  4959 
       
  4960 /abcd*efg/
       
  4961     abcdefg
       
  4962  0: abcdefg
       
  4963 
       
  4964 /ab*/
       
  4965     xabyabbbz
       
  4966  0: ab
       
  4967  1: a
       
  4968     xayabbbz
       
  4969  0: a
       
  4970 
       
  4971 /(ab|cd)e/
       
  4972     abcde
       
  4973  0: cde
       
  4974 
       
  4975 /[abhgefdc]ij/
       
  4976     hij
       
  4977  0: hij
       
  4978 
       
  4979 /^(ab|cd)e/
       
  4980 
       
  4981 /(abc|)ef/
       
  4982     abcdef
       
  4983  0: ef
       
  4984 
       
  4985 /(a|b)c*d/
       
  4986     abcd
       
  4987  0: bcd
       
  4988 
       
  4989 /(ab|ab*)bc/
       
  4990     abc
       
  4991  0: abc
       
  4992 
       
  4993 /a([bc]*)c*/
       
  4994     abc
       
  4995  0: abc
       
  4996  1: ab
       
  4997  2: a
       
  4998 
       
  4999 /a([bc]*)(c*d)/
       
  5000     abcd
       
  5001  0: abcd
       
  5002 
       
  5003 /a([bc]+)(c*d)/
       
  5004     abcd
       
  5005  0: abcd
       
  5006 
       
  5007 /a([bc]*)(c+d)/
       
  5008     abcd
       
  5009  0: abcd
       
  5010 
       
  5011 /a[bcd]*dcdcde/
       
  5012     adcdcde
       
  5013  0: adcdcde
       
  5014 
       
  5015 /a[bcd]+dcdcde/
       
  5016     *** Failers
       
  5017 No match
       
  5018     abcde
       
  5019 No match
       
  5020     adcdcde
       
  5021 No match
       
  5022 
       
  5023 /(ab|a)b*c/
       
  5024     abc
       
  5025  0: abc
       
  5026 
       
  5027 /((a)(b)c)(d)/
       
  5028     abcd
       
  5029  0: abcd
       
  5030 
       
  5031 /[a-zA-Z_][a-zA-Z0-9_]*/
       
  5032     alpha
       
  5033  0: alpha
       
  5034  1: alph
       
  5035  2: alp
       
  5036  3: al
       
  5037  4: a
       
  5038 
       
  5039 /^a(bc+|b[eh])g|.h$/
       
  5040     abh
       
  5041  0: bh
       
  5042 
       
  5043 /(bc+d$|ef*g.|h?i(j|k))/
       
  5044     effgz
       
  5045  0: effgz
       
  5046     ij
       
  5047  0: ij
       
  5048     reffgz
       
  5049  0: effgz
       
  5050     *** Failers
       
  5051 No match
       
  5052     effg
       
  5053 No match
       
  5054     bcdd
       
  5055 No match
       
  5056 
       
  5057 /((((((((((a))))))))))/
       
  5058     a
       
  5059  0: a
       
  5060 
       
  5061 /(((((((((a)))))))))/
       
  5062     a
       
  5063  0: a
       
  5064 
       
  5065 /multiple words of text/
       
  5066     *** Failers
       
  5067 No match
       
  5068     aa
       
  5069 No match
       
  5070     uh-uh
       
  5071 No match
       
  5072 
       
  5073 /multiple words/
       
  5074     multiple words, yeah
       
  5075  0: multiple words
       
  5076 
       
  5077 /(.*)c(.*)/
       
  5078     abcde
       
  5079  0: abcde
       
  5080  1: abcd
       
  5081  2: abc
       
  5082 
       
  5083 /\((.*), (.*)\)/
       
  5084     (a, b)
       
  5085  0: (a, b)
       
  5086 
       
  5087 /[k]/
       
  5088 
       
  5089 /abcd/
       
  5090     abcd
       
  5091  0: abcd
       
  5092 
       
  5093 /a(bc)d/
       
  5094     abcd
       
  5095  0: abcd
       
  5096 
       
  5097 /a[-]?c/
       
  5098     ac
       
  5099  0: ac
       
  5100 
       
  5101 /abc/i
       
  5102     ABC
       
  5103  0: ABC
       
  5104     XABCY
       
  5105  0: ABC
       
  5106     ABABC
       
  5107  0: ABC
       
  5108     *** Failers
       
  5109 No match
       
  5110     aaxabxbaxbbx
       
  5111 No match
       
  5112     XBC
       
  5113 No match
       
  5114     AXC
       
  5115 No match
       
  5116     ABX
       
  5117 No match
       
  5118 
       
  5119 /ab*c/i
       
  5120     ABC
       
  5121  0: ABC
       
  5122 
       
  5123 /ab*bc/i
       
  5124     ABC
       
  5125  0: ABC
       
  5126     ABBC
       
  5127  0: ABBC
       
  5128 
       
  5129 /ab*?bc/i
       
  5130     ABBBBC
       
  5131  0: ABBBBC
       
  5132 
       
  5133 /ab{0,}?bc/i
       
  5134     ABBBBC
       
  5135  0: ABBBBC
       
  5136 
       
  5137 /ab+?bc/i
       
  5138     ABBC
       
  5139  0: ABBC
       
  5140 
       
  5141 /ab+bc/i
       
  5142     *** Failers
       
  5143 No match
       
  5144     ABC
       
  5145 No match
       
  5146     ABQ
       
  5147 No match
       
  5148 
       
  5149 /ab{1,}bc/i
       
  5150 
       
  5151 /ab+bc/i
       
  5152     ABBBBC
       
  5153  0: ABBBBC
       
  5154 
       
  5155 /ab{1,}?bc/i
       
  5156     ABBBBC
       
  5157  0: ABBBBC
       
  5158 
       
  5159 /ab{1,3}?bc/i
       
  5160     ABBBBC
       
  5161  0: ABBBBC
       
  5162 
       
  5163 /ab{3,4}?bc/i
       
  5164     ABBBBC
       
  5165  0: ABBBBC
       
  5166 
       
  5167 /ab{4,5}?bc/i
       
  5168     *** Failers
       
  5169 No match
       
  5170     ABQ
       
  5171 No match
       
  5172     ABBBBC
       
  5173 No match
       
  5174 
       
  5175 /ab??bc/i
       
  5176     ABBC
       
  5177  0: ABBC
       
  5178     ABC
       
  5179  0: ABC
       
  5180 
       
  5181 /ab{0,1}?bc/i
       
  5182     ABC
       
  5183  0: ABC
       
  5184 
       
  5185 /ab??bc/i
       
  5186 
       
  5187 /ab??c/i
       
  5188     ABC
       
  5189  0: ABC
       
  5190 
       
  5191 /ab{0,1}?c/i
       
  5192     ABC
       
  5193  0: ABC
       
  5194 
       
  5195 /^abc$/i
       
  5196     ABC
       
  5197  0: ABC
       
  5198     *** Failers
       
  5199 No match
       
  5200     ABBBBC
       
  5201 No match
       
  5202     ABCC
       
  5203 No match
       
  5204 
       
  5205 /^abc/i
       
  5206     ABCC
       
  5207  0: ABC
       
  5208 
       
  5209 /^abc$/i
       
  5210 
       
  5211 /abc$/i
       
  5212     AABC
       
  5213  0: ABC
       
  5214 
       
  5215 /^/i
       
  5216     ABC
       
  5217  0: 
       
  5218 
       
  5219 /$/i
       
  5220     ABC
       
  5221  0: 
       
  5222 
       
  5223 /a.c/i
       
  5224     ABC
       
  5225  0: ABC
       
  5226     AXC
       
  5227  0: AXC
       
  5228 
       
  5229 /a.*?c/i
       
  5230     AXYZC
       
  5231  0: AXYZC
       
  5232 
       
  5233 /a.*c/i
       
  5234     *** Failers
       
  5235 No match
       
  5236     AABC
       
  5237  0: AABC
       
  5238     AXYZD
       
  5239 No match
       
  5240 
       
  5241 /a[bc]d/i
       
  5242     ABD
       
  5243  0: ABD
       
  5244 
       
  5245 /a[b-d]e/i
       
  5246     ACE
       
  5247  0: ACE
       
  5248     *** Failers
       
  5249 No match
       
  5250     ABC
       
  5251 No match
       
  5252     ABD
       
  5253 No match
       
  5254 
       
  5255 /a[b-d]/i
       
  5256     AAC
       
  5257  0: AC
       
  5258 
       
  5259 /a[-b]/i
       
  5260     A-
       
  5261  0: A-
       
  5262 
       
  5263 /a[b-]/i
       
  5264     A-
       
  5265  0: A-
       
  5266 
       
  5267 /a]/i
       
  5268     A]
       
  5269  0: A]
       
  5270 
       
  5271 /a[]]b/i
       
  5272     A]B
       
  5273  0: A]B
       
  5274 
       
  5275 /a[^bc]d/i
       
  5276     AED
       
  5277  0: AED
       
  5278 
       
  5279 /a[^-b]c/i
       
  5280     ADC
       
  5281  0: ADC
       
  5282     *** Failers
       
  5283 No match
       
  5284     ABD
       
  5285 No match
       
  5286     A-C
       
  5287 No match
       
  5288 
       
  5289 /a[^]b]c/i
       
  5290     ADC
       
  5291  0: ADC
       
  5292 
       
  5293 /ab|cd/i
       
  5294     ABC
       
  5295  0: AB
       
  5296     ABCD
       
  5297  0: AB
       
  5298 
       
  5299 /()ef/i
       
  5300     DEF
       
  5301  0: EF
       
  5302 
       
  5303 /$b/i
       
  5304     *** Failers
       
  5305 No match
       
  5306     A]C
       
  5307 No match
       
  5308     B
       
  5309 No match
       
  5310 
       
  5311 /a\(b/i
       
  5312     A(B
       
  5313  0: A(B
       
  5314 
       
  5315 /a\(*b/i
       
  5316     AB
       
  5317  0: AB
       
  5318     A((B
       
  5319  0: A((B
       
  5320 
       
  5321 /a\\b/i
       
  5322     A\B
       
  5323 No match
       
  5324 
       
  5325 /((a))/i
       
  5326     ABC
       
  5327  0: A
       
  5328 
       
  5329 /(a)b(c)/i
       
  5330     ABC
       
  5331  0: ABC
       
  5332 
       
  5333 /a+b+c/i
       
  5334     AABBABC
       
  5335  0: ABC
       
  5336 
       
  5337 /a{1,}b{1,}c/i
       
  5338     AABBABC
       
  5339  0: ABC
       
  5340 
       
  5341 /a.+?c/i
       
  5342     ABCABC
       
  5343  0: ABCABC
       
  5344  1: ABC
       
  5345 
       
  5346 /a.*?c/i
       
  5347     ABCABC
       
  5348  0: ABCABC
       
  5349  1: ABC
       
  5350 
       
  5351 /a.{0,5}?c/i
       
  5352     ABCABC
       
  5353  0: ABCABC
       
  5354  1: ABC
       
  5355 
       
  5356 /(a+|b)*/i
       
  5357     AB
       
  5358  0: AB
       
  5359  1: A
       
  5360  2: 
       
  5361 
       
  5362 /(a+|b){0,}/i
       
  5363     AB
       
  5364  0: AB
       
  5365  1: A
       
  5366  2: 
       
  5367 
       
  5368 /(a+|b)+/i
       
  5369     AB
       
  5370  0: AB
       
  5371  1: A
       
  5372 
       
  5373 /(a+|b){1,}/i
       
  5374     AB
       
  5375  0: AB
       
  5376  1: A
       
  5377 
       
  5378 /(a+|b)?/i
       
  5379     AB
       
  5380  0: A
       
  5381  1: 
       
  5382 
       
  5383 /(a+|b){0,1}/i
       
  5384     AB
       
  5385  0: A
       
  5386  1: 
       
  5387 
       
  5388 /(a+|b){0,1}?/i
       
  5389     AB
       
  5390  0: A
       
  5391  1: 
       
  5392 
       
  5393 /[^ab]*/i
       
  5394     CDE
       
  5395  0: CDE
       
  5396  1: CD
       
  5397  2: C
       
  5398  3: 
       
  5399 
       
  5400 /abc/i
       
  5401 
       
  5402 /a*/i
       
  5403     
       
  5404 
       
  5405 /([abc])*d/i
       
  5406     ABBBCD
       
  5407  0: ABBBCD
       
  5408 
       
  5409 /([abc])*bcd/i
       
  5410     ABCD
       
  5411  0: ABCD
       
  5412 
       
  5413 /a|b|c|d|e/i
       
  5414     E
       
  5415  0: E
       
  5416 
       
  5417 /(a|b|c|d|e)f/i
       
  5418     EF
       
  5419  0: EF
       
  5420 
       
  5421 /abcd*efg/i
       
  5422     ABCDEFG
       
  5423  0: ABCDEFG
       
  5424 
       
  5425 /ab*/i
       
  5426     XABYABBBZ
       
  5427  0: AB
       
  5428  1: A
       
  5429     XAYABBBZ
       
  5430  0: A
       
  5431 
       
  5432 /(ab|cd)e/i
       
  5433     ABCDE
       
  5434  0: CDE
       
  5435 
       
  5436 /[abhgefdc]ij/i
       
  5437     HIJ
       
  5438  0: HIJ
       
  5439 
       
  5440 /^(ab|cd)e/i
       
  5441     ABCDE
       
  5442 No match
       
  5443 
       
  5444 /(abc|)ef/i
       
  5445     ABCDEF
       
  5446  0: EF
       
  5447 
       
  5448 /(a|b)c*d/i
       
  5449     ABCD
       
  5450  0: BCD
       
  5451 
       
  5452 /(ab|ab*)bc/i
       
  5453     ABC
       
  5454  0: ABC
       
  5455 
       
  5456 /a([bc]*)c*/i
       
  5457     ABC
       
  5458  0: ABC
       
  5459  1: AB
       
  5460  2: A
       
  5461 
       
  5462 /a([bc]*)(c*d)/i
       
  5463     ABCD
       
  5464  0: ABCD
       
  5465 
       
  5466 /a([bc]+)(c*d)/i
       
  5467     ABCD
       
  5468  0: ABCD
       
  5469 
       
  5470 /a([bc]*)(c+d)/i
       
  5471     ABCD
       
  5472  0: ABCD
       
  5473 
       
  5474 /a[bcd]*dcdcde/i
       
  5475     ADCDCDE
       
  5476  0: ADCDCDE
       
  5477 
       
  5478 /a[bcd]+dcdcde/i
       
  5479 
       
  5480 /(ab|a)b*c/i
       
  5481     ABC
       
  5482  0: ABC
       
  5483 
       
  5484 /((a)(b)c)(d)/i
       
  5485     ABCD
       
  5486  0: ABCD
       
  5487 
       
  5488 /[a-zA-Z_][a-zA-Z0-9_]*/i
       
  5489     ALPHA
       
  5490  0: ALPHA
       
  5491  1: ALPH
       
  5492  2: ALP
       
  5493  3: AL
       
  5494  4: A
       
  5495 
       
  5496 /^a(bc+|b[eh])g|.h$/i
       
  5497     ABH
       
  5498  0: BH
       
  5499 
       
  5500 /(bc+d$|ef*g.|h?i(j|k))/i
       
  5501     EFFGZ
       
  5502  0: EFFGZ
       
  5503     IJ
       
  5504  0: IJ
       
  5505     REFFGZ
       
  5506  0: EFFGZ
       
  5507     *** Failers
       
  5508 No match
       
  5509     ADCDCDE
       
  5510 No match
       
  5511     EFFG
       
  5512 No match
       
  5513     BCDD
       
  5514 No match
       
  5515 
       
  5516 /((((((((((a))))))))))/i
       
  5517     A
       
  5518  0: A
       
  5519 
       
  5520 /(((((((((a)))))))))/i
       
  5521     A
       
  5522  0: A
       
  5523 
       
  5524 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
       
  5525     A
       
  5526  0: A
       
  5527 
       
  5528 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
       
  5529     C
       
  5530  0: C
       
  5531 
       
  5532 /multiple words of text/i
       
  5533     *** Failers
       
  5534 No match
       
  5535     AA
       
  5536 No match
       
  5537     UH-UH
       
  5538 No match
       
  5539 
       
  5540 /multiple words/i
       
  5541     MULTIPLE WORDS, YEAH
       
  5542  0: MULTIPLE WORDS
       
  5543 
       
  5544 /(.*)c(.*)/i
       
  5545     ABCDE
       
  5546  0: ABCDE
       
  5547  1: ABCD
       
  5548  2: ABC
       
  5549 
       
  5550 /\((.*), (.*)\)/i
       
  5551     (A, B)
       
  5552  0: (A, B)
       
  5553 
       
  5554 /[k]/i
       
  5555 
       
  5556 /abcd/i
       
  5557     ABCD
       
  5558  0: ABCD
       
  5559 
       
  5560 /a(bc)d/i
       
  5561     ABCD
       
  5562  0: ABCD
       
  5563 
       
  5564 /a[-]?c/i
       
  5565     AC
       
  5566  0: AC
       
  5567 
       
  5568 /a(?!b)./
       
  5569     abad
       
  5570  0: ad
       
  5571 
       
  5572 /a(?=d)./
       
  5573     abad
       
  5574  0: ad
       
  5575 
       
  5576 /a(?=c|d)./
       
  5577     abad
       
  5578  0: ad
       
  5579 
       
  5580 /a(?:b|c|d)(.)/
       
  5581     ace
       
  5582  0: ace
       
  5583 
       
  5584 /a(?:b|c|d)*(.)/
       
  5585     ace
       
  5586  0: ace
       
  5587  1: ac
       
  5588 
       
  5589 /a(?:b|c|d)+?(.)/
       
  5590     ace
       
  5591  0: ace
       
  5592     acdbcdbe
       
  5593  0: acdbcdbe
       
  5594  1: acdbcdb
       
  5595  2: acdbcd
       
  5596  3: acdbc
       
  5597  4: acdb
       
  5598  5: acd
       
  5599 
       
  5600 /a(?:b|c|d)+(.)/
       
  5601     acdbcdbe
       
  5602  0: acdbcdbe
       
  5603  1: acdbcdb
       
  5604  2: acdbcd
       
  5605  3: acdbc
       
  5606  4: acdb
       
  5607  5: acd
       
  5608 
       
  5609 /a(?:b|c|d){2}(.)/
       
  5610     acdbcdbe
       
  5611  0: acdb
       
  5612 
       
  5613 /a(?:b|c|d){4,5}(.)/
       
  5614     acdbcdbe
       
  5615  0: acdbcdb
       
  5616  1: acdbcd
       
  5617 
       
  5618 /a(?:b|c|d){4,5}?(.)/
       
  5619     acdbcdbe
       
  5620  0: acdbcdb
       
  5621  1: acdbcd
       
  5622 
       
  5623 /((foo)|(bar))*/
       
  5624     foobar
       
  5625  0: foobar
       
  5626  1: foo
       
  5627  2: 
       
  5628 
       
  5629 /a(?:b|c|d){6,7}(.)/
       
  5630     acdbcdbe
       
  5631  0: acdbcdbe
       
  5632 
       
  5633 /a(?:b|c|d){6,7}?(.)/
       
  5634     acdbcdbe
       
  5635  0: acdbcdbe
       
  5636 
       
  5637 /a(?:b|c|d){5,6}(.)/
       
  5638     acdbcdbe
       
  5639  0: acdbcdbe
       
  5640  1: acdbcdb
       
  5641 
       
  5642 /a(?:b|c|d){5,6}?(.)/
       
  5643     acdbcdbe
       
  5644  0: acdbcdbe
       
  5645  1: acdbcdb
       
  5646 
       
  5647 /a(?:b|c|d){5,7}(.)/
       
  5648     acdbcdbe
       
  5649  0: acdbcdbe
       
  5650  1: acdbcdb
       
  5651 
       
  5652 /a(?:b|c|d){5,7}?(.)/
       
  5653     acdbcdbe
       
  5654  0: acdbcdbe
       
  5655  1: acdbcdb
       
  5656 
       
  5657 /a(?:b|(c|e){1,2}?|d)+?(.)/
       
  5658     ace
       
  5659  0: ace
       
  5660 
       
  5661 /^(.+)?B/
       
  5662     AB
       
  5663  0: AB
       
  5664 
       
  5665 /^([^a-z])|(\^)$/
       
  5666     .
       
  5667  0: .
       
  5668 
       
  5669 /^[<>]&/
       
  5670     <&OUT
       
  5671  0: <&
       
  5672 
       
  5673 /(?:(f)(o)(o)|(b)(a)(r))*/
       
  5674     foobar
       
  5675  0: foobar
       
  5676  1: foo
       
  5677  2: 
       
  5678 
       
  5679 /(?<=a)b/
       
  5680     ab
       
  5681  0: b
       
  5682     *** Failers
       
  5683 No match
       
  5684     cb
       
  5685 No match
       
  5686     b
       
  5687 No match
       
  5688 
       
  5689 /(?<!c)b/
       
  5690     ab
       
  5691  0: b
       
  5692     b
       
  5693  0: b
       
  5694     b
       
  5695  0: b
       
  5696 
       
  5697 /(?:..)*a/
       
  5698     aba
       
  5699  0: aba
       
  5700  1: a
       
  5701 
       
  5702 /(?:..)*?a/
       
  5703     aba
       
  5704  0: aba
       
  5705  1: a
       
  5706 
       
  5707 /^(){3,5}/
       
  5708     abc
       
  5709  0: 
       
  5710 
       
  5711 /^(a+)*ax/
       
  5712     aax
       
  5713  0: aax
       
  5714 
       
  5715 /^((a|b)+)*ax/
       
  5716     aax
       
  5717  0: aax
       
  5718 
       
  5719 /^((a|bc)+)*ax/
       
  5720     aax
       
  5721  0: aax
       
  5722 
       
  5723 /(a|x)*ab/
       
  5724     cab
       
  5725  0: ab
       
  5726 
       
  5727 /(a)*ab/
       
  5728     cab
       
  5729  0: ab
       
  5730 
       
  5731 /(?:(?i)a)b/
       
  5732     ab
       
  5733  0: ab
       
  5734 
       
  5735 /((?i)a)b/
       
  5736     ab
       
  5737  0: ab
       
  5738 
       
  5739 /(?:(?i)a)b/
       
  5740     Ab
       
  5741  0: Ab
       
  5742 
       
  5743 /((?i)a)b/
       
  5744     Ab
       
  5745  0: Ab
       
  5746 
       
  5747 /(?:(?i)a)b/
       
  5748     *** Failers
       
  5749 No match
       
  5750     cb
       
  5751 No match
       
  5752     aB
       
  5753 No match
       
  5754 
       
  5755 /((?i)a)b/
       
  5756 
       
  5757 /(?i:a)b/
       
  5758     ab
       
  5759  0: ab
       
  5760 
       
  5761 /((?i:a))b/
       
  5762     ab
       
  5763  0: ab
       
  5764 
       
  5765 /(?i:a)b/
       
  5766     Ab
       
  5767  0: Ab
       
  5768 
       
  5769 /((?i:a))b/
       
  5770     Ab
       
  5771  0: Ab
       
  5772 
       
  5773 /(?i:a)b/
       
  5774     *** Failers
       
  5775 No match
       
  5776     aB
       
  5777 No match
       
  5778     aB
       
  5779 No match
       
  5780 
       
  5781 /((?i:a))b/
       
  5782 
       
  5783 /(?:(?-i)a)b/i
       
  5784     ab
       
  5785  0: ab
       
  5786 
       
  5787 /((?-i)a)b/i
       
  5788     ab
       
  5789  0: ab
       
  5790 
       
  5791 /(?:(?-i)a)b/i
       
  5792     aB
       
  5793  0: aB
       
  5794 
       
  5795 /((?-i)a)b/i
       
  5796     aB
       
  5797  0: aB
       
  5798 
       
  5799 /(?:(?-i)a)b/i
       
  5800     *** Failers
       
  5801 No match
       
  5802     aB
       
  5803  0: aB
       
  5804     Ab
       
  5805 No match
       
  5806 
       
  5807 /((?-i)a)b/i
       
  5808 
       
  5809 /(?:(?-i)a)b/i
       
  5810     aB
       
  5811  0: aB
       
  5812 
       
  5813 /((?-i)a)b/i
       
  5814     aB
       
  5815  0: aB
       
  5816 
       
  5817 /(?:(?-i)a)b/i
       
  5818     *** Failers
       
  5819 No match
       
  5820     Ab
       
  5821 No match
       
  5822     AB
       
  5823 No match
       
  5824 
       
  5825 /((?-i)a)b/i
       
  5826 
       
  5827 /(?-i:a)b/i
       
  5828     ab
       
  5829  0: ab
       
  5830 
       
  5831 /((?-i:a))b/i
       
  5832     ab
       
  5833  0: ab
       
  5834 
       
  5835 /(?-i:a)b/i
       
  5836     aB
       
  5837  0: aB
       
  5838 
       
  5839 /((?-i:a))b/i
       
  5840     aB
       
  5841  0: aB
       
  5842 
       
  5843 /(?-i:a)b/i
       
  5844     *** Failers
       
  5845 No match
       
  5846     AB
       
  5847 No match
       
  5848     Ab
       
  5849 No match
       
  5850 
       
  5851 /((?-i:a))b/i
       
  5852 
       
  5853 /(?-i:a)b/i
       
  5854     aB
       
  5855  0: aB
       
  5856 
       
  5857 /((?-i:a))b/i
       
  5858     aB
       
  5859  0: aB
       
  5860 
       
  5861 /(?-i:a)b/i
       
  5862     *** Failers
       
  5863 No match
       
  5864     Ab
       
  5865 No match
       
  5866     AB
       
  5867 No match
       
  5868 
       
  5869 /((?-i:a))b/i
       
  5870 
       
  5871 /((?-i:a.))b/i
       
  5872     *** Failers
       
  5873 No match
       
  5874     AB
       
  5875 No match
       
  5876     a\nB
       
  5877 No match
       
  5878 
       
  5879 /((?s-i:a.))b/i
       
  5880     a\nB
       
  5881  0: a\x0aB
       
  5882 
       
  5883 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
       
  5884     cabbbb
       
  5885  0: cabbbb
       
  5886 
       
  5887 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
       
  5888     caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
       
  5889  0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
       
  5890 
       
  5891 /foo\w*\d{4}baz/
       
  5892     foobar1234baz
       
  5893  0: foobar1234baz
       
  5894 
       
  5895 /x(~~)*(?:(?:F)?)?/
       
  5896     x~~
       
  5897  0: x~~
       
  5898  1: x
       
  5899 
       
  5900 /^a(?#xxx){3}c/
       
  5901     aaac
       
  5902  0: aaac
       
  5903 
       
  5904 /^a (?#xxx) (?#yyy) {3}c/x
       
  5905     aaac
       
  5906  0: aaac
       
  5907 
       
  5908 /(?<![cd])b/
       
  5909     *** Failers
       
  5910 No match
       
  5911     B\nB
       
  5912 No match
       
  5913     dbcb
       
  5914 No match
       
  5915 
       
  5916 /(?<![cd])[ab]/
       
  5917     dbaacb
       
  5918  0: a
       
  5919 
       
  5920 /(?<!(c|d))b/
       
  5921 
       
  5922 /(?<!(c|d))[ab]/
       
  5923     dbaacb
       
  5924  0: a
       
  5925 
       
  5926 /(?<!cd)[ab]/
       
  5927     cdaccb
       
  5928  0: b
       
  5929 
       
  5930 /^(?:a?b?)*$/
       
  5931     *** Failers
       
  5932 No match
       
  5933     dbcb
       
  5934 No match
       
  5935     a--
       
  5936 No match
       
  5937 
       
  5938 /((?s)^a(.))((?m)^b$)/
       
  5939     a\nb\nc\n
       
  5940  0: a\x0ab
       
  5941 
       
  5942 /((?m)^b$)/
       
  5943     a\nb\nc\n
       
  5944  0: b
       
  5945 
       
  5946 /(?m)^b/
       
  5947     a\nb\n
       
  5948  0: b
       
  5949 
       
  5950 /(?m)^(b)/
       
  5951     a\nb\n
       
  5952  0: b
       
  5953 
       
  5954 /((?m)^b)/
       
  5955     a\nb\n
       
  5956  0: b
       
  5957 
       
  5958 /\n((?m)^b)/
       
  5959     a\nb\n
       
  5960  0: \x0ab
       
  5961 
       
  5962 /((?s).)c(?!.)/
       
  5963     a\nb\nc\n
       
  5964  0: \x0ac
       
  5965     a\nb\nc\n
       
  5966  0: \x0ac
       
  5967 
       
  5968 /((?s)b.)c(?!.)/
       
  5969     a\nb\nc\n
       
  5970  0: b\x0ac
       
  5971     a\nb\nc\n
       
  5972  0: b\x0ac
       
  5973 
       
  5974 /^b/
       
  5975 
       
  5976 /()^b/
       
  5977     *** Failers
       
  5978 No match
       
  5979     a\nb\nc\n
       
  5980 No match
       
  5981     a\nb\nc\n
       
  5982 No match
       
  5983 
       
  5984 /((?m)^b)/
       
  5985     a\nb\nc\n
       
  5986  0: b
       
  5987 
       
  5988 /(?(?!a)a|b)/
       
  5989 
       
  5990 /(?(?!a)b|a)/
       
  5991     a
       
  5992  0: a
       
  5993 
       
  5994 /(?(?=a)b|a)/
       
  5995     *** Failers
       
  5996 No match
       
  5997     a
       
  5998 No match
       
  5999     a
       
  6000 No match
       
  6001 
       
  6002 /(?(?=a)a|b)/
       
  6003     a
       
  6004  0: a
       
  6005 
       
  6006 /(\w+:)+/
       
  6007     one:
       
  6008  0: one:
       
  6009 
       
  6010 /$(?<=^(a))/
       
  6011     a
       
  6012  0: 
       
  6013 
       
  6014 /([\w:]+::)?(\w+)$/
       
  6015     abcd
       
  6016  0: abcd
       
  6017     xy:z:::abcd
       
  6018  0: xy:z:::abcd
       
  6019 
       
  6020 /^[^bcd]*(c+)/
       
  6021     aexycd
       
  6022  0: aexyc
       
  6023 
       
  6024 /(a*)b+/
       
  6025     caab
       
  6026  0: aab
       
  6027 
       
  6028 /([\w:]+::)?(\w+)$/
       
  6029     abcd
       
  6030  0: abcd
       
  6031     xy:z:::abcd
       
  6032  0: xy:z:::abcd
       
  6033     *** Failers
       
  6034  0: Failers
       
  6035     abcd:
       
  6036 No match
       
  6037     abcd:
       
  6038 No match
       
  6039 
       
  6040 /^[^bcd]*(c+)/
       
  6041     aexycd
       
  6042  0: aexyc
       
  6043 
       
  6044 /(>a+)ab/
       
  6045 
       
  6046 /(?>a+)b/
       
  6047     aaab
       
  6048  0: aaab
       
  6049 
       
  6050 /([[:]+)/
       
  6051     a:[b]:
       
  6052  0: :[
       
  6053  1: :
       
  6054 
       
  6055 /([[=]+)/
       
  6056     a=[b]=
       
  6057  0: =[
       
  6058  1: =
       
  6059 
       
  6060 /([[.]+)/
       
  6061     a.[b].
       
  6062  0: .[
       
  6063  1: .
       
  6064 
       
  6065 /((?>a+)b)/
       
  6066     aaab
       
  6067  0: aaab
       
  6068 
       
  6069 /(?>(a+))b/
       
  6070     aaab
       
  6071  0: aaab
       
  6072 
       
  6073 /((?>[^()]+)|\([^()]*\))+/
       
  6074     ((abc(ade)ufh()()x
       
  6075  0: abc(ade)ufh()()x
       
  6076  1: abc(ade)ufh()()
       
  6077  2: abc(ade)ufh()
       
  6078  3: abc(ade)ufh
       
  6079  4: abc(ade)
       
  6080  5: abc
       
  6081 
       
  6082 /a\Z/
       
  6083     *** Failers
       
  6084 No match
       
  6085     aaab
       
  6086 No match
       
  6087     a\nb\n
       
  6088 No match
       
  6089 
       
  6090 /b\Z/
       
  6091     a\nb\n
       
  6092  0: b
       
  6093 
       
  6094 /b\z/
       
  6095 
       
  6096 /b\Z/
       
  6097     a\nb
       
  6098  0: b
       
  6099 
       
  6100 /b\z/
       
  6101     a\nb
       
  6102  0: b
       
  6103     *** Failers
       
  6104 No match
       
  6105     
       
  6106 /(?>.*)(?<=(abcd|wxyz))/
       
  6107     alphabetabcd
       
  6108  0: alphabetabcd
       
  6109     endingwxyz
       
  6110  0: endingwxyz
       
  6111     *** Failers
       
  6112 No match
       
  6113     a rather long string that doesn't end with one of them
       
  6114 No match
       
  6115 
       
  6116 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
       
  6117     word cat dog elephant mussel cow horse canary baboon snake shark otherword
       
  6118  0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
       
  6119     word cat dog elephant mussel cow horse canary baboon snake shark
       
  6120 No match
       
  6121   
       
  6122 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
       
  6123     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
       
  6124 No match
       
  6125 
       
  6126 /(?<=\d{3}(?!999))foo/
       
  6127     999foo
       
  6128  0: foo
       
  6129     123999foo 
       
  6130  0: foo
       
  6131     *** Failers
       
  6132 No match
       
  6133     123abcfoo
       
  6134 No match
       
  6135     
       
  6136 /(?<=(?!...999)\d{3})foo/
       
  6137     999foo
       
  6138  0: foo
       
  6139     123999foo 
       
  6140  0: foo
       
  6141     *** Failers
       
  6142 No match
       
  6143     123abcfoo
       
  6144 No match
       
  6145 
       
  6146 /(?<=\d{3}(?!999)...)foo/
       
  6147     123abcfoo
       
  6148  0: foo
       
  6149     123456foo 
       
  6150  0: foo
       
  6151     *** Failers
       
  6152 No match
       
  6153     123999foo  
       
  6154 No match
       
  6155     
       
  6156 /(?<=\d{3}...)(?<!999)foo/
       
  6157     123abcfoo   
       
  6158  0: foo
       
  6159     123456foo 
       
  6160  0: foo
       
  6161     *** Failers
       
  6162 No match
       
  6163     123999foo  
       
  6164 No match
       
  6165 
       
  6166 /((Z)+|A)*/
       
  6167     ZABCDEFG
       
  6168  0: ZA
       
  6169  1: Z
       
  6170  2: 
       
  6171 
       
  6172 /(Z()|A)*/
       
  6173     ZABCDEFG
       
  6174  0: ZA
       
  6175  1: Z
       
  6176  2: 
       
  6177 
       
  6178 /(Z(())|A)*/
       
  6179     ZABCDEFG
       
  6180  0: ZA
       
  6181  1: Z
       
  6182  2: 
       
  6183 
       
  6184 /((?>Z)+|A)*/
       
  6185     ZABCDEFG
       
  6186  0: ZA
       
  6187  1: Z
       
  6188  2: 
       
  6189 
       
  6190 /((?>)+|A)*/
       
  6191     ZABCDEFG
       
  6192  0: 
       
  6193 
       
  6194 /a*/g
       
  6195     abbab
       
  6196  0: a
       
  6197  1: 
       
  6198  0: 
       
  6199  0: 
       
  6200  0: a
       
  6201  1: 
       
  6202  0: 
       
  6203  0: 
       
  6204 
       
  6205 /^[a-\d]/
       
  6206     abcde
       
  6207  0: a
       
  6208     -things
       
  6209  0: -
       
  6210     0digit
       
  6211  0: 0
       
  6212     *** Failers
       
  6213 No match
       
  6214     bcdef    
       
  6215 No match
       
  6216 
       
  6217 /^[\d-a]/
       
  6218     abcde
       
  6219  0: a
       
  6220     -things
       
  6221  0: -
       
  6222     0digit
       
  6223  0: 0
       
  6224     *** Failers
       
  6225 No match
       
  6226     bcdef    
       
  6227 No match
       
  6228     
       
  6229 /[[:space:]]+/
       
  6230     > \x09\x0a\x0c\x0d\x0b<
       
  6231  0:  \x09\x0a\x0c\x0d\x0b
       
  6232  1:  \x09\x0a\x0c\x0d
       
  6233  2:  \x09\x0a\x0c
       
  6234  3:  \x09\x0a
       
  6235  4:  \x09
       
  6236  5:  
       
  6237      
       
  6238 /[[:blank:]]+/
       
  6239     > \x09\x0a\x0c\x0d\x0b<
       
  6240  0:  \x09
       
  6241  1:  
       
  6242      
       
  6243 /[\s]+/
       
  6244     > \x09\x0a\x0c\x0d\x0b<
       
  6245  0:  \x09\x0a\x0c\x0d
       
  6246  1:  \x09\x0a\x0c
       
  6247  2:  \x09\x0a
       
  6248  3:  \x09
       
  6249  4:  
       
  6250      
       
  6251 /\s+/
       
  6252     > \x09\x0a\x0c\x0d\x0b<
       
  6253  0:  \x09\x0a\x0c\x0d
       
  6254  1:  \x09\x0a\x0c
       
  6255  2:  \x09\x0a
       
  6256  3:  \x09
       
  6257  4:  
       
  6258      
       
  6259 /ab/x
       
  6260     ab
       
  6261 No match
       
  6262 
       
  6263 /(?!\A)x/m
       
  6264   a\nxb\n
       
  6265  0: x
       
  6266 
       
  6267 /(?!^)x/m
       
  6268   a\nxb\n
       
  6269 No match
       
  6270 
       
  6271 /abc\Qabc\Eabc/
       
  6272     abcabcabc
       
  6273  0: abcabcabc
       
  6274     
       
  6275 /abc\Q(*+|\Eabc/
       
  6276     abc(*+|abc 
       
  6277  0: abc(*+|abc
       
  6278 
       
  6279 /   abc\Q abc\Eabc/x
       
  6280     abc abcabc
       
  6281  0: abc abcabc
       
  6282     *** Failers
       
  6283 No match
       
  6284     abcabcabc  
       
  6285 No match
       
  6286     
       
  6287 /abc#comment
       
  6288     \Q#not comment
       
  6289     literal\E/x
       
  6290     abc#not comment\n    literal     
       
  6291  0: abc#not comment\x0a    literal
       
  6292 
       
  6293 /abc#comment
       
  6294     \Q#not comment
       
  6295     literal/x
       
  6296     abc#not comment\n    literal     
       
  6297  0: abc#not comment\x0a    literal
       
  6298 
       
  6299 /abc#comment
       
  6300     \Q#not comment
       
  6301     literal\E #more comment
       
  6302     /x
       
  6303     abc#not comment\n    literal     
       
  6304  0: abc#not comment\x0a    literal
       
  6305 
       
  6306 /abc#comment
       
  6307     \Q#not comment
       
  6308     literal\E #more comment/x
       
  6309     abc#not comment\n    literal     
       
  6310  0: abc#not comment\x0a    literal
       
  6311 
       
  6312 /\Qabc\$xyz\E/
       
  6313     abc\\\$xyz
       
  6314  0: abc\$xyz
       
  6315 
       
  6316 /\Qabc\E\$\Qxyz\E/
       
  6317     abc\$xyz
       
  6318  0: abc$xyz
       
  6319 
       
  6320 /\Gabc/
       
  6321     abc
       
  6322  0: abc
       
  6323     *** Failers
       
  6324 No match
       
  6325     xyzabc  
       
  6326 No match
       
  6327 
       
  6328 /\Gabc./g
       
  6329     abc1abc2xyzabc3
       
  6330  0: abc1
       
  6331  0: abc2
       
  6332 
       
  6333 /abc./g
       
  6334     abc1abc2xyzabc3 
       
  6335  0: abc1
       
  6336  0: abc2
       
  6337  0: abc3
       
  6338 
       
  6339 /a(?x: b c )d/
       
  6340     XabcdY
       
  6341  0: abcd
       
  6342     *** Failers 
       
  6343 No match
       
  6344     Xa b c d Y 
       
  6345 No match
       
  6346 
       
  6347 /((?x)x y z | a b c)/
       
  6348     XabcY
       
  6349  0: abc
       
  6350     AxyzB 
       
  6351  0: xyz
       
  6352 
       
  6353 /(?i)AB(?-i)C/
       
  6354     XabCY
       
  6355  0: abC
       
  6356     *** Failers
       
  6357 No match
       
  6358     XabcY  
       
  6359 No match
       
  6360 
       
  6361 /((?i)AB(?-i)C|D)E/
       
  6362     abCE
       
  6363  0: abCE
       
  6364     DE
       
  6365  0: DE
       
  6366     *** Failers
       
  6367 No match
       
  6368     abcE
       
  6369 No match
       
  6370     abCe  
       
  6371 No match
       
  6372     dE
       
  6373 No match
       
  6374     De    
       
  6375 No match
       
  6376 
       
  6377 /[z\Qa-d]\E]/
       
  6378     z
       
  6379  0: z
       
  6380     a
       
  6381  0: a
       
  6382     -
       
  6383  0: -
       
  6384     d
       
  6385  0: d
       
  6386     ] 
       
  6387  0: ]
       
  6388     *** Failers
       
  6389  0: a
       
  6390     b     
       
  6391 No match
       
  6392 
       
  6393 /[\z\C]/
       
  6394     z
       
  6395  0: z
       
  6396     C 
       
  6397  0: C
       
  6398     
       
  6399 /\M/
       
  6400     M 
       
  6401  0: M
       
  6402     
       
  6403 /(a+)*b/
       
  6404     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
       
  6405 No match
       
  6406     
       
  6407 /(?i)reg(?:ul(?:[aä]|ae)r|ex)/
       
  6408     REGular
       
  6409  0: REGular
       
  6410     regulaer
       
  6411  0: regulaer
       
  6412     Regex  
       
  6413  0: Regex
       
  6414     regulär 
       
  6415  0: regul\xe4r
       
  6416 
       
  6417 /Åæåä[à-ÿÀ-ß]+/
       
  6418     Åæåäà
       
  6419  0: \xc5\xe6\xe5\xe4\xe0
       
  6420     Åæåäÿ
       
  6421  0: \xc5\xe6\xe5\xe4\xff
       
  6422     ÅæåäÀ
       
  6423  0: \xc5\xe6\xe5\xe4\xc0
       
  6424     Åæåäß
       
  6425  0: \xc5\xe6\xe5\xe4\xdf
       
  6426 
       
  6427 /(?<=Z)X./
       
  6428     \x84XAZXB
       
  6429  0: XB
       
  6430 
       
  6431 /^(?(2)a|(1)(2))+$/
       
  6432     123a
       
  6433 Error -17
       
  6434 
       
  6435 /(?<=a|bbbb)c/
       
  6436     ac
       
  6437  0: c
       
  6438     bbbbc
       
  6439  0: c
       
  6440 
       
  6441 /abc/>testsavedregex
       
  6442 Compiled regex written to testsavedregex
       
  6443 <testsavedregex
       
  6444 Compiled regex loaded from testsavedregex
       
  6445 No study data
       
  6446     abc
       
  6447  0: abc
       
  6448     *** Failers
       
  6449 No match
       
  6450     bca
       
  6451 No match
       
  6452     
       
  6453 /abc/F>testsavedregex
       
  6454 Compiled regex written to testsavedregex
       
  6455 <testsavedregex
       
  6456 Compiled regex (byte-inverted) loaded from testsavedregex
       
  6457 No study data
       
  6458     abc
       
  6459  0: abc
       
  6460     *** Failers
       
  6461 No match
       
  6462     bca
       
  6463 No match
       
  6464 
       
  6465 /(a|b)/S>testsavedregex
       
  6466 Compiled regex written to testsavedregex
       
  6467 Study data written to testsavedregex
       
  6468 <testsavedregex
       
  6469 Compiled regex loaded from testsavedregex
       
  6470 Study data loaded from testsavedregex
       
  6471     abc
       
  6472  0: a
       
  6473     *** Failers
       
  6474  0: a
       
  6475     def  
       
  6476 No match
       
  6477     
       
  6478 /(a|b)/SF>testsavedregex
       
  6479 Compiled regex written to testsavedregex
       
  6480 Study data written to testsavedregex
       
  6481 <testsavedregex
       
  6482 Compiled regex (byte-inverted) loaded from testsavedregex
       
  6483 Study data loaded from testsavedregex
       
  6484     abc
       
  6485  0: a
       
  6486     *** Failers
       
  6487  0: a
       
  6488     def  
       
  6489 No match
       
  6490     
       
  6491 /line\nbreak/
       
  6492     this is a line\nbreak
       
  6493  0: line\x0abreak
       
  6494     line one\nthis is a line\nbreak in the second line 
       
  6495  0: line\x0abreak
       
  6496 
       
  6497 /line\nbreak/f
       
  6498     this is a line\nbreak
       
  6499  0: line\x0abreak
       
  6500     ** Failers 
       
  6501 No match
       
  6502     line one\nthis is a line\nbreak in the second line 
       
  6503 No match
       
  6504 
       
  6505 /line\nbreak/mf
       
  6506     this is a line\nbreak
       
  6507  0: line\x0abreak
       
  6508     ** Failers 
       
  6509 No match
       
  6510     line one\nthis is a line\nbreak in the second line 
       
  6511 No match
       
  6512 
       
  6513 /1234/
       
  6514     123\P
       
  6515 Partial match: 123
       
  6516     a4\P\R
       
  6517 No match
       
  6518 
       
  6519 /1234/
       
  6520     123\P
       
  6521 Partial match: 123
       
  6522     4\P\R
       
  6523  0: 4
       
  6524 
       
  6525 /^/mg
       
  6526     a\nb\nc\n
       
  6527  0: 
       
  6528  0: 
       
  6529  0: 
       
  6530     \ 
       
  6531  0: 
       
  6532     
       
  6533 /(?<=C\n)^/mg
       
  6534     A\nC\nC\n 
       
  6535  0: 
       
  6536 
       
  6537 /(?s)A?B/
       
  6538     AB
       
  6539  0: AB
       
  6540     aB  
       
  6541  0: B
       
  6542 
       
  6543 /(?s)A*B/
       
  6544     AB
       
  6545  0: AB
       
  6546     aB  
       
  6547  0: B
       
  6548 
       
  6549 /(?m)A?B/
       
  6550     AB
       
  6551  0: AB
       
  6552     aB  
       
  6553  0: B
       
  6554 
       
  6555 /(?m)A*B/
       
  6556     AB
       
  6557  0: AB
       
  6558     aB  
       
  6559  0: B
       
  6560 
       
  6561 /Content-Type\x3A[^\r\n]{6,}/
       
  6562     Content-Type:xxxxxyyy 
       
  6563  0: Content-Type:xxxxxyyy
       
  6564  1: Content-Type:xxxxxyy
       
  6565  2: Content-Type:xxxxxy
       
  6566 
       
  6567 /Content-Type\x3A[^\r\n]{6,}z/
       
  6568     Content-Type:xxxxxyyyz
       
  6569  0: Content-Type:xxxxxyyyz
       
  6570 
       
  6571 /Content-Type\x3A[^a]{6,}/
       
  6572     Content-Type:xxxyyy 
       
  6573  0: Content-Type:xxxyyy
       
  6574 
       
  6575 /Content-Type\x3A[^a]{6,}z/
       
  6576     Content-Type:xxxyyyz
       
  6577  0: Content-Type:xxxyyyz
       
  6578 
       
  6579 /^abc/m
       
  6580     xyz\nabc
       
  6581  0: abc
       
  6582     xyz\nabc\<lf>
       
  6583  0: abc
       
  6584     xyz\r\nabc\<lf>
       
  6585  0: abc
       
  6586     xyz\rabc\<cr>
       
  6587  0: abc
       
  6588     xyz\r\nabc\<crlf>
       
  6589  0: abc
       
  6590     ** Failers 
       
  6591 No match
       
  6592     xyz\nabc\<cr>
       
  6593 No match
       
  6594     xyz\r\nabc\<cr>
       
  6595 No match
       
  6596     xyz\nabc\<crlf>
       
  6597 No match
       
  6598     xyz\rabc\<crlf>
       
  6599 No match
       
  6600     xyz\rabc\<lf>
       
  6601 No match
       
  6602     
       
  6603 /abc$/m<lf>
       
  6604     xyzabc
       
  6605  0: abc
       
  6606     xyzabc\n 
       
  6607  0: abc
       
  6608     xyzabc\npqr 
       
  6609  0: abc
       
  6610     xyzabc\r\<cr> 
       
  6611  0: abc
       
  6612     xyzabc\rpqr\<cr> 
       
  6613  0: abc
       
  6614     xyzabc\r\n\<crlf> 
       
  6615  0: abc
       
  6616     xyzabc\r\npqr\<crlf> 
       
  6617  0: abc
       
  6618     ** Failers
       
  6619 No match
       
  6620     xyzabc\r 
       
  6621 No match
       
  6622     xyzabc\rpqr 
       
  6623 No match
       
  6624     xyzabc\r\n 
       
  6625 No match
       
  6626     xyzabc\r\npqr 
       
  6627 No match
       
  6628     
       
  6629 /^abc/m<cr>
       
  6630     xyz\rabcdef
       
  6631  0: abc
       
  6632     xyz\nabcdef\<lf>
       
  6633  0: abc
       
  6634     ** Failers  
       
  6635 No match
       
  6636     xyz\nabcdef
       
  6637 No match
       
  6638        
       
  6639 /^abc/m<lf>
       
  6640     xyz\nabcdef
       
  6641  0: abc
       
  6642     xyz\rabcdef\<cr>
       
  6643  0: abc
       
  6644     ** Failers  
       
  6645 No match
       
  6646     xyz\rabcdef
       
  6647 No match
       
  6648        
       
  6649 /^abc/m<crlf>
       
  6650     xyz\r\nabcdef
       
  6651  0: abc
       
  6652     xyz\rabcdef\<cr>
       
  6653  0: abc
       
  6654     ** Failers  
       
  6655 No match
       
  6656     xyz\rabcdef
       
  6657 No match
       
  6658     
       
  6659 /.*/<lf>
       
  6660     abc\ndef
       
  6661  0: abc
       
  6662  1: ab
       
  6663  2: a
       
  6664  3: 
       
  6665     abc\rdef
       
  6666  0: abc\x0ddef
       
  6667  1: abc\x0dde
       
  6668  2: abc\x0dd
       
  6669  3: abc\x0d
       
  6670  4: abc
       
  6671  5: ab
       
  6672  6: a
       
  6673  7: 
       
  6674     abc\r\ndef
       
  6675  0: abc\x0d
       
  6676  1: abc
       
  6677  2: ab
       
  6678  3: a
       
  6679  4: 
       
  6680     \<cr>abc\ndef
       
  6681  0: abc\x0adef
       
  6682  1: abc\x0ade
       
  6683  2: abc\x0ad
       
  6684  3: abc\x0a
       
  6685  4: abc
       
  6686  5: ab
       
  6687  6: a
       
  6688  7: 
       
  6689     \<cr>abc\rdef
       
  6690  0: abc
       
  6691  1: ab
       
  6692  2: a
       
  6693  3: 
       
  6694     \<cr>abc\r\ndef
       
  6695  0: abc
       
  6696  1: ab
       
  6697  2: a
       
  6698  3: 
       
  6699     \<crlf>abc\ndef
       
  6700  0: abc\x0adef
       
  6701  1: abc\x0ade
       
  6702  2: abc\x0ad
       
  6703  3: abc\x0a
       
  6704  4: abc
       
  6705  5: ab
       
  6706  6: a
       
  6707  7: 
       
  6708     \<crlf>abc\rdef
       
  6709  0: abc\x0ddef
       
  6710  1: abc\x0dde
       
  6711  2: abc\x0dd
       
  6712  3: abc\x0d
       
  6713  4: abc
       
  6714  5: ab
       
  6715  6: a
       
  6716  7: 
       
  6717     \<crlf>abc\r\ndef
       
  6718  0: abc
       
  6719  1: ab
       
  6720  2: a
       
  6721  3: 
       
  6722 
       
  6723 /\w+(.)(.)?def/s
       
  6724     abc\ndef
       
  6725  0: abc\x0adef
       
  6726     abc\rdef
       
  6727  0: abc\x0ddef
       
  6728     abc\r\ndef
       
  6729  0: abc\x0d\x0adef
       
  6730 
       
  6731 /^\w+=.*(\\\n.*)*/
       
  6732     abc=xyz\\\npqr
       
  6733  0: abc=xyz\\x0apqr
       
  6734  1: abc=xyz\\x0apq
       
  6735  2: abc=xyz\\x0ap
       
  6736  3: abc=xyz\\x0a
       
  6737  4: abc=xyz\
       
  6738  5: abc=xyz
       
  6739  6: abc=xy
       
  6740  7: abc=x
       
  6741  8: abc=
       
  6742 
       
  6743 /^(a()*)*/
       
  6744     aaaa
       
  6745  0: aaaa
       
  6746  1: aaa
       
  6747  2: aa
       
  6748  3: a
       
  6749  4: 
       
  6750 
       
  6751 /^(?:a(?:(?:))*)*/
       
  6752     aaaa
       
  6753  0: aaaa
       
  6754  1: aaa
       
  6755  2: aa
       
  6756  3: a
       
  6757  4: 
       
  6758 
       
  6759 /^(a()+)+/
       
  6760     aaaa
       
  6761  0: aaaa
       
  6762  1: aaa
       
  6763  2: aa
       
  6764  3: a
       
  6765 
       
  6766 /^(?:a(?:(?:))+)+/
       
  6767     aaaa
       
  6768  0: aaaa
       
  6769  1: aaa
       
  6770  2: aa
       
  6771  3: a
       
  6772 
       
  6773 /(a|)*\d/
       
  6774   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
  6775 No match
       
  6776   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
       
  6777  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
       
  6778 
       
  6779 /(?>a|)*\d/
       
  6780   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
  6781 No match
       
  6782   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
       
  6783  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
       
  6784 
       
  6785 /(?:a|)*\d/
       
  6786   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       
  6787 No match
       
  6788   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
       
  6789  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
       
  6790 
       
  6791 /^a.b/<lf>
       
  6792     a\rb
       
  6793  0: a\x0db
       
  6794     a\nb\<cr> 
       
  6795  0: a\x0ab
       
  6796     ** Failers
       
  6797 No match
       
  6798     a\nb
       
  6799 No match
       
  6800     a\nb\<any>
       
  6801 No match
       
  6802     a\rb\<cr>   
       
  6803 No match
       
  6804     a\rb\<any>   
       
  6805 No match
       
  6806 
       
  6807 /^abc./mgx<any>
       
  6808     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
       
  6809  0: abc1
       
  6810  0: abc2
       
  6811  0: abc3
       
  6812  0: abc4
       
  6813  0: abc5
       
  6814  0: abc6
       
  6815  0: abc7
       
  6816 
       
  6817 /abc.$/mgx<any>
       
  6818     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
       
  6819  0: abc1
       
  6820  0: abc2
       
  6821  0: abc3
       
  6822  0: abc4
       
  6823  0: abc5
       
  6824  0: abc6
       
  6825  0: abc9
       
  6826 
       
  6827 /^a\Rb/<bsr_unicode>
       
  6828     a\nb
       
  6829  0: a\x0ab
       
  6830     a\rb
       
  6831  0: a\x0db
       
  6832     a\r\nb
       
  6833  0: a\x0d\x0ab
       
  6834     a\x0bb
       
  6835  0: a\x0bb
       
  6836     a\x0cb
       
  6837  0: a\x0cb
       
  6838     a\x85b   
       
  6839  0: a\x85b
       
  6840     ** Failers
       
  6841 No match
       
  6842     a\n\rb    
       
  6843 No match
       
  6844 
       
  6845 /^a\R*b/<bsr_unicode>
       
  6846     ab
       
  6847  0: ab
       
  6848     a\nb
       
  6849  0: a\x0ab
       
  6850     a\rb
       
  6851  0: a\x0db
       
  6852     a\r\nb
       
  6853  0: a\x0d\x0ab
       
  6854     a\x0bb
       
  6855  0: a\x0bb
       
  6856     a\x0cb
       
  6857  0: a\x0cb
       
  6858     a\x85b   
       
  6859  0: a\x85b
       
  6860     a\n\rb    
       
  6861  0: a\x0a\x0db
       
  6862     a\n\r\x85\x0cb 
       
  6863  0: a\x0a\x0d\x85\x0cb
       
  6864 
       
  6865 /^a\R+b/<bsr_unicode>
       
  6866     a\nb
       
  6867  0: a\x0ab
       
  6868     a\rb
       
  6869  0: a\x0db
       
  6870     a\r\nb
       
  6871  0: a\x0d\x0ab
       
  6872     a\x0bb
       
  6873  0: a\x0bb
       
  6874     a\x0cb
       
  6875  0: a\x0cb
       
  6876     a\x85b   
       
  6877  0: a\x85b
       
  6878     a\n\rb    
       
  6879  0: a\x0a\x0db
       
  6880     a\n\r\x85\x0cb 
       
  6881  0: a\x0a\x0d\x85\x0cb
       
  6882     ** Failers
       
  6883 No match
       
  6884     ab  
       
  6885 No match
       
  6886     
       
  6887 /^a\R{1,3}b/<bsr_unicode>
       
  6888     a\nb
       
  6889  0: a\x0ab
       
  6890     a\n\rb
       
  6891  0: a\x0a\x0db
       
  6892     a\n\r\x85b
       
  6893  0: a\x0a\x0d\x85b
       
  6894     a\r\n\r\nb 
       
  6895  0: a\x0d\x0a\x0d\x0ab
       
  6896     a\r\n\r\n\r\nb 
       
  6897  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
       
  6898     a\n\r\n\rb
       
  6899  0: a\x0a\x0d\x0a\x0db
       
  6900     a\n\n\r\nb 
       
  6901  0: a\x0a\x0a\x0d\x0ab
       
  6902     ** Failers
       
  6903 No match
       
  6904     a\n\n\n\rb
       
  6905 No match
       
  6906     a\r
       
  6907 No match
       
  6908 
       
  6909 /^a[\R]b/<bsr_unicode>
       
  6910     aRb
       
  6911  0: aRb
       
  6912     ** Failers
       
  6913 No match
       
  6914     a\nb  
       
  6915 No match
       
  6916 
       
  6917 /.+foo/
       
  6918     afoo
       
  6919  0: afoo
       
  6920     ** Failers 
       
  6921 No match
       
  6922     \r\nfoo 
       
  6923 No match
       
  6924     \nfoo 
       
  6925 No match
       
  6926 
       
  6927 /.+foo/<crlf>
       
  6928     afoo
       
  6929  0: afoo
       
  6930     \nfoo 
       
  6931  0: \x0afoo
       
  6932     ** Failers 
       
  6933 No match
       
  6934     \r\nfoo 
       
  6935 No match
       
  6936 
       
  6937 /.+foo/<any>
       
  6938     afoo
       
  6939  0: afoo
       
  6940     ** Failers 
       
  6941 No match
       
  6942     \nfoo 
       
  6943 No match
       
  6944     \r\nfoo 
       
  6945 No match
       
  6946 
       
  6947 /.+foo/s
       
  6948     afoo
       
  6949  0: afoo
       
  6950     \r\nfoo 
       
  6951  0: \x0d\x0afoo
       
  6952     \nfoo 
       
  6953  0: \x0afoo
       
  6954 
       
  6955 /^$/mg<any>
       
  6956     abc\r\rxyz
       
  6957  0: 
       
  6958     abc\n\rxyz  
       
  6959  0: 
       
  6960     ** Failers 
       
  6961 No match
       
  6962     abc\r\nxyz
       
  6963 No match
       
  6964 
       
  6965 /^X/m
       
  6966     XABC
       
  6967  0: X
       
  6968     ** Failers 
       
  6969 No match
       
  6970     XABC\B
       
  6971 No match
       
  6972 
       
  6973 /(?m)^$/<any>g+
       
  6974     abc\r\n\r\n
       
  6975  0: 
       
  6976  0+ \x0d\x0a
       
  6977 
       
  6978 /(?m)^$|^\r\n/<any>g+ 
       
  6979     abc\r\n\r\n
       
  6980  0: \x0d\x0a
       
  6981  0+ 
       
  6982  1: 
       
  6983     
       
  6984 /(?m)$/<any>g+ 
       
  6985     abc\r\n\r\n
       
  6986  0: 
       
  6987  0+ \x0d\x0a\x0d\x0a
       
  6988  0: 
       
  6989  0+ \x0d\x0a
       
  6990  0: 
       
  6991  0+ 
       
  6992 
       
  6993 /(?|(abc)|(xyz))/
       
  6994    >abc<
       
  6995  0: abc
       
  6996    >xyz< 
       
  6997  0: xyz
       
  6998 
       
  6999 /(x)(?|(abc)|(xyz))(x)/
       
  7000     xabcx
       
  7001  0: xabcx
       
  7002     xxyzx 
       
  7003  0: xxyzx
       
  7004 
       
  7005 /(x)(?|(abc)(pqr)|(xyz))(x)/
       
  7006     xabcpqrx
       
  7007  0: xabcpqrx
       
  7008     xxyzx 
       
  7009  0: xxyzx
       
  7010 
       
  7011 /(?|(abc)|(xyz))(?1)/
       
  7012     abcabc
       
  7013  0: abcabc
       
  7014     xyzabc 
       
  7015  0: xyzabc
       
  7016     ** Failers 
       
  7017 No match
       
  7018     xyzxyz 
       
  7019 No match
       
  7020  
       
  7021 /\H\h\V\v/
       
  7022     X X\x0a
       
  7023  0: X X\x0a
       
  7024     X\x09X\x0b
       
  7025  0: X\x09X\x0b
       
  7026     ** Failers
       
  7027 No match
       
  7028     \xa0 X\x0a   
       
  7029 No match
       
  7030     
       
  7031 /\H*\h+\V?\v{3,4}/ 
       
  7032     \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
       
  7033  0: \x09 \xa0X\x0a\x0b\x0c\x0d
       
  7034  1: \x09 \xa0X\x0a\x0b\x0c
       
  7035     \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
       
  7036  0: \x09 \xa0\x0a\x0b\x0c\x0d
       
  7037  1: \x09 \xa0\x0a\x0b\x0c
       
  7038     \x09\x20\xa0\x0a\x0b\x0c
       
  7039  0: \x09 \xa0\x0a\x0b\x0c
       
  7040     ** Failers 
       
  7041 No match
       
  7042     \x09\x20\xa0\x0a\x0b
       
  7043 No match
       
  7044      
       
  7045 /\H{3,4}/
       
  7046     XY  ABCDE
       
  7047  0: ABCD
       
  7048  1: ABC
       
  7049     XY  PQR ST 
       
  7050  0: PQR
       
  7051     
       
  7052 /.\h{3,4}./
       
  7053     XY  AB    PQRS
       
  7054  0: B    P
       
  7055  1: B    
       
  7056 
       
  7057 /\h*X\h?\H+Y\H?Z/
       
  7058     >XNNNYZ
       
  7059  0: XNNNYZ
       
  7060     >  X NYQZ
       
  7061  0:   X NYQZ
       
  7062     ** Failers
       
  7063 No match
       
  7064     >XYZ   
       
  7065 No match
       
  7066     >  X NY Z
       
  7067 No match
       
  7068 
       
  7069 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
       
  7070     >XY\x0aZ\x0aA\x0bNN\x0c
       
  7071  0: XY\x0aZ\x0aA\x0bNN\x0c
       
  7072     >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
       
  7073  0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
       
  7074 
       
  7075 /.+A/<crlf>
       
  7076     \r\nA
       
  7077 No match
       
  7078     
       
  7079 /\nA/<crlf>
       
  7080     \r\nA 
       
  7081  0: \x0aA
       
  7082 
       
  7083 /[\r\n]A/<crlf>
       
  7084     \r\nA 
       
  7085  0: \x0aA
       
  7086 
       
  7087 /(\r|\n)A/<crlf>
       
  7088     \r\nA 
       
  7089  0: \x0aA
       
  7090 
       
  7091 /a\Rb/I<bsr_anycrlf>
       
  7092 Capturing subpattern count = 0
       
  7093 Options: bsr_anycrlf
       
  7094 First char = 'a'
       
  7095 Need char = 'b'
       
  7096     a\rb
       
  7097  0: a\x0db
       
  7098     a\nb
       
  7099  0: a\x0ab
       
  7100     a\r\nb
       
  7101  0: a\x0d\x0ab
       
  7102     ** Failers
       
  7103 No match
       
  7104     a\x85b
       
  7105 No match
       
  7106     a\x0bb     
       
  7107 No match
       
  7108 
       
  7109 /a\Rb/I<bsr_unicode>
       
  7110 Capturing subpattern count = 0
       
  7111 Options: bsr_unicode
       
  7112 First char = 'a'
       
  7113 Need char = 'b'
       
  7114     a\rb
       
  7115  0: a\x0db
       
  7116     a\nb
       
  7117  0: a\x0ab
       
  7118     a\r\nb
       
  7119  0: a\x0d\x0ab
       
  7120     a\x85b
       
  7121  0: a\x85b
       
  7122     a\x0bb     
       
  7123  0: a\x0bb
       
  7124     ** Failers 
       
  7125 No match
       
  7126     a\x85b\<bsr_anycrlf>
       
  7127 No match
       
  7128     a\x0bb\<bsr_anycrlf>
       
  7129 No match
       
  7130     
       
  7131 /a\R?b/I<bsr_anycrlf>
       
  7132 Capturing subpattern count = 0
       
  7133 Options: bsr_anycrlf
       
  7134 First char = 'a'
       
  7135 Need char = 'b'
       
  7136     a\rb
       
  7137  0: a\x0db
       
  7138     a\nb
       
  7139  0: a\x0ab
       
  7140     a\r\nb
       
  7141  0: a\x0d\x0ab
       
  7142     ** Failers
       
  7143 No match
       
  7144     a\x85b
       
  7145 No match
       
  7146     a\x0bb     
       
  7147 No match
       
  7148 
       
  7149 /a\R?b/I<bsr_unicode>
       
  7150 Capturing subpattern count = 0
       
  7151 Options: bsr_unicode
       
  7152 First char = 'a'
       
  7153 Need char = 'b'
       
  7154     a\rb
       
  7155  0: a\x0db
       
  7156     a\nb
       
  7157  0: a\x0ab
       
  7158     a\r\nb
       
  7159  0: a\x0d\x0ab
       
  7160     a\x85b
       
  7161  0: a\x85b
       
  7162     a\x0bb     
       
  7163  0: a\x0bb
       
  7164     ** Failers 
       
  7165 No match
       
  7166     a\x85b\<bsr_anycrlf>
       
  7167 No match
       
  7168     a\x0bb\<bsr_anycrlf>
       
  7169 No match
       
  7170     
       
  7171 /a\R{2,4}b/I<bsr_anycrlf>
       
  7172 Capturing subpattern count = 0
       
  7173 Partial matching not supported
       
  7174 Options: bsr_anycrlf
       
  7175 First char = 'a'
       
  7176 Need char = 'b'
       
  7177     a\r\n\nb
       
  7178  0: a\x0d\x0a\x0ab
       
  7179     a\n\r\rb
       
  7180  0: a\x0a\x0d\x0db
       
  7181     a\r\n\r\n\r\n\r\nb
       
  7182  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
       
  7183     ** Failers
       
  7184 No match
       
  7185     a\x85\85b
       
  7186 No match
       
  7187     a\x0b\0bb     
       
  7188 No match
       
  7189 
       
  7190 /a\R{2,4}b/I<bsr_unicode>
       
  7191 Capturing subpattern count = 0
       
  7192 Partial matching not supported
       
  7193 Options: bsr_unicode
       
  7194 First char = 'a'
       
  7195 Need char = 'b'
       
  7196     a\r\rb
       
  7197  0: a\x0d\x0db
       
  7198     a\n\n\nb
       
  7199  0: a\x0a\x0a\x0ab
       
  7200     a\r\n\n\r\rb
       
  7201  0: a\x0d\x0a\x0a\x0d\x0db
       
  7202     a\x85\85b
       
  7203 No match
       
  7204     a\x0b\0bb     
       
  7205 No match
       
  7206     ** Failers 
       
  7207 No match
       
  7208     a\r\r\r\r\rb 
       
  7209 No match
       
  7210     a\x85\85b\<bsr_anycrlf>
       
  7211 No match
       
  7212     a\x0b\0bb\<bsr_anycrlf>
       
  7213 No match
       
  7214     
       
  7215 /a(?!)|\wbc/
       
  7216     abc 
       
  7217  0: abc
       
  7218 
       
  7219 /a[]b/<JS>
       
  7220     ** Failers
       
  7221 No match
       
  7222     ab
       
  7223 No match
       
  7224 
       
  7225 /a[]+b/<JS>
       
  7226     ** Failers
       
  7227 No match
       
  7228     ab 
       
  7229 No match
       
  7230 
       
  7231 /a[]*+b/<JS>
       
  7232     ** Failers
       
  7233 No match
       
  7234     ab 
       
  7235 No match
       
  7236 
       
  7237 /a[^]b/<JS>
       
  7238     aXb
       
  7239  0: aXb
       
  7240     a\nb 
       
  7241  0: a\x0ab
       
  7242     ** Failers
       
  7243 No match
       
  7244     ab  
       
  7245 No match
       
  7246     
       
  7247 /a[^]+b/<JS> 
       
  7248     aXb
       
  7249  0: aXb
       
  7250     a\nX\nXb 
       
  7251  0: a\x0aX\x0aXb
       
  7252     ** Failers
       
  7253 No match
       
  7254     ab  
       
  7255 No match
       
  7256 
       
  7257 / End of testinput7 /