/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 197 by ph10, Tue Jul 31 10:50:18 2007 UTC revision 449 by ph10, Wed Sep 16 08:48:17 2009 UTC
# Line 40  No match Line 40  No match
40    
41  /a+bc/I  /a+bc/I
42  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
43  No options  No options
44  First char = 'a'  First char = 'a'
45  Need char = 'c'  Need char = 'c'
46    
47  /a*bc/I  /a*bc/I
48  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
49  No options  No options
50  No first char  No first char
51  Need char = 'c'  Need char = 'c'
52    
53  /a{3}bc/I  /a{3}bc/I
54  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
55  No options  No options
56  First char = 'a'  First char = 'a'
57  Need char = 'c'  Need char = 'c'
58    
59  /(abc|a+z)/I  /(abc|a+z)/I
60  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
61  No options  No options
62  First char = 'a'  First char = 'a'
63  No need char  No need char
# Line 109  Failed: missing ) at offset 4 Line 105  Failed: missing ) at offset 4
105  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
106    
107  /(?z)abc/  /(?z)abc/
108  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
109    
110  /.*b/I  /.*b/I
111  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
112  No options  No options
113  First char at start or follows newline  First char at start or follows newline
114  Need char = 'b'  Need char = 'b'
115    
116  /.*?b/I  /.*?b/I
117  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
118  No options  No options
119  First char at start or follows newline  First char at start or follows newline
120  Need char = 'b'  Need char = 'b'
# Line 310  No match Line 304  No match
304  No match  No match
305    
306  /ab(?z)cd/  /ab(?z)cd/
307  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
308    
309  /^abc|def/I  /^abc|def/I
310  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 318  No need char
318    
319  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
320  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
321  No options  No options
322  First char at start or follows newline  First char at start or follows newline
323  No need char  No need char
# Line 338  No need char Line 331  No need char
331   2: <unset>   2: <unset>
332   3: def   3: def
333    
334  /abc/IP  /abc/P
335      abc      abc
336   0: abc   0: abc
337      *** Failers      *** Failers
338  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
339    
340  /^abc|def/IP  /^abc|def/P
341      abcdef      abcdef
342   0: abc   0: abc
343      abcdef\B      abcdef\B
344   0: def   0: def
345    
346  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
347      defabc      defabc
348   0: defabc   0: defabc
349   1: abc   1: abc
# Line 360  No match: POSIX code 17: match failed Line 353  No match: POSIX code 17: match failed
353   1: def   1: def
354   3: def   3: def
355    
356  /the quick brown fox/IP  /the quick brown fox/P
357      the quick brown fox      the quick brown fox
358   0: the quick brown fox   0: the quick brown fox
359      *** Failers      *** Failers
# Line 368  No match: POSIX code 17: match failed Line 361  No match: POSIX code 17: match failed
361      The Quick Brown Fox      The Quick Brown Fox
362  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
363    
364  /the quick brown fox/IPi  /the quick brown fox/Pi
365      the quick brown fox      the quick brown fox
366   0: the quick brown fox   0: the quick brown fox
367      The Quick Brown Fox      The Quick Brown Fox
368   0: The Quick Brown Fox   0: The Quick Brown Fox
369    
370  /abc.def/IP  /abc.def/P
371      *** Failers      *** Failers
372  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
373      abc\ndef      abc\ndef
374  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
375    
376  /abc$/IP  /abc$/P
377      abc      abc
378   0: abc   0: abc
379      abc\n      abc\n
380   0: abc   0: abc
381    
382  /(abc)\2/IP  /(abc)\2/P
383  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
384    
385  /(abc\1)/IP  /(abc\1)/P
386      abc      abc
387  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
388    
# Line 401  Failed: missing terminating ] for charac Line 394  Failed: missing terminating ] for charac
394    
395  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
396  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
397  No options  No options
398  No first char  No first char
399  No need char  No need char
# Line 410  No need char Line 402  No need char
402    
403  /<.*>/I  /<.*>/I
404  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
405  No options  No options
406  First char = '<'  First char = '<'
407  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 410  Need char = '>'
410    
411  /<.*?>/I  /<.*?>/I
412  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
413  No options  No options
414  First char = '<'  First char = '<'
415  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 418  Need char = '>'
418    
419  /<.*>/IU  /<.*>/IU
420  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
421  Options: ungreedy  Options: ungreedy
422  First char = '<'  First char = '<'
423  Need char = '>'  Need char = '>'
# Line 437  Need char = '>' Line 426  Need char = '>'
426    
427  /(?U)<.*>/I  /(?U)<.*>/I
428  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
429  Options: ungreedy  Options: ungreedy
430  First char = '<'  First char = '<'
431  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 434  Need char = '>'
434    
435  /<.*?>/IU  /<.*?>/IU
436  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
437  Options: ungreedy  Options: ungreedy
438  First char = '<'  First char = '<'
439  Need char = '>'  Need char = '>'
# Line 455  Need char = '>' Line 442  Need char = '>'
442    
443  /={3,}/IU  /={3,}/IU
444  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
445  Options: ungreedy  Options: ungreedy
446  First char = '='  First char = '='
447  Need char = '='  Need char = '='
# Line 464  Need char = '=' Line 450  Need char = '='
450    
451  /(?U)={3,}?/I  /(?U)={3,}?/I
452  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
453  Options: ungreedy  Options: ungreedy
454  First char = '='  First char = '='
455  Need char = '='  Need char = '='
# Line 522  No need char Line 507  No need char
507    
508  /(?s).*/I  /(?s).*/I
509  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
510  Options: anchored dotall  Options: anchored dotall
511  No first char  No first char
512  No need char  No need char
# Line 584  Failed: syntax error in subpattern name Line 568  Failed: syntax error in subpattern name
568  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
569  Capturing subpattern count = 1  Capturing subpattern count = 1
570  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
571  No options  No options
572  First char = 'b'  First char = 'b'
573  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 575  Need char = 'h'
575  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
576  Capturing subpattern count = 1  Capturing subpattern count = 1
577  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
578  No options  No options
579  First char = 'b' (caseless)  First char = 'b' (caseless)
580  Need char = 'h' (caseless)  Need char = 'h' (caseless)
# Line 616  Study returned NULL Line 598  Study returned NULL
598    
599  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
600  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
601  No options  No options
602  No first char  No first char
603  No need char  No need char
# Line 668  Need char = 'c' Line 649  Need char = 'c'
649    
650  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
651  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
652  Options: anchored  Options: anchored
653  No first char  No first char
654  No need char  No need char
# Line 703  Starting byte set: a b Line 683  Starting byte set: a b
683    
684  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
685  Capturing subpattern count = 0  Capturing subpattern count = 0
686    Contains explicit CR or LF match
687  Options: multiline  Options: multiline
688  No first char  No first char
689  Need char = 'r'  Need char = 'r'
# Line 719  No match Line 700  No match
700    
701  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
702  Capturing subpattern count = 0  Capturing subpattern count = 0
703    Contains explicit CR or LF match
704  Options: multiline  Options: multiline
705  First char at start or follows newline  First char at start or follows newline
706  Need char = 'r'  Need char = 'r'
# Line 782  No need char Line 764  No need char
764    
765  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
766  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
767  No options  No options
768  First char at start or follows newline  First char at start or follows newline
769  No need char  No need char
# Line 944  Failed: missing ) at offset 4 Line 925  Failed: missing ) at offset 4
925  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
926    
927  /a(?{)b/  /a(?{)b/
928  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
929    
930  /a(?{{})b/  /a(?{{})b/
931  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
932    
933  /a(?{}})b/  /a(?{}})b/
934  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
935    
936  /a(?{"{"})b/  /a(?{"{"})b/
937  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
938    
939  /a(?{"{"}})b/  /a(?{"{"}})b/
940  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
941    
942  /(?(1?)a|b)/  /(?(1?)a|b)/
943  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
944    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
945  /[a[:xyz:/  /[a[:xyz:/
946  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
947    
# Line 1004  copy substring 5 failed -7 Line 982  copy substring 5 failed -7
982    
983  /(.{20})/I  /(.{20})/I
984  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
985  No options  No options
986  No first char  No first char
987  No need char  No need char
# Line 1022  No need char Line 999  No need char
999    
1000  /(.{15})/I  /(.{15})/I
1001  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1002  No options  No options
1003  No first char  No first char
1004  No need char  No need char
# Line 1037  No need char Line 1013  No need char
1013    
1014  /(.{16})/I  /(.{16})/I
1015  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1016  No options  No options
1017  No first char  No first char
1018  No need char  No need char
# Line 1104  No need char Line 1079  No need char
1079  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1080  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1081  Capturing subpattern count = 8  Capturing subpattern count = 8
1082  Partial matching not supported  Contains explicit CR or LF match
1083  No options  No options
1084  First char = 'w'  First char = 'w'
1085  Need char = 'd'  Need char = 'd'
# Line 1118  Need char = 'd' Line 1093  Need char = 'd'
1093          End          End
1094  ------------------------------------------------------------------  ------------------------------------------------------------------
1095  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1096  No options  No options
1097  First char at start or follows newline  First char at start or follows newline
1098  Need char = 'X'  Need char = 'X'
# Line 1126  Need char = 'X' Line 1100  Need char = 'X'
1100  /.*X/IDZs  /.*X/IDZs
1101  ------------------------------------------------------------------  ------------------------------------------------------------------
1102          Bra          Bra
1103          Any*          AllAny*
1104          X          X
1105          Ket          Ket
1106          End          End
1107  ------------------------------------------------------------------  ------------------------------------------------------------------
1108  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1109  Options: anchored dotall  Options: anchored dotall
1110  No first char  No first char
1111  Need char = 'X'  Need char = 'X'
# Line 1151  Need char = 'X' Line 1124  Need char = 'X'
1124          End          End
1125  ------------------------------------------------------------------  ------------------------------------------------------------------
1126  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1127  No options  No options
1128  First char at start or follows newline  First char at start or follows newline
1129  No need char  No need char
# Line 1160  No need char Line 1132  No need char
1132  ------------------------------------------------------------------  ------------------------------------------------------------------
1133          Bra          Bra
1134          CBra 1          CBra 1
1135          Any*          AllAny*
1136          X          X
1137          Alt          Alt
1138          ^          ^
# Line 1170  No need char Line 1142  No need char
1142          End          End
1143  ------------------------------------------------------------------  ------------------------------------------------------------------
1144  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1145  Options: anchored dotall  Options: anchored dotall
1146  No first char  No first char
1147  No need char  No need char
# Line 1179  No need char Line 1150  No need char
1150  ------------------------------------------------------------------  ------------------------------------------------------------------
1151          Bra          Bra
1152          CBra 1          CBra 1
1153          Any*          AllAny*
1154          X          X
1155          Alt          Alt
1156          ^          ^
# Line 1189  No need char Line 1160  No need char
1160          End          End
1161  ------------------------------------------------------------------  ------------------------------------------------------------------
1162  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1163  Options: anchored dotall  Options: anchored dotall
1164  No first char  No first char
1165  No need char  No need char
# Line 1199  No need char Line 1169  No need char
1169          Bra          Bra
1170          Bra          Bra
1171       04 Opt       04 Opt
1172          Any*          AllAny*
1173          X          X
1174          Alt          Alt
1175       04 Opt       04 Opt
# Line 1211  No need char Line 1181  No need char
1181          End          End
1182  ------------------------------------------------------------------  ------------------------------------------------------------------
1183  Capturing subpattern count = 0  Capturing subpattern count = 0
1184  Partial matching not supported  Options: anchored
1185  No options  No first char
 First char at start or follows newline  
1186  No need char  No need char
1187    
1188  /\Biss\B/I+  /\Biss\B/I+
# Line 1296  No need char Line 1265  No need char
1265    
1266  /.*iss/Ig+  /.*iss/Ig+
1267  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1268  No options  No options
1269  First char at start or follows newline  First char at start or follows newline
1270  Need char = 's'  Need char = 's'
# Line 1347  No need char Line 1315  No need char
1315    
1316  /^ab\n/Ig+  /^ab\n/Ig+
1317  Capturing subpattern count = 0  Capturing subpattern count = 0
1318    Contains explicit CR or LF match
1319  Options: anchored  Options: anchored
1320  No first char  No first char
1321  No need char  No need char
# Line 1356  No need char Line 1325  No need char
1325    
1326  /^ab\n/Img+  /^ab\n/Img+
1327  Capturing subpattern count = 0  Capturing subpattern count = 0
1328    Contains explicit CR or LF match
1329  Options: multiline  Options: multiline
1330  First char at start or follows newline  First char at start or follows newline
1331  Need char = 10  Need char = 10
# Line 1397  Need char = 'c' Line 1367  Need char = 'c'
1367    
1368  /a*/I  /a*/I
1369  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1370  No options  No options
1371  No first char  No first char
1372  No need char  No need char
1373    
1374  /a+/I  /a+/I
1375  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1376  No options  No options
1377  First char = 'a'  First char = 'a'
1378  No need char  No need char
1379    
1380  /(baa|a+)/I  /(baa|a+)/I
1381  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1382  No options  No options
1383  No first char  No first char
1384  Need char = 'a'  Need char = 'a'
1385    
1386  /a{0,3}/I  /a{0,3}/I
1387  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1388  No options  No options
1389  No first char  No first char
1390  No need char  No need char
1391    
1392  /baa{3,}/I  /baa{3,}/I
1393  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1394  No options  No options
1395  First char = 'b'  First char = 'b'
1396  Need char = 'a'  Need char = 'a'
1397    
1398  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1399  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1400  No options  No options
1401  First char = '"'  First char = '"'
1402  Need char = '"'  Need char = '"'
# Line 1487  Need char = 'b' Line 1451  Need char = 'b'
1451    
1452  /abc*/I  /abc*/I
1453  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1454  No options  No options
1455  First char = 'a'  First char = 'a'
1456  Need char = 'b'  Need char = 'b'
1457    
1458  /ab.c*/I  /ab.c*/I
1459  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1460  No options  No options
1461  First char = 'a'  First char = 'a'
1462  Need char = 'b'  Need char = 'b'
1463    
1464  /a.c*/I  /a.c*/I
1465  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1466  No options  No options
1467  First char = 'a'  First char = 'a'
1468  No need char  No need char
1469    
1470  /.c*/I  /.c*/I
1471  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1472  No options  No options
1473  No first char  No first char
1474  No need char  No need char
1475    
1476  /ac*/I  /ac*/I
1477  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1478  No options  No options
1479  First char = 'a'  First char = 'a'
1480  No need char  No need char
1481    
1482  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1483  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1484  No options  No options
1485  No first char  No first char
1486  No need char  No need char
1487    
1488  /a.c*|aba/I  /a.c*|aba/I
1489  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1490  No options  No options
1491  First char = 'a'  First char = 'a'
1492  No need char  No need char
1493    
1494  /.+a/I  /.+a/I
1495  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1496  No options  No options
1497  No first char  No first char
1498  Need char = 'a'  Need char = 'a'
1499    
1500  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1501  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1502  No options  No options
1503  First char = 'a'  First char = 'a'
1504  Need char = 'a'  Need char = 'a'
1505    
1506  /(?=a)a.*/I  /(?=a)a.*/I
1507  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1508  No options  No options
1509  First char = 'a'  First char = 'a'
1510  No need char  No need char
# Line 1563  No need char Line 1517  No need char
1517    
1518  /a\d*/I  /a\d*/I
1519  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1520  No options  No options
1521  First char = 'a'  First char = 'a'
1522  No need char  No need char
1523    
1524  /ab\d*/I  /ab\d*/I
1525  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1526  No options  No options
1527  First char = 'a'  First char = 'a'
1528  Need char = 'b'  Need char = 'b'
# Line 1589  Need char = 'd' Line 1541  Need char = 'd'
1541    
1542  /ab\d+/I  /ab\d+/I
1543  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1544  No options  No options
1545  First char = 'a'  First char = 'a'
1546  Need char = 'b'  Need char = 'b'
1547    
1548  /a(?(1)b)/I  /a(?(1)b)(.)/I
1549  Capturing subpattern count = 0  Capturing subpattern count = 1
1550  No options  No options
1551  First char = 'a'  First char = 'a'
1552  No need char  No need char
1553    
1554  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1555  Capturing subpattern count = 0  Capturing subpattern count = 1
1556  No options  No options
1557  First char = 'a'  First char = 'a'
1558  Need char = 'g'  Need char = 'g'
1559    
1560  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1561  Capturing subpattern count = 0  Capturing subpattern count = 1
1562  No options  No options
1563  First char = 'a'  First char = 'a'
1564  No need char  No need char
1565    
1566  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1567  Capturing subpattern count = 0  Capturing subpattern count = 1
1568  No options  No options
1569  First char = 'a'  First char = 'a'
1570  Need char = 'g'  Need char = 'g'
1571    
1572  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1573  Capturing subpattern count = 0  Capturing subpattern count = 1
1574  No options  No options
1575  First char = 'a'  First char = 'a'
1576  Need char = 'b'  Need char = 'b'
# Line 1664  No need char Line 1615  No need char
1615      \Nabc      \Nabc
1616  No match  No match
1617    
1618  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
1619      aaaabbbbzzzz      aaaabbbbzzzz
1620   0: aaaabbbbzz   0: aaaabbbbzz
1621   1: bbbb   1: bbbb
# Line 1707  Study returned NULL Line 1658  Study returned NULL
1658    \)            # Closing )    \)            # Closing )
1659    /Ix    /Ix
1660  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1661  Options: extended  Options: extended
1662  First char = '('  First char = '('
1663  Need char = ')'  Need char = ')'
# Line 1736  No match Line 1686  No match
1686    
1687  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1688  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1689  Options: extended  Options: extended
1690  First char = '('  First char = '('
1691  Need char = ')'  Need char = ')'
# Line 1751  Need char = ')' Line 1700  Need char = ')'
1700    
1701  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1702  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1703  Options: extended  Options: extended
1704  First char = '('  First char = '('
1705  Need char = ')'  Need char = ')'
# Line 1770  No match Line 1718  No match
1718    
1719  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1720  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1721  Options: extended  Options: extended
1722  First char = '('  First char = '('
1723  Need char = ')'  Need char = ')'
# Line 1781  Need char = ')' Line 1728  Need char = ')'
1728    
1729  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1730  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1731  Options: extended  Options: extended
1732  First char = '('  First char = '('
1733  Need char = ')'  Need char = ')'
# Line 1791  Need char = ')' Line 1737  Need char = ')'
1737    
1738  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1739  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1740  Options: extended  Options: extended
1741  First char = '('  First char = '('
1742  Need char = ')'  Need char = ')'
# Line 1802  Need char = ')' Line 1747  Need char = ')'
1747    
1748  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1749  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1750  Options: extended  Options: extended
1751  First char = '('  First char = '('
1752  Need char = ')'  Need char = ')'
# Line 1819  Need char = ')' Line 1763  Need char = ')'
1763    
1764  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1765  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1766  Options: extended  Options: extended
1767  First char = '('  First char = '('
1768  Need char = ')'  Need char = ')'
# Line 1836  Need char = ')' Line 1779  Need char = ')'
1779    
1780  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1781  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1782  Options: extended  Options: extended
1783  First char = '('  First char = '('
1784  Need char = ')'  Need char = ')'
# Line 1856  Need char = ')' Line 1798  Need char = ')'
1798    
1799  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1800  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1801  Options: extended  Options: extended
1802  First char = '('  First char = '('
1803  Need char = ')'  Need char = ')'
# Line 1864  Need char = ')' Line 1805  Need char = ')'
1805   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1806   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1807   2: 123   2: 123
  3: <unset>  
1808    
1809  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1810  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1811  Options: extended  Options: extended
1812  First char = '('  First char = '('
1813  Need char = ')'  Need char = ')'
# Line 1900  No need char Line 1839  No need char
1839  ------------------------------------------------------------------  ------------------------------------------------------------------
1840          Bra          Bra
1841          ^          ^
1842          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1843          Ket          Ket
1844          End          End
1845  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1926  No need char Line 1865  No need char
1865  ------------------------------------------------------------------  ------------------------------------------------------------------
1866          Bra          Bra
1867          ^          ^
1868          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1869          Ket          Ket
1870          End          End
1871  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1960  No need char Line 1899  No need char
1899  ------------------------------------------------------------------  ------------------------------------------------------------------
1900          Bra          Bra
1901          ^          ^
1902          [\x80-\xff]          [\x80-\xff] (neg)
1903          Ket          Ket
1904          End          End
1905  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1986  No need char Line 1925  No need char
1925  ------------------------------------------------------------------  ------------------------------------------------------------------
1926          Bra          Bra
1927          ^          ^
1928          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1929          Ket          Ket
1930          End          End
1931  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1997  No need char Line 1936  No need char
1936    
1937  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
1938  Capturing subpattern count = 0  Capturing subpattern count = 0
1939    Contains explicit CR or LF match
1940  No options  No options
1941  No first char  No first char
1942  No need char  No need char
# Line 2136  No need char Line 2076  No need char
2076  ------------------------------------------------------------------  ------------------------------------------------------------------
2077          Bra          Bra
2078          ^          ^
2079          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2080          Ket          Ket
2081          End          End
2082  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2149  No need char Line 2089  No need char
2089  ------------------------------------------------------------------  ------------------------------------------------------------------
2090          Bra          Bra
2091          ^          ^
2092          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2093          Ket          Ket
2094          End          End
2095  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2162  No need char Line 2102  No need char
2102  ------------------------------------------------------------------  ------------------------------------------------------------------
2103          Bra          Bra
2104          ^          ^
2105          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2106          Ket          Ket
2107          End          End
2108  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2246  Need char = 'd' Line 2186  Need char = 'd'
2186  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2187  Capturing subpattern count = 271  Capturing subpattern count = 271
2188  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2189  No options  No options
2190  No first char  No first char
2191  No need char  No need char
# Line 2730  No need char Line 2669  No need char
2669  /[\S]/DZ  /[\S]/DZ
2670  ------------------------------------------------------------------  ------------------------------------------------------------------
2671          Bra          Bra
2672          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2673          Ket          Ket
2674          End          End
2675  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2927  Need char = 'c' Line 2866  Need char = 'c'
2866          End          End
2867  ------------------------------------------------------------------  ------------------------------------------------------------------
2868  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2869  No options  No options
2870  No first char  No first char
2871  No need char  No need char
# Line 2956  No need char Line 2894  No need char
2894          End          End
2895  ------------------------------------------------------------------  ------------------------------------------------------------------
2896  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2897  No options  No options
2898  First char = 'x'  First char = 'x'
2899  No need char  No need char
# Line 2972  No need char Line 2909  No need char
2909          End          End
2910  ------------------------------------------------------------------  ------------------------------------------------------------------
2911  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2912  No options  No options
2913  First char = 'x'  First char = 'x'
2914  No need char  No need char
# Line 2996  No need char Line 2932  No need char
2932    
2933  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2934  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2935  Options: anchored  Options: anchored
2936  No first char  No first char
2937  No need char  No need char
# Line 3010  No match Line 2945  No match
2945    
2946  /(\d++)(\w)/I  /(\d++)(\w)/I
2947  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2948  No options  No options
2949  No first char  No first char
2950  No need char  No need char
# Line 3025  No match Line 2959  No match
2959    
2960  /a++b/I  /a++b/I
2961  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2962  No options  No options
2963  First char = 'a'  First char = 'a'
2964  Need char = 'b'  Need char = 'b'
# Line 3034  Need char = 'b' Line 2967  Need char = 'b'
2967    
2968  /(a++b)/I  /(a++b)/I
2969  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2970  No options  No options
2971  First char = 'a'  First char = 'a'
2972  Need char = 'b'  Need char = 'b'
# Line 3044  Need char = 'b' Line 2976  Need char = 'b'
2976    
2977  /(a++)b/I  /(a++)b/I
2978  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2979  No options  No options
2980  First char = 'a'  First char = 'a'
2981  Need char = 'b'  Need char = 'b'
# Line 3054  Need char = 'b' Line 2985  Need char = 'b'
2985    
2986  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
2987  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2988  No options  No options
2989  No first char  No first char
2990  No need char  No need char
# Line 3064  No need char Line 2994  No need char
2994    
2995  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
2996  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2997  No options  No options
2998  First char = '('  First char = '('
2999  Need char = ')'  Need char = ')'
# Line 3127  Failed: nothing to repeat at offset 7 Line 3056  Failed: nothing to repeat at offset 7
3056          End          End
3057  ------------------------------------------------------------------  ------------------------------------------------------------------
3058  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3059  No options  No options
3060  First char = 'x'  First char = 'x'
3061  Need char = 'b'  Need char = 'b'
# Line 3144  Need char = 'b' Line 3072  Need char = 'b'
3072          End          End
3073  ------------------------------------------------------------------  ------------------------------------------------------------------
3074  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3075  Options: ungreedy  Options: ungreedy
3076  First char = 'x'  First char = 'x'
3077  Need char = 'b'  Need char = 'b'
# Line 3173  Need char = 'b' Line 3100  Need char = 'b'
3100          End          End
3101  ------------------------------------------------------------------  ------------------------------------------------------------------
3102  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3103  Options: anchored  Options: anchored
3104  No first char  No first char
3105  No need char  No need char
# Line 3189  No need char Line 3115  No need char
3115          End          End
3116  ------------------------------------------------------------------  ------------------------------------------------------------------
3117  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3118  Options: anchored  Options: anchored
3119  No first char  No first char
3120  Need char = 'b'  Need char = 'b'
# Line 3207  Need char = 'b' Line 3132  Need char = 'b'
3132          End          End
3133  ------------------------------------------------------------------  ------------------------------------------------------------------
3134  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3135  Options: anchored  Options: anchored
3136  No first char  No first char
3137  Need char = 'b'  Need char = 'b'
# Line 3283  No need char Line 3207  No need char
3207    
3208  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3209  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3210  Options: extended  Options: extended
3211  First char = '<'  First char = '<'
3212  Need char = '>'  Need char = '>'
# Line 3333  Need char = 'X' Line 3256  Need char = 'X'
3256  /(.*)\d+\1/I  /(.*)\d+\1/I
3257  Capturing subpattern count = 1  Capturing subpattern count = 1
3258  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3259  No options  No options
3260  No first char  No first char
3261  No need char  No need char
3262    
3263  /(.*)\d+/I  /(.*)\d+/I
3264  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3265  No options  No options
3266  First char at start or follows newline  First char at start or follows newline
3267  No need char  No need char
# Line 3348  No need char Line 3269  No need char
3269  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3270  Capturing subpattern count = 1  Capturing subpattern count = 1
3271  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3272  Options: dotall  Options: dotall
3273  No first char  No first char
3274  No need char  No need char
3275    
3276  /(.*)\d+/Is  /(.*)\d+/Is
3277  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3278  Options: anchored dotall  Options: anchored dotall
3279  No first char  No first char
3280  No need char  No need char
# Line 3363  No need char Line 3282  No need char
3282  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3283  Capturing subpattern count = 2  Capturing subpattern count = 2
3284  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3285  No options  No options
3286  First char at start or follows newline  First char at start or follows newline
3287  Need char = 'z'  Need char = 'z'
# Line 3371  Need char = 'z' Line 3289  Need char = 'z'
3289  /((.*))\d+\1/I  /((.*))\d+\1/I
3290  Capturing subpattern count = 2  Capturing subpattern count = 2
3291  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3292  No options  No options
3293  No first char  No first char
3294  No need char  No need char
# Line 3388  Need char = 'b' Line 3305  Need char = 'b'
3305    
3306  /(?=a).*/I  /(?=a).*/I
3307  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3308  No options  No options
3309  First char = 'a'  First char = 'a'
3310  No need char  No need char
# Line 3435  No options Line 3351  No options
3351  No first char  No first char
3352  Need char = 'a'  Need char = 'a'
3353    
3354  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3355  Capturing subpattern count = 0  Capturing subpattern count = 1
3356  No options  No options
3357  First char = 'a'  First char = 'a'
3358  No need char  No need char
3359    
3360  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3361  Capturing subpattern count = 0  Capturing subpattern count = 1
3362  No options  No options
3363  First char = 'a'  First char = 'a'
3364  Need char = 'z'  Need char = 'z'
3365    
3366  /(?(1)abz)/I  /(?(1)abz)(.)/I
3367  Capturing subpattern count = 0  Capturing subpattern count = 1
3368  No options  No options
3369  No first char  No first char
3370  No need char  No need char
3371    
3372  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3373  Capturing subpattern count = 0  Capturing subpattern count = 1
3374  No options  No options
3375  No first char  No first char
3376  Need char = '3'  Need char = '3'
# Line 3710  No need char Line 3626  No need char
3626    
3627  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3628  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3629  No options  No options
3630  No first char  No first char
3631  No need char  No need char
# Line 3839  Callout 0: last capture = 1 Line 3754  Callout 0: last capture = 1
3754    
3755  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3756  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3757  No options  No options
3758  First char = 'a'  First char = 'a'
3759  Need char = 'b'  Need char = 'b'
# Line 3865  No match Line 3779  No match
3779    
3780  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3781  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3782  No options  No options
3783  First char = 'a'  First char = 'a'
3784  Need char = 'b'  Need char = 'b'
# Line 4028  Need char = 'b' Line 3941  Need char = 'b'
3941  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
3942  Capturing subpattern count = 4  Capturing subpattern count = 4
3943  Max back reference = 4  Max back reference = 4
 Partial matching not supported  
3944  Options: anchored caseless  Options: anchored caseless
3945  No first char  No first char
3946  No need char  No need char
# Line 4061  No match Line 3973  No match
3973    
3974  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3975  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3976  Options: anchored  Options: anchored
3977  No first char  No first char
3978  No need char  No need char
# Line 4102  No match Line 4013  No match
4013    
4014  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4015  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4016  Options: extended  Options: extended
4017  First char = '<'  First char = '<'
4018  Need char = '>'  Need char = '>'
# Line 4276  Named capturing subpatterns: Line 4186  Named capturing subpatterns:
4186    one     1    one     1
4187    three   3    three   3
4188    two     2    two     2
 Partial matching not supported  
4189  Options: anchored caseless  Options: anchored caseless
4190  No first char  No first char
4191  No need char  No need char
# Line 4322  No need char Line 4231  No need char
4231    
4232  /(.*)a/Is  /(.*)a/Is
4233  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4234  Options: anchored dotall  Options: anchored dotall
4235  No first char  No first char
4236  Need char = 'a'  Need char = 'a'
# Line 4330  Need char = 'a' Line 4238  Need char = 'a'
4238  /(.*)a\1/Is  /(.*)a\1/Is
4239  Capturing subpattern count = 1  Capturing subpattern count = 1
4240  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4241  Options: dotall  Options: dotall
4242  No first char  No first char
4243  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4245  Need char = 'a'
4245  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4246  Capturing subpattern count = 2  Capturing subpattern count = 2
4247  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4248  Options: anchored dotall  Options: anchored dotall
4249  No first char  No first char
4250  Need char = 'b'  Need char = 'b'
4251    
4252  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4253  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4254  Options: anchored dotall  Options: anchored dotall
4255  No first char  No first char
4256  Need char = 'z'  Need char = 'z'
# Line 4353  Need char = 'z' Line 4258  Need char = 'z'
4258  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4259  Capturing subpattern count = 3  Capturing subpattern count = 3
4260  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4261  Options: dotall  Options: dotall
4262  No first char  No first char
4263  Need char = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4265  Need char = 'z'
4265  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4266  Capturing subpattern count = 3  Capturing subpattern count = 3
4267  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4268  Options: dotall  Options: dotall
4269  No first char  No first char
4270  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4272  Need char = 'z'
4272  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4273  Capturing subpattern count = 3  Capturing subpattern count = 3
4274  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4275  Options: dotall  Options: dotall
4276  No first char  No first char
4277  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4279  Need char = 'z'
4279  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4280  Capturing subpattern count = 3  Capturing subpattern count = 3
4281  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4282  Options: anchored dotall  Options: anchored dotall
4283  No first char  No first char
4284  Need char = 'z'  Need char = 'z'
4285    
4286  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4287  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4288  Options: anchored dotall  Options: anchored dotall
4289  No first char  No first char
4290  No need char  No need char
# Line 4392  No need char Line 4292  No need char
4292  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4293  Capturing subpattern count = 31  Capturing subpattern count = 31
4294  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4295  Options: dotall  Options: dotall
4296  No first char  No first char
4297  No need char  No need char
# Line 4400  No need char Line 4299  No need char
4299  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4300  Capturing subpattern count = 32  Capturing subpattern count = 32
4301  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4302  Options: dotall  Options: dotall
4303  No first char  No first char
4304  No need char  No need char
# Line 4467  Need char = 'c' Line 4365  Need char = 'c'
4365    
4366  /(a+)*zz/I  /(a+)*zz/I
4367  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4368  No options  No options
4369  No first char  No first char
4370  Need char = 'z'  Need char = 'z'
# Line 4604  Failed: two named subpatterns have the s Line 4501  Failed: two named subpatterns have the s
4501  Capturing subpattern count = 3  Capturing subpattern count = 3
4502  Named capturing subpatterns:  Named capturing subpatterns:
4503    elem   2    elem   2
 Partial matching not supported  
4504  No options  No options
4505  First char = '['  First char = '['
4506  Need char = ']'  Need char = ']'
# Line 4622  No match Line 4518  No match
4518  Capturing subpattern count = 3  Capturing subpattern count = 3
4519  Named capturing subpatterns:  Named capturing subpatterns:
4520    elem   2    elem   2
 Partial matching not supported  
4521  No options  No options
4522  First char = '['  First char = '['
4523  Need char = ']'  Need char = ']'
# Line 4729  No need char Line 4624  No need char
4624    
4625  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4626  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4627  Options: caseless  Options: caseless
4628  No first char  No first char
4629  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4739  Need char = 'g' (caseless) Line 4633  Need char = 'g' (caseless)
4633    
4634  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4635  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4636  Options: caseless  Options: caseless
4637  No first char  No first char
4638  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4758  Study returned NULL Line 4651  Study returned NULL
4651          End          End
4652  ------------------------------------------------------------------  ------------------------------------------------------------------
4653  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4654  No options  No options
4655  No first char  No first char
4656  Need char = 'b'  Need char = 'b'
# Line 4851  No match Line 4743  No match
4743          End          End
4744  ------------------------------------------------------------------  ------------------------------------------------------------------
4745  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4746  Options:  Options:
4747  No first char  No first char
4748  Need char = 'b'  Need char = 'b'
# Line 4896  Need char = 'b' Line 4787  Need char = 'b'
4787          End          End
4788  ------------------------------------------------------------------  ------------------------------------------------------------------
4789  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4790  Options:  Options:
4791  First char = 'a'  First char = 'a'
4792  Need char = 'b'  Need char = 'b'
# Line 5334  No match Line 5224  No match
5224          End          End
5225  ------------------------------------------------------------------  ------------------------------------------------------------------
5226  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5227  Options:  Options:
5228  No first char  No first char
5229  Need char = '3'  Need char = '3'
# Line 5366  Need char = '3' Line 5255  Need char = '3'
5255    
5256  /\b.*/I  /\b.*/I
5257  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5258  No options  No options
5259  No first char  No first char
5260  No need char  No need char
# Line 5375  No need char Line 5263  No need char
5263    
5264  /\b.*/Is  /\b.*/Is
5265  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5266  Options: dotall  Options: dotall
5267  No first char  No first char
5268  No need char  No need char
# Line 5384  No need char Line 5271  No need char
5271    
5272  /(?!.bcd).*/I  /(?!.bcd).*/I
5273  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5274  No options  No options
5275  No first char  No first char
5276  No need char  No need char
# Line 5397  No options Line 5283  No options
5283  First char = 'a'  First char = 'a'
5284  Need char = 'e'  Need char = 'e'
5285      ab\P      ab\P
5286  Partial match  Partial match: ab
5287      abc\P      abc\P
5288  Partial match  Partial match: abc
5289      abcd\P      abcd\P
5290  Partial match  Partial match: abcd
5291      abcde\P      abcde\P
5292   0: abcde   0: abcde
5293      the quick brown abc\P      the quick brown abc\P
5294  Partial match  Partial match: abc
5295      ** Failers\P      ** Failers\P
5296  No match  No match
5297      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5430  Need char = '/' Line 5316  Need char = '/'
5316   1: 02   1: 02
5317   2: 05   2: 05
5318      1\P      1\P
5319  Partial match  Partial match: 1
5320      1/2\P      1/2\P
5321  Partial match  Partial match: 1/2
5322      1/2/0\P      1/2/0\P
5323  Partial match  Partial match: 1/2/0
5324      1/2/04\P      1/2/04\P
5325   0: 1/2/04   0: 1/2/04
5326   1: 1   1: 1
5327   2: 2   2: 2
5328      0\P      0\P
5329  Partial match  Partial match: 0
5330      02/\P      02/\P
5331  Partial match  Partial match: 02/
5332      02/0\P      02/0\P
5333  Partial match  Partial match: 02/0
5334      02/1\P      02/1\P
5335  Partial match  Partial match: 02/1
5336      ** Failers\P      ** Failers\P
5337  No match  No match
5338      \P      \P
# Line 5468  No match Line 5354  No match
5354    
5355  /0{0,2}ABC/I  /0{0,2}ABC/I
5356  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5357  No options  No options
5358  No first char  No first char
5359  Need char = 'C'  Need char = 'C'
5360    
5361  /\d{3,}ABC/I  /\d{3,}ABC/I
5362  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5363  No options  No options
5364  No first char  No first char
5365  Need char = 'C'  Need char = 'C'
5366    
5367  /\d*ABC/I  /\d*ABC/I
5368  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5369  No options  No options
5370  No first char  No first char
5371  Need char = 'C'  Need char = 'C'
5372    
5373  /[abc]+DE/I  /[abc]+DE/I
5374  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5375  No options  No options
5376  No first char  No first char
5377  Need char = 'E'  Need char = 'E'
# Line 5502  Need char = '3' Line 5384  Need char = '3'
5384      123\P      123\P
5385   0: 123   0: 123
5386      a\P      a\P
5387  Partial match  Partial match: a
5388      b\P      b\P
5389  Partial match  Partial match: b
5390      c\P      c\P
5391  Partial match  Partial match: c
5392      c12\P      c12\P
5393  Partial match  Partial match: c12
5394      c123\P      c123\P
5395   0: c123   0: c123
5396    
# Line 5518  Options: anchored Line 5400  Options: anchored
5400  No first char  No first char
5401  Need char = 'X'  Need char = 'X'
5402      1\P      1\P
5403  Partial match  Partial match: 1
5404      123\P      123\P
5405  Partial match  Partial match: 123
5406      123X      123X
5407   0: 123X   0: 123X
5408      1234\P      1234\P
5409  Partial match  Partial match: 1234
5410      1234X      1234X
5411   0: 1234X   0: 1234X
5412      12345\P      12345\P
5413  Partial match  Partial match: 12345
5414      12345X      12345X
5415   0: 12345X   0: 12345X
5416      *** Failers      *** Failers
# Line 5613  No match Line 5495  No match
5495  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5496  Capturing subpattern count = 3  Capturing subpattern count = 3
5497  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5498  Options: multiline dotall  Options: multiline dotall
5499  First char = '<'  First char = '<'
5500  Need char = '>'  Need char = '>'
# Line 5631  No need char Line 5512  No need char
5512    
5513  /line\nbreak/I  /line\nbreak/I
5514  Capturing subpattern count = 0  Capturing subpattern count = 0
5515    Contains explicit CR or LF match
5516  No options  No options
5517  First char = 'l'  First char = 'l'
5518  Need char = 'k'  Need char = 'k'
# Line 5641  Need char = 'k' Line 5523  Need char = 'k'
5523    
5524  /line\nbreak/If  /line\nbreak/If
5525  Capturing subpattern count = 0  Capturing subpattern count = 0
5526    Contains explicit CR or LF match
5527  Options: firstline  Options: firstline
5528  First char = 'l'  First char = 'l'
5529  Need char = 'k'  Need char = 'k'
# Line 5653  No match Line 5536  No match
5536    
5537  /line\nbreak/Imf  /line\nbreak/Imf
5538  Capturing subpattern count = 0  Capturing subpattern count = 0
5539    Contains explicit CR or LF match
5540  Options: multiline firstline  Options: multiline firstline
5541  First char = 'l'  First char = 'l'
5542  Need char = 'k'  Need char = 'k'
# Line 5663  No match Line 5547  No match
5547      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5548  No match  No match
5549    
5550  /ab.cd/IP  /ab.cd/P
5551      ab-cd      ab-cd
5552   0: ab-cd   0: ab-cd
5553      ab=cd      ab=cd
# Line 5673  No match: POSIX code 17: match failed Line 5557  No match: POSIX code 17: match failed
5557      ab\ncd      ab\ncd
5558  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
5559    
5560  /ab.cd/IPs  /ab.cd/Ps
5561      ab-cd      ab-cd
5562   0: ab-cd   0: ab-cd
5563      ab=cd      ab=cd
# Line 5917  Matched, but too many substrings Line 5801  Matched, but too many substrings
5801    
5802  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
5803  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5804  No options  No options
5805  No first char  No first char
5806  No need char  No need char
# Line 5930  No need char Line 5813  No need char
5813    
5814  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
5815  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5816  No options  No options
5817  No first char  No first char
5818  No need char  No need char
# Line 5941  No need char Line 5823  No need char
5823    
5824  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
5825  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5826  No options  No options
5827  No first char  No first char
5828  No need char  No need char
# Line 5952  No need char Line 5833  No need char
5833    
5834  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
5835  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5836  No options  No options
5837  No first char  No first char
5838  No need char  No need char
# Line 5965  No need char Line 5845  No need char
5845    
5846  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
5847  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5848  No options  No options
5849  No first char  No first char
5850  No need char  No need char
# Line 5978  No need char Line 5857  No need char
5857      ((this))      ((this))
5858   0: ((this))   0: ((this))
5859    
5860  /a(b)c/IPN  /a(b)c/PN
5861      abc      abc
5862  Matched with REG_NOSUB  Matched with REG_NOSUB
5863    
5864  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
5865      abc      abc
5866  Matched with REG_NOSUB  Matched with REG_NOSUB
5867    
# Line 6160  Named capturing subpatterns: Line 6039  Named capturing subpatterns:
6039    A   2    A   2
6040    A   3    A   3
6041  Options: anchored dupnames  Options: anchored dupnames
6042    Duplicate name status changes
6043  No first char  No first char
6044  No need char  No need char
6045      a1b\CA      a1b\CA
# Line 6306  Failed: octal value is greater than \377 Line 6186  Failed: octal value is greater than \377
6186    
6187  /\s*,\s*/IS  /\s*,\s*/IS
6188  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6189  No options  No options
6190  No first char  No first char
6191  Need char = ','  Need char = ','
# Line 6436  Unknown newline type at: <bad> Line 6315  Unknown newline type at: <bad>
6315    
6316  /.*/I<lf>  /.*/I<lf>
6317  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6318  Options:  Options:
6319  Forced newline sequence: LF  Forced newline sequence: LF
6320  First char at start or follows newline  First char at start or follows newline
# Line 6462  No need char Line 6340  No need char
6340    
6341  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6342  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6343  Options: dotall  Options: dotall
6344  No first char  No first char
6345  Need char = 'f'  Need char = 'f'
# Line 6479  Need char = 'f' Line 6356  Need char = 'f'
6356    
6357  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6358  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6359  No options  No options
6360  No first char  No first char
6361  No need char  No need char
# Line 6614  No need char Line 6490  No need char
6490    
6491  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6492  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6493  No options  No options
6494  No first char  No first char
6495  No need char  No need char
# Line 6673  Starting byte set: a b c d Line 6548  Starting byte set: a b c d
6548          End          End
6549  ------------------------------------------------------------------  ------------------------------------------------------------------
6550  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6551  Options: anchored  Options: anchored
6552  No first char  No first char
6553  Need char = 'b'  Need char = 'b'
# Line 6689  Need char = 'b' Line 6563  Need char = 'b'
6563          End          End
6564  ------------------------------------------------------------------  ------------------------------------------------------------------
6565  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6566  Options: anchored  Options: anchored
6567  No first char  No first char
6568  Need char = 'b'  Need char = 'b'
# Line 6705  Need char = 'b' Line 6578  Need char = 'b'
6578          End          End
6579  ------------------------------------------------------------------  ------------------------------------------------------------------
6580  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6581  Options: anchored  Options: anchored
6582  No first char  No first char
6583  Need char = 'b'  Need char = 'b'
# Line 6721  Need char = 'b' Line 6593  Need char = 'b'
6593          End          End
6594  ------------------------------------------------------------------  ------------------------------------------------------------------
6595  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6596  Options: anchored  Options: anchored
6597  No first char  No first char
6598  Need char = 'A'  Need char = 'A'
# Line 6743  No match Line 6614  No match
6614          End          End
6615  ------------------------------------------------------------------  ------------------------------------------------------------------
6616  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6617  Options: anchored caseless  Options: anchored caseless
6618  No first char  No first char
6619  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6754  Need char = 'A' (caseless) Line 6624  Need char = 'A' (caseless)
6624    
6625  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6626  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6627  No options  No options
6628  No first char  No first char
6629  No need char  No need char
# Line 6762  Starting byte set: a b c d Line 6631  Starting byte set: a b c d
6631    
6632  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6633  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6634  No options  No options
6635  No first char  No first char
6636  No need char  No need char
# Line 6770  Starting byte set: a b c d Line 6638  Starting byte set: a b c d
6638    
6639  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6640  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6641  No options  No options
6642  No first char  No first char
6643  No need char  No need char
# Line 6778  Starting byte set: a b c d Line 6645  Starting byte set: a b c d
6645    
6646  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6647  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6648  No options  No options
6649  No first char  No first char
6650  No need char  No need char
# Line 7653  Named capturing subpatterns: Line 7519  Named capturing subpatterns:
7519    one     1    one     1
7520    three   3    three   3
7521    two     2    two     2
 Partial matching not supported  
7522  Options: anchored caseless  Options: anchored caseless
7523  No first char  No first char
7524  No need char  No need char
# Line 7687  No match Line 7552  No match
7552  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7553  Capturing subpattern count = 1  Capturing subpattern count = 1
7554  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7555  No options  No options
7556  No first char  No first char
7557  Need char = ':'  Need char = ':'
# Line 7700  Capturing subpattern count = 1 Line 7564  Capturing subpattern count = 1
7564  Max back reference = 1  Max back reference = 1
7565  Named capturing subpatterns:  Named capturing subpatterns:
7566    abc   1    abc   1
 Partial matching not supported  
7567  No options  No options
7568  No first char  No first char
7569  Need char = ':'  Need char = ':'
# Line 7708  Need char = ':' Line 7571  Need char = ':'
7571   0: abcd:   0: abcd:
7572   1: abcd   1: abcd
7573    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
  0: a:aa  
  1: a  
     ab:ababxyz  
  0: ab:abab  
  1: ab  
     ** Failers  
 No match  
     a:axyz  
 No match  
     ab:abxyz  
 No match  
   
7574  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7575      adaa      adaa
7576   0: adaa   0: adaa
# Line 7748  No match Line 7597  No match
7597      bddd      bddd
7598  No match  No match
7599    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7600  /(?(<bc))/  /(?(<bc))/
7601  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7602    
# Line 7785  Failed: reference to non-existent subpat Line 7627  Failed: reference to non-existent subpat
7627   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7628   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7629    
 /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x  
     abcd  
  0: ab  
  1: <unset>  
  2: <unset>  
   
 /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))  
   (?(DEFINE)  
   (?<NAME_PAT>[a-z]+)  
   (?<ADDRESS_PAT>\d+)  
   )/x  
     metcalfe 33  
  0: metcalfe 33  
  1: metcalfe  
  2: 33  
  3: <unset>  
  4: <unset>  
   
7630  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7631  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7632    
# Line 7844  No match Line 7668  No match
7668  No match  No match
7669    
7670  /^abc./mgx<any>  /^abc./mgx<any>
7671      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
7672   0: abc1   0: abc1
7673   0: abc2   0: abc2
7674   0: abc3   0: abc3
# Line 7854  No match Line 7678  No match
7678   0: abc7   0: abc7
7679    
7680  /abc.$/mgx<any>  /abc.$/mgx<any>
7681      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
7682   0: abc1   0: abc1
7683   0: abc2   0: abc2
7684   0: abc3   0: abc3
# Line 7868  No match Line 7692  No match
7692  /a/<any><crlf>  /a/<any><crlf>
7693  Failed: inconsistent NEWLINE options at offset 0  Failed: inconsistent NEWLINE options at offset 0
7694    
7695  /^a\Rb/  /^a\Rb/<bsr_unicode>
7696      a\nb      a\nb
7697   0: a\x0ab   0: a\x0ab
7698      a\rb      a\rb
# Line 7886  No match Line 7710  No match
7710      a\n\rb      a\n\rb
7711  No match  No match
7712    
7713  /^a\R*b/  /^a\R*b/<bsr_unicode>
7714      ab      ab
7715   0: ab   0: ab
7716      a\nb      a\nb
# Line 7906  No match Line 7730  No match
7730      a\n\r\x85\x0cb      a\n\r\x85\x0cb
7731   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
7732    
7733  /^a\R+b/  /^a\R+b/<bsr_unicode>
7734      a\nb      a\nb
7735   0: a\x0ab   0: a\x0ab
7736      a\rb      a\rb
# Line 7928  No match Line 7752  No match
7752      ab      ab
7753  No match  No match
7754    
7755  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
7756      a\nb      a\nb
7757   0: a\x0ab   0: a\x0ab
7758      a\n\rb      a\n\rb
# Line 7950  No match Line 7774  No match
7774      a\r      a\r
7775  No match  No match
7776    
7777  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
7778      aRb      aRb
7779   0: aRb   0: aRb
7780      ** Failers      ** Failers
# Line 7980  Need char = 'P' Line 7804  Need char = 'P'
7804   0: PXP   0: PXP
7805   1: P   1: P
7806    
 /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/  
     1.2.3.4  
  0: 1.2.3.4  
  1: <unset>  
  2: .4  
     131.111.10.206  
  0: 131.111.10.206  
  1: <unset>  
  2: .206  
     10.0.0.0  
  0: 10.0.0.0  
  1: <unset>  
  2: .0  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
 /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/  
     1.2.3.4  
  0: 1.2.3.4  
  1: .4  
  2: <unset>  
     131.111.10.206  
  0: 131.111.10.206  
  1: .206  
  2: <unset>  
     10.0.0.0  
  0: 10.0.0.0  
  1: .0  
  2: <unset>  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
7807  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
7808      123axbaxbaxbx456      123axbaxbaxbx456
7809   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8057  No match Line 7841  No match
7841     DEFabcABCXYZ     DEFabcABCXYZ
7842  No match  No match
7843    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
7844  /^(a)\g-2/  /^(a)\g-2/
7845  Failed: reference to non-existent subpattern at offset 4  Failed: reference to non-existent subpattern at offset 7
7846    
7847  /^(a)\g/  /^(a)\g/
7848  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: a numbered reference must not be zero at offset 5
7849    
7850  /^(a)\g{0}/  /^(a)\g{0}/
7851  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: a numbered reference must not be zero at offset 8
7852    
7853  /^(a)\g{3/  /^(a)\g{3/
7854  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
7855    
7856  /^(a)\g{4a}/  /^(a)\g{4a}/
7857  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 8156  No match Line 7934  No match
7934   0+   0+
7935    
7936  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
7937      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
7938   0: abc1   0: abc1
7939   0: abc4   0: abc4
7940   0: abc5   0: abc5
# Line 8210  No match Line 7988  No match
7988  No match  No match
7989    
7990  /x(?-0)y/  /x(?-0)y/
7991  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
7992    
7993  /x(?-1)y/  /x(?-1)y/
7994  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
7995    
7996  /x(?+0)y/  /x(?+0)y/
7997  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
7998    
7999  /x(?+1)y/  /x(?+1)y/
8000  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
# Line 8298  Failed: reference to non-existent subpat Line 8076  Failed: reference to non-existent subpat
8076  /((?(-2)a))/BZ  /((?(-2)a))/BZ
8077  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8078    
8079  /^(?(+1)X|Y)/BZ  /^(?(+1)X|Y)(.)/BZ
8080  ------------------------------------------------------------------  ------------------------------------------------------------------
8081          Bra          Bra
8082          ^          ^
# Line 8308  Failed: reference to non-existent subpat Line 8086  Failed: reference to non-existent subpat
8086          Alt          Alt
8087          Y          Y
8088          Ket          Ket
8089            CBra 1
8090            Any
8091            Ket
8092          Ket          Ket
8093          End          End
8094  ------------------------------------------------------------------  ------------------------------------------------------------------
8095      Y      Y!
8096   0: Y   0: Y!
8097     1: !
 /(foo)\Kbar/  
     foobar  
  0: bar  
  1: foo  
   
 /(foo)(\Kbar|baz)/  
     foobar  
  0: bar  
  1: foo  
  2: bar  
     foobaz  
  0: foobaz  
  1: foo  
  2: baz  
   
 /(foo\Kbar)baz/  
     foobarbaz  
  0: barbaz  
  1: foobar  
8098    
8099  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8100      tom-tom      tom-tom
# Line 8346  No match Line 8108  No match
8108      tom-bon      tom-bon
8109  No match  No match
8110    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8111  /\g{A/  /\g{A/
8112  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8113    
# Line 8448  Failed: syntax error in subpattern name Line 8202  Failed: syntax error in subpattern name
8202   3: <unset>   3: <unset>
8203   4: x   4: x
8204    
 /(?|(abc)|(xyz))\1/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzxyz  
  0: xyzxyz  
  1: xyz  
     ** Failers  
 No match  
     abcxyz  
 No match  
     xyzabc  
 No match  
   
 /(?|(abc)|(xyz))(?1)/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzabc  
  0: xyzabc  
  1: xyz  
     ** Failers  
 No match  
     xyzxyz  
 No match  
   
 /\H\h\V\v/  
     X X\x0a  
  0: X X\x0a  
     X\x09X\x0b  
  0: X\x09X\x0b  
     ** Failers  
 No match  
     \xa0 X\x0a  
 No match  
   
 /\H*\h+\V?\v{3,4}/  
     \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0X\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c  
  0: \x09 \xa0\x0a\x0b\x0c  
     ** Failers  
 No match  
     \x09\x20\xa0\x0a\x0b  
 No match  
   
 /\H{3,4}/  
     XY  ABCDE  
  0: ABCD  
     XY  PQR ST  
  0: PQR  
   
 /.\h{3,4}./  
     XY  AB    PQRS  
  0: B    P  
   
 /\h*X\h?\H+Y\H?Z/  
     >XNNNYZ  
  0: XNNNYZ  
     >  X NYQZ  
  0:   X NYQZ  
     ** Failers  
 No match  
     >XYZ  
 No match  
     >  X NY Z  
 No match  
   
 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/  
     >XY\x0aZ\x0aA\x0bNN\x0c  
  0: XY\x0aZ\x0aA\x0bNN\x0c  
     >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
  0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
   
8205  /[\h]/BZ  /[\h]/BZ
8206  ------------------------------------------------------------------  ------------------------------------------------------------------
8207          Bra          Bra
# Line 8778  No match Line 8456  No match
8456  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8457   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8458    
8459    /[\E]AAA/
8460    Failed: missing terminating ] for character class at offset 7
8461    
8462    /[\Q\E]AAA/
8463    Failed: missing terminating ] for character class at offset 9
8464    
8465    /[^\E]AAA/
8466    Failed: missing terminating ] for character class at offset 8
8467    
8468    /[^\Q\E]AAA/
8469    Failed: missing terminating ] for character class at offset 10
8470    
8471    /[\E^]AAA/
8472    Failed: missing terminating ] for character class at offset 8
8473    
8474    /[\Q\E^]AAA/
8475    Failed: missing terminating ] for character class at offset 10
8476    
8477    /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
8478    ------------------------------------------------------------------
8479            Bra
8480            A
8481            *PRUNE
8482            B
8483            *SKIP
8484            C
8485            *THEN
8486            D
8487            *COMMIT
8488            E
8489            *FAIL
8490            F
8491            *FAIL
8492            G
8493            *FAIL
8494            H
8495            *ACCEPT
8496            I
8497            Ket
8498            End
8499    ------------------------------------------------------------------
8500    
8501    /^a+(*FAIL)/C
8502        aaaaaa
8503    --->aaaaaa
8504     +0 ^          ^
8505     +1 ^          a+
8506     +3 ^     ^    (*FAIL)
8507     +3 ^    ^     (*FAIL)
8508     +3 ^   ^      (*FAIL)
8509     +3 ^  ^       (*FAIL)
8510     +3 ^ ^        (*FAIL)
8511     +3 ^^         (*FAIL)
8512    No match
8513    
8514    /a+b?c+(*FAIL)/C
8515        aaabccc
8516    --->aaabccc
8517     +0 ^           a+
8518     +2 ^  ^        b?
8519     +4 ^   ^       c+
8520     +6 ^      ^    (*FAIL)
8521     +6 ^     ^     (*FAIL)
8522     +6 ^    ^      (*FAIL)
8523     +4 ^  ^        c+
8524     +2 ^ ^         b?
8525     +4 ^ ^         c+
8526     +2 ^^          b?
8527     +4 ^^          c+
8528     +0  ^          a+
8529     +2  ^ ^        b?
8530     +4  ^  ^       c+
8531     +6  ^     ^    (*FAIL)
8532     +6  ^    ^     (*FAIL)
8533     +6  ^   ^      (*FAIL)
8534     +4  ^ ^        c+
8535     +2  ^^         b?
8536     +4  ^^         c+
8537     +0   ^         a+
8538     +2   ^^        b?
8539     +4   ^ ^       c+
8540     +6   ^    ^    (*FAIL)
8541     +6   ^   ^     (*FAIL)
8542     +6   ^  ^      (*FAIL)
8543     +4   ^^        c+
8544    No match
8545    
8546    /a+b?(*PRUNE)c+(*FAIL)/C
8547        aaabccc
8548    --->aaabccc
8549     +0 ^           a+
8550     +2 ^  ^        b?
8551     +4 ^   ^       (*PRUNE)
8552    +12 ^   ^       c+
8553    +14 ^      ^    (*FAIL)
8554    +14 ^     ^     (*FAIL)
8555    +14 ^    ^      (*FAIL)
8556     +0  ^          a+
8557     +2  ^ ^        b?
8558     +4  ^  ^       (*PRUNE)
8559    +12  ^  ^       c+
8560    +14  ^     ^    (*FAIL)
8561    +14  ^    ^     (*FAIL)
8562    +14  ^   ^      (*FAIL)
8563     +0   ^         a+
8564     +2   ^^        b?
8565     +4   ^ ^       (*PRUNE)
8566    +12   ^ ^       c+
8567    +14   ^    ^    (*FAIL)
8568    +14   ^   ^     (*FAIL)
8569    +14   ^  ^      (*FAIL)
8570    No match
8571    
8572    /a+b?(*COMMIT)c+(*FAIL)/C
8573        aaabccc
8574    --->aaabccc
8575     +0 ^           a+
8576     +2 ^  ^        b?
8577     +4 ^   ^       (*COMMIT)
8578    +13 ^   ^       c+
8579    +15 ^      ^    (*FAIL)
8580    +15 ^     ^     (*FAIL)
8581    +15 ^    ^      (*FAIL)
8582    No match
8583    
8584    /a+b?(*SKIP)c+(*FAIL)/C
8585        aaabcccaaabccc
8586    --->aaabcccaaabccc
8587     +0 ^                  a+
8588     +2 ^  ^               b?
8589     +4 ^   ^              (*SKIP)
8590    +11 ^   ^              c+
8591    +13 ^      ^           (*FAIL)
8592    +13 ^     ^            (*FAIL)
8593    +13 ^    ^             (*FAIL)
8594     +0        ^           a+
8595     +2        ^  ^        b?
8596     +4        ^   ^       (*SKIP)
8597    +11        ^   ^       c+
8598    +13        ^      ^    (*FAIL)
8599    +13        ^     ^     (*FAIL)
8600    +13        ^    ^      (*FAIL)
8601    No match
8602    
8603    /a+b?(*THEN)c+(*FAIL)/C
8604        aaabccc
8605    --->aaabccc
8606     +0 ^           a+
8607     +2 ^  ^        b?
8608     +4 ^   ^       (*THEN)
8609    +11 ^   ^       c+
8610    +13 ^      ^    (*FAIL)
8611    +13 ^     ^     (*FAIL)
8612    +13 ^    ^      (*FAIL)
8613     +0  ^          a+
8614     +2  ^ ^        b?
8615     +4  ^  ^       (*THEN)
8616    +11  ^  ^       c+
8617    +13  ^     ^    (*FAIL)
8618    +13  ^    ^     (*FAIL)
8619    +13  ^   ^      (*FAIL)
8620     +0   ^         a+
8621     +2   ^^        b?
8622     +4   ^ ^       (*THEN)
8623    +11   ^ ^       c+
8624    +13   ^    ^    (*FAIL)
8625    +13   ^   ^     (*FAIL)
8626    +13   ^  ^      (*FAIL)
8627    No match
8628    
8629    /a(*PRUNE:XXX)b/
8630    Failed: (*VERB) with an argument is not supported at offset 8
8631    
8632    /a(*MARK)b/
8633    Failed: (*VERB) not recognized at offset 7
8634    
8635    /(?i:A{1,}\6666666666)/
8636    Failed: number is too big at offset 19
8637    
8638    /\g6666666666/
8639    Failed: number is too big at offset 11
8640    
8641    /[\g6666666666]/
8642    Failed: number is too big at offset 12
8643    
8644    /(?1)\c[/
8645    Failed: reference to non-existent subpattern at offset 3
8646    
8647    /.+A/<crlf>
8648        \r\nA
8649    No match
8650    
8651    /\nA/<crlf>
8652        \r\nA
8653     0: \x0aA
8654    
8655    /[\r\n]A/<crlf>
8656        \r\nA
8657     0: \x0aA
8658    
8659    /(\r|\n)A/<crlf>
8660        \r\nA
8661     0: \x0aA
8662     1: \x0a
8663    
8664    /a(*CR)b/
8665    Failed: (*VERB) not recognized at offset 5
8666    
8667    /(*CR)a.b/
8668        a\nb
8669     0: a\x0ab
8670        ** Failers
8671    No match
8672        a\rb
8673    No match
8674    
8675    /(*CR)a.b/<lf>
8676        a\nb
8677     0: a\x0ab
8678        ** Failers
8679    No match
8680        a\rb
8681    No match
8682    
8683    /(*LF)a.b/<CRLF>
8684        a\rb
8685     0: a\x0db
8686        ** Failers
8687    No match
8688        a\nb
8689    No match
8690    
8691    /(*CRLF)a.b/
8692        a\rb
8693     0: a\x0db
8694        a\nb
8695     0: a\x0ab
8696        ** Failers
8697    No match
8698        a\r\nb
8699    No match
8700    
8701    /(*ANYCRLF)a.b/<CR>
8702        ** Failers
8703    No match
8704        a\rb
8705    No match
8706        a\nb
8707    No match
8708        a\r\nb
8709    No match
8710    
8711    /(*ANY)a.b/<cr>
8712        ** Failers
8713    No match
8714        a\rb
8715    No match
8716        a\nb
8717    No match
8718        a\r\nb
8719    No match
8720        a\x85b
8721    No match
8722    
8723    /a\Rb/I<bsr_anycrlf>
8724    Capturing subpattern count = 0
8725    Options: bsr_anycrlf
8726    First char = 'a'
8727    Need char = 'b'
8728        a\rb
8729     0: a\x0db
8730        a\nb
8731     0: a\x0ab
8732        a\r\nb
8733     0: a\x0d\x0ab
8734        ** Failers
8735    No match
8736        a\x85b
8737    No match
8738        a\x0bb
8739    No match
8740    
8741    /a\Rb/I<bsr_unicode>
8742    Capturing subpattern count = 0
8743    Options: bsr_unicode
8744    First char = 'a'
8745    Need char = 'b'
8746        a\rb
8747     0: a\x0db
8748        a\nb
8749     0: a\x0ab
8750        a\r\nb
8751     0: a\x0d\x0ab
8752        a\x85b
8753     0: a\x85b
8754        a\x0bb
8755     0: a\x0bb
8756        ** Failers
8757    No match
8758        a\x85b\<bsr_anycrlf>
8759    No match
8760        a\x0bb\<bsr_anycrlf>
8761    No match
8762    
8763    /a\R?b/I<bsr_anycrlf>
8764    Capturing subpattern count = 0
8765    Options: bsr_anycrlf
8766    First char = 'a'
8767    Need char = 'b'
8768        a\rb
8769     0: a\x0db
8770        a\nb
8771     0: a\x0ab
8772        a\r\nb
8773     0: a\x0d\x0ab
8774        ** Failers
8775    No match
8776        a\x85b
8777    No match
8778        a\x0bb
8779    No match
8780    
8781    /a\R?b/I<bsr_unicode>
8782    Capturing subpattern count = 0
8783    Options: bsr_unicode
8784    First char = 'a'
8785    Need char = 'b'
8786        a\rb
8787     0: a\x0db
8788        a\nb
8789     0: a\x0ab
8790        a\r\nb
8791     0: a\x0d\x0ab
8792        a\x85b
8793     0: a\x85b
8794        a\x0bb
8795     0: a\x0bb
8796        ** Failers
8797    No match
8798        a\x85b\<bsr_anycrlf>
8799    No match
8800        a\x0bb\<bsr_anycrlf>
8801    No match
8802    
8803    /a\R{2,4}b/I<bsr_anycrlf>
8804    Capturing subpattern count = 0
8805    Options: bsr_anycrlf
8806    First char = 'a'
8807    Need char = 'b'
8808        a\r\n\nb
8809     0: a\x0d\x0a\x0ab
8810        a\n\r\rb
8811     0: a\x0a\x0d\x0db
8812        a\r\n\r\n\r\n\r\nb
8813     0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
8814        ** Failers
8815    No match
8816        a\x85\85b
8817    No match
8818        a\x0b\0bb
8819    No match
8820    
8821    /a\R{2,4}b/I<bsr_unicode>
8822    Capturing subpattern count = 0
8823    Options: bsr_unicode
8824    First char = 'a'
8825    Need char = 'b'
8826        a\r\rb
8827     0: a\x0d\x0db
8828        a\n\n\nb
8829     0: a\x0a\x0a\x0ab
8830        a\r\n\n\r\rb
8831     0: a\x0d\x0a\x0a\x0d\x0db
8832        a\x85\85b
8833    No match
8834        a\x0b\0bb
8835    No match
8836        ** Failers
8837    No match
8838        a\r\r\r\r\rb
8839    No match
8840        a\x85\85b\<bsr_anycrlf>
8841    No match
8842        a\x0b\0bb\<bsr_anycrlf>
8843    No match
8844    
8845    /(*BSR_ANYCRLF)a\Rb/I
8846    Capturing subpattern count = 0
8847    Options: bsr_anycrlf
8848    First char = 'a'
8849    Need char = 'b'
8850        a\nb
8851     0: a\x0ab
8852        a\rb
8853     0: a\x0db
8854    
8855    /(*BSR_UNICODE)a\Rb/I
8856    Capturing subpattern count = 0
8857    Options: bsr_unicode
8858    First char = 'a'
8859    Need char = 'b'
8860        a\x85b
8861     0: a\x85b
8862    
8863    /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
8864    Capturing subpattern count = 0
8865    Options: bsr_anycrlf
8866    Forced newline sequence: CRLF
8867    First char = 'a'
8868    Need char = 'b'
8869        a\nb
8870     0: a\x0ab
8871        a\rb
8872     0: a\x0db
8873    
8874    /(*CRLF)(*BSR_UNICODE)a\Rb/I
8875    Capturing subpattern count = 0
8876    Options: bsr_unicode
8877    Forced newline sequence: CRLF
8878    First char = 'a'
8879    Need char = 'b'
8880        a\x85b
8881     0: a\x85b
8882    
8883    /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
8884    Capturing subpattern count = 0
8885    Options: bsr_anycrlf
8886    Forced newline sequence: CR
8887    First char = 'a'
8888    Need char = 'b'
8889    
8890    /(?<a>)(?&)/
8891    Failed: subpattern name expected at offset 9
8892    
8893    /(?<abc>)(?&a)/
8894    Failed: reference to non-existent subpattern at offset 12
8895    
8896    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
8897    Failed: reference to non-existent subpattern at offset 32
8898    
8899    /(?+-a)/
8900    Failed: digit expected after (?+ at offset 3
8901    
8902    /(?-+a)/
8903    Failed: unrecognized character after (? or (?- at offset 3
8904    
8905    /(?(-1))/
8906    Failed: reference to non-existent subpattern at offset 6
8907    
8908    /(?(+10))/
8909    Failed: reference to non-existent subpattern at offset 7
8910    
8911    /(?(10))/
8912    Failed: reference to non-existent subpattern at offset 6
8913    
8914    /(?(+2))()()/
8915    
8916    /(?(2))()()/
8917    
8918    /\k''/
8919    Failed: subpattern name expected at offset 3
8920    
8921    /\k<>/
8922    Failed: subpattern name expected at offset 3
8923    
8924    /\k{}/
8925    Failed: subpattern name expected at offset 3
8926    
8927    /(?P=)/
8928    Failed: subpattern name expected at offset 4
8929    
8930    /(?P>)/
8931    Failed: subpattern name expected at offset 4
8932    
8933    /(?!\w)(?R)/
8934    Failed: recursive call could loop indefinitely at offset 9
8935    
8936    /(?=\w)(?R)/
8937    Failed: recursive call could loop indefinitely at offset 9
8938    
8939    /(?<!\w)(?R)/
8940    Failed: recursive call could loop indefinitely at offset 10
8941    
8942    /(?<=\w)(?R)/
8943    Failed: recursive call could loop indefinitely at offset 10
8944    
8945    /[[:foo:]]/
8946    Failed: unknown POSIX class name at offset 3
8947    
8948    /[[:1234:]]/
8949    Failed: unknown POSIX class name at offset 3
8950    
8951    /[[:f\oo:]]/
8952    Failed: unknown POSIX class name at offset 3
8953    
8954    /[[: :]]/
8955    Failed: unknown POSIX class name at offset 3
8956    
8957    /[[:...:]]/
8958    Failed: unknown POSIX class name at offset 3
8959    
8960    /[[:l\ower:]]/
8961    Failed: unknown POSIX class name at offset 3
8962    
8963    /[[:abc\:]]/
8964    Failed: unknown POSIX class name at offset 3
8965    
8966    /[abc[:x\]pqr:]]/
8967    Failed: unknown POSIX class name at offset 6
8968    
8969    /[[:a\dz:]]/
8970    Failed: unknown POSIX class name at offset 3
8971    
8972    /(^(a|b\g<-1'c))/
8973    Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
8974    
8975    /^(?+1)(?<a>x|y){0}z/
8976        xzxx
8977     0: xz
8978        yzyy
8979     0: yz
8980        ** Failers
8981    No match
8982        xxz
8983    No match
8984    
8985    /(\3)(\1)(a)/
8986        cat
8987    No match
8988    
8989    /(\3)(\1)(a)/<JS>
8990        cat
8991     0: a
8992     1:
8993     2:
8994     3: a
8995    
8996    /TA]/
8997        The ACTA] comes
8998     0: TA]
8999    
9000    /TA]/<JS>
9001    Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
9002    
9003    /(?2)[]a()b](abc)/
9004    Failed: reference to non-existent subpattern at offset 3
9005    
9006    /(?2)[^]a()b](abc)/
9007    Failed: reference to non-existent subpattern at offset 3
9008    
9009    /(?1)[]a()b](abc)/
9010        abcbabc
9011     0: abcbabc
9012     1: abc
9013        ** Failers
9014    No match
9015        abcXabc
9016    No match
9017    
9018    /(?1)[^]a()b](abc)/
9019        abcXabc
9020     0: abcXabc
9021     1: abc
9022        ** Failers
9023    No match
9024        abcbabc
9025    No match
9026    
9027    /(?2)[]a()b](abc)(xyz)/
9028        xyzbabcxyz
9029     0: xyzbabcxyz
9030     1: abc
9031     2: xyz
9032    
9033    /(?&N)[]a(?<N>)](?<M>abc)/
9034    Failed: reference to non-existent subpattern at offset 4
9035    
9036    /(?&N)[]a(?<N>)](abc)/
9037    Failed: reference to non-existent subpattern at offset 4
9038    
9039    /a[]b/
9040    Failed: missing terminating ] for character class at offset 4
9041    
9042    /a[^]b/
9043    Failed: missing terminating ] for character class at offset 5
9044    
9045    /a[]b/<JS>
9046        ** Failers
9047    No match
9048        ab
9049    No match
9050    
9051    /a[]+b/<JS>
9052        ** Failers
9053    No match
9054        ab
9055    No match
9056    
9057    /a[]*+b/<JS>
9058        ** Failers
9059    No match
9060        ab
9061    No match
9062    
9063    /a[^]b/<JS>
9064        aXb
9065     0: aXb
9066        a\nb
9067     0: a\x0ab
9068        ** Failers
9069    No match
9070        ab
9071    No match
9072    
9073    /a[^]+b/<JS>
9074        aXb
9075     0: aXb
9076        a\nX\nXb
9077     0: a\x0aX\x0aXb
9078        ** Failers
9079    No match
9080        ab
9081    No match
9082    
9083    /a(?!)+b/
9084    Failed: nothing to repeat at offset 5
9085    
9086    /a(*FAIL)+b/
9087    Failed: nothing to repeat at offset 8
9088    
9089    /(abc|pqr|123){0}[xyz]/SI
9090    Capturing subpattern count = 1
9091    No options
9092    No first char
9093    No need char
9094    Starting byte set: x y z
9095    
9096    /(?(?=.*b)b|^)/CI
9097    Capturing subpattern count = 0
9098    Options:
9099    No first char
9100    No need char
9101       adc
9102    --->adc
9103     +0 ^       (?(?=.*b)b|^)
9104     +2 ^       (?=.*b)
9105     +5 ^       .*
9106     +7 ^  ^    b
9107     +7 ^ ^     b
9108     +7 ^^      b
9109     +7 ^       b
9110    +12 ^       )
9111    +13 ^
9112     0:
9113       abc
9114    --->abc
9115     +0 ^       (?(?=.*b)b|^)
9116     +2 ^       (?=.*b)
9117     +5 ^       .*
9118     +7 ^  ^    b
9119     +7 ^ ^     b
9120     +7 ^^      b
9121     +8 ^ ^     )
9122     +9 ^       b
9123     +0  ^      (?(?=.*b)b|^)
9124     +2  ^      (?=.*b)
9125     +5  ^      .*
9126     +7  ^ ^    b
9127     +7  ^^     b
9128     +7  ^      b
9129     +8  ^^     )
9130     +9  ^      b
9131    +10  ^^     |
9132    +13  ^^
9133     0: b
9134    
9135    /(?(?=b).*b|^d)/I
9136    Capturing subpattern count = 0
9137    No options
9138    No first char
9139    No need char
9140    
9141    /(?(?=.*b).*b|^d)/I
9142    Capturing subpattern count = 0
9143    No options
9144    First char at start or follows newline
9145    No need char
9146    
9147    /a?|b?/P
9148        abc
9149     0: a
9150        ** Failers
9151     0:
9152        ddd\N
9153    No match: POSIX code 17: match failed
9154    
9155    /xyz/C
9156      xyz
9157    --->xyz
9158     +0 ^       x
9159     +1 ^^      y
9160     +2 ^ ^     z
9161     +3 ^  ^
9162     0: xyz
9163      abcxyz
9164    --->abcxyz
9165     +0    ^       x
9166     +1    ^^      y
9167     +2    ^ ^     z
9168     +3    ^  ^
9169     0: xyz
9170      abcxyz\Y
9171    --->abcxyz
9172     +0 ^          x
9173     +0  ^         x
9174     +0   ^        x
9175     +0    ^       x
9176     +1    ^^      y
9177     +2    ^ ^     z
9178     +3    ^  ^
9179     0: xyz
9180      ** Failers
9181    No match
9182      abc
9183    No match
9184      abc\Y
9185    --->abc
9186     +0 ^       x
9187     +0  ^      x
9188     +0   ^     x
9189     +0    ^    x
9190    No match
9191      abcxypqr
9192    No match
9193      abcxypqr\Y
9194    --->abcxypqr
9195     +0 ^            x
9196     +0  ^           x
9197     +0   ^          x
9198     +0    ^         x
9199     +1    ^^        y
9200     +2    ^ ^       z
9201     +0     ^        x
9202     +0      ^       x
9203     +0       ^      x
9204     +0        ^     x
9205     +0         ^    x
9206    No match
9207    
9208    /^"((?(?=[a])[^"])|b)*"$/C
9209        "ab"
9210    --->"ab"
9211     +0 ^        ^
9212     +1 ^        "
9213     +2 ^^       ((?(?=[a])[^"])|b)*
9214     +3 ^^       (?(?=[a])[^"])
9215     +5 ^^       (?=[a])
9216     +8 ^^       [a]
9217    +11 ^ ^      )
9218    +12 ^^       [^"]
9219    +16 ^ ^      )
9220    +17 ^ ^      |
9221     +3 ^ ^      (?(?=[a])[^"])
9222     +5 ^ ^      (?=[a])
9223     +8 ^ ^      [a]
9224    +21 ^ ^      "
9225    +18 ^ ^      b
9226    +19 ^  ^     )
9227     +3 ^  ^     (?(?=[a])[^"])
9228     +5 ^  ^     (?=[a])
9229     +8 ^  ^     [a]
9230    +21 ^  ^     "
9231    +22 ^   ^    $
9232    +23 ^   ^
9233     0: "ab"
9234     1:
9235    
9236    /^"((?(?=[a])[^"])|b)*"$/
9237        "ab"
9238     0: "ab"
9239     1:
9240    
9241    /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9242    Failed: reference to non-existent subpattern at offset 5
9243    
9244    /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
9245        XYabcdY
9246     0: XYabcdY
9247     1: a
9248     2: b
9249     3: c
9250     4: d
9251     5: Y
9252    
9253    /Xa{2,4}b/
9254        X\P
9255    Partial match: X
9256        Xa\P
9257    Partial match: Xa
9258        Xaa\P
9259    Partial match: Xaa
9260        Xaaa\P
9261    Partial match: Xaaa
9262        Xaaaa\P
9263    Partial match: Xaaaa
9264    
9265    /Xa{2,4}?b/
9266        X\P
9267    Partial match: X
9268        Xa\P
9269    Partial match: Xa
9270        Xaa\P
9271    Partial match: Xaa
9272        Xaaa\P
9273    Partial match: Xaaa
9274        Xaaaa\P
9275    Partial match: Xaaaa
9276    
9277    /Xa{2,4}+b/
9278        X\P
9279    Partial match: X
9280        Xa\P
9281    Partial match: Xa
9282        Xaa\P
9283    Partial match: Xaa
9284        Xaaa\P
9285    Partial match: Xaaa
9286        Xaaaa\P
9287    Partial match: Xaaaa
9288    
9289    /X\d{2,4}b/
9290        X\P
9291    Partial match: X
9292        X3\P
9293    Partial match: X3
9294        X33\P
9295    Partial match: X33
9296        X333\P
9297    Partial match: X333
9298        X3333\P
9299    Partial match: X3333
9300    
9301    /X\d{2,4}?b/
9302        X\P
9303    Partial match: X
9304        X3\P
9305    Partial match: X3
9306        X33\P
9307    Partial match: X33
9308        X333\P
9309    Partial match: X333
9310        X3333\P
9311    Partial match: X3333
9312    
9313    /X\d{2,4}+b/
9314        X\P
9315    Partial match: X
9316        X3\P
9317    Partial match: X3
9318        X33\P
9319    Partial match: X33
9320        X333\P
9321    Partial match: X333
9322        X3333\P
9323    Partial match: X3333
9324    
9325    /X\D{2,4}b/
9326        X\P
9327    Partial match: X
9328        Xa\P
9329    Partial match: Xa
9330        Xaa\P
9331    Partial match: Xaa
9332        Xaaa\P
9333    Partial match: Xaaa
9334        Xaaaa\P
9335    Partial match: Xaaaa
9336    
9337    /X\D{2,4}?b/
9338        X\P
9339    Partial match: X
9340        Xa\P
9341    Partial match: Xa
9342        Xaa\P
9343    Partial match: Xaa
9344        Xaaa\P
9345    Partial match: Xaaa
9346        Xaaaa\P
9347    Partial match: Xaaaa
9348    
9349    /X\D{2,4}+b/
9350        X\P
9351    Partial match: X
9352        Xa\P
9353    Partial match: Xa
9354        Xaa\P
9355    Partial match: Xaa
9356        Xaaa\P
9357    Partial match: Xaaa
9358        Xaaaa\P
9359    Partial match: Xaaaa
9360    
9361    /X[abc]{2,4}b/
9362        X\P
9363    Partial match: X
9364        Xa\P
9365    Partial match: Xa
9366        Xaa\P
9367    Partial match: Xaa
9368        Xaaa\P
9369    Partial match: Xaaa
9370        Xaaaa\P
9371    Partial match: Xaaaa
9372    
9373    /X[abc]{2,4}?b/
9374        X\P
9375    Partial match: X
9376        Xa\P
9377    Partial match: Xa
9378        Xaa\P
9379    Partial match: Xaa
9380        Xaaa\P
9381    Partial match: Xaaa
9382        Xaaaa\P
9383    Partial match: Xaaaa
9384    
9385    /X[abc]{2,4}+b/
9386        X\P
9387    Partial match: X
9388        Xa\P
9389    Partial match: Xa
9390        Xaa\P
9391    Partial match: Xaa
9392        Xaaa\P
9393    Partial match: Xaaa
9394        Xaaaa\P
9395    Partial match: Xaaaa
9396    
9397    /X[^a]{2,4}b/
9398        X\P
9399    Partial match: X
9400        Xz\P
9401    Partial match: Xz
9402        Xzz\P
9403    Partial match: Xzz
9404        Xzzz\P
9405    Partial match: Xzzz
9406        Xzzzz\P
9407    Partial match: Xzzzz
9408    
9409    /X[^a]{2,4}?b/
9410        X\P
9411    Partial match: X
9412        Xz\P
9413    Partial match: Xz
9414        Xzz\P
9415    Partial match: Xzz
9416        Xzzz\P
9417    Partial match: Xzzz
9418        Xzzzz\P
9419    Partial match: Xzzzz
9420    
9421    /X[^a]{2,4}+b/
9422        X\P
9423    Partial match: X
9424        Xz\P
9425    Partial match: Xz
9426        Xzz\P
9427    Partial match: Xzz
9428        Xzzz\P
9429    Partial match: Xzzz
9430        Xzzzz\P
9431    Partial match: Xzzzz
9432    
9433    /(Y)X\1{2,4}b/
9434        YX\P
9435    Partial match: YX
9436        YXY\P
9437    Partial match: YXY
9438        YXYY\P
9439    Partial match: YXYY
9440        YXYYY\P
9441    Partial match: YXYYY
9442        YXYYYY\P
9443    Partial match: YXYYYY
9444    
9445    /(Y)X\1{2,4}?b/
9446        YX\P
9447    Partial match: YX
9448        YXY\P
9449    Partial match: YXY
9450        YXYY\P
9451    Partial match: YXYY
9452        YXYYY\P
9453    Partial match: YXYYY
9454        YXYYYY\P
9455    Partial match: YXYYYY
9456    
9457    /(Y)X\1{2,4}+b/
9458        YX\P
9459    Partial match: YX
9460        YXY\P
9461    Partial match: YXY
9462        YXYY\P
9463    Partial match: YXYY
9464        YXYYY\P
9465    Partial match: YXYYY
9466        YXYYYY\P
9467    Partial match: YXYYYY
9468    
9469    /\++\KZ|\d+X|9+Y/
9470        ++++123999\P
9471    Partial match: 123999
9472        ++++123999Y\P
9473     0: 999Y
9474        ++++Z1234\P
9475     0: Z
9476    
9477    /Z(*F)/
9478        Z\P
9479    No match
9480        ZA\P
9481    No match
9482    
9483    /Z(?!)/
9484        Z\P
9485    No match
9486        ZA\P
9487    No match
9488    
9489    /dog(sbody)?/
9490        dogs\P
9491     0: dog
9492        dogs\P\P
9493    Partial match: dogs
9494    
9495    /dog(sbody)??/
9496        dogs\P
9497     0: dog
9498        dogs\P\P
9499     0: dog
9500    
9501    /dog|dogsbody/
9502        dogs\P
9503     0: dog
9504        dogs\P\P
9505     0: dog
9506    
9507    /dogsbody|dog/
9508        dogs\P
9509     0: dog
9510        dogs\P\P
9511    Partial match: dogs
9512    
9513    /\bthe cat\b/
9514        the cat\P
9515     0: the cat
9516        the cat\P\P
9517    Partial match: the cat
9518    
9519    /abc/
9520       abc\P
9521     0: abc
9522       abc\P\P
9523     0: abc
9524    
9525    /\w+A/P
9526       CDAAAAB
9527     0: CDAAAA
9528    
9529    /\w+A/PU
9530       CDAAAAB
9531     0: CDA
9532    
9533    /abc\K123/
9534        xyzabc123pqr
9535     0: 123
9536        xyzabc12\P
9537    Partial match: abc12
9538        xyzabc12\P\P
9539    Partial match: abc12
9540    
9541    /(?<=abc)123/
9542        xyzabc123pqr
9543     0: 123
9544        xyzabc12\P
9545    Partial match: abc12
9546        xyzabc12\P\P
9547    Partial match: abc12
9548    
9549    /\babc\b/
9550        +++abc+++
9551     0: abc
9552        +++ab\P
9553    Partial match: +ab
9554        +++ab\P\P
9555    Partial match: +ab
9556    
9557    /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9558    ------------------------------------------------------------------
9559            Bra
9560            Once
9561            Recurse
9562            Ket
9563            Once
9564            Recurse
9565            Ket
9566            Cond
9567            Cond def
9568            CBra 1
9569            <
9570            [^m]
9571            [^>]
9572            >
9573            [^<]
9574            Ket
9575            CBra 2
9576            \w*+
9577            Ket
9578            Ket
9579            Ket
9580            End
9581    ------------------------------------------------------------------
9582    
9583    /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9584    ------------------------------------------------------------------
9585            Bra
9586            Once
9587            Recurse
9588            Ket
9589            Once
9590            Recurse
9591            Ket
9592            Cond
9593            Cond def
9594            CBra 1
9595            <
9596            [\x00-/:-\xff] (neg)
9597            [^>]
9598            >
9599            [^<]
9600            Ket
9601            CBra 2
9602            \w*+
9603            Ket
9604            Ket
9605            Ket
9606            End
9607    ------------------------------------------------------------------
9608    
9609    /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
9610    ------------------------------------------------------------------
9611            Bra
9612            CBra 1
9613            ab
9614            Ket
9615            CBra 2
9616            x
9617            CBra 3
9618            y
9619            Ket
9620            z
9621            CBra 4
9622            cd
9623            Close 4
9624            Close 2
9625            *ACCEPT
9626            Ket
9627            Ket
9628            pq
9629            Ket
9630            End
9631    ------------------------------------------------------------------
9632    
9633    /abc\K/+
9634        abcdef
9635     0:
9636     0+ def
9637        abcdef\N\N
9638     0:
9639     0+ def
9640        xyzabcdef\N\N
9641     0:
9642     0+ def
9643        ** Failers
9644    No match
9645        abcdef\N
9646    No match
9647        xyzabcdef\N
9648    No match
9649    
9650    /^(?:(?=abc)|abc\K)/+
9651        abcdef
9652     0:
9653     0+ abcdef
9654        abcdef\N\N
9655     0:
9656     0+ def
9657        ** Failers
9658    No match
9659        abcdef\N
9660    No match
9661    
9662    /a?b?/+
9663        xyz
9664     0:
9665     0+ xyz
9666        xyzabc
9667     0:
9668     0+ xyzabc
9669        xyzabc\N
9670     0: ab
9671     0+ c
9672        xyzabc\N\N
9673     0:
9674     0+ yzabc
9675        xyz\N\N
9676     0:
9677     0+ yz
9678        ** Failers
9679     0:
9680     0+ ** Failers
9681        xyz\N
9682    No match
9683    
9684    /^a?b?/+
9685        xyz
9686     0:
9687     0+ xyz
9688        xyzabc
9689     0:
9690     0+ xyzabc
9691        ** Failers
9692     0:
9693     0+ ** Failers
9694        xyzabc\N
9695    No match
9696        xyzabc\N\N
9697    No match
9698        xyz\N\N
9699    No match
9700        xyz\N
9701    No match
9702    
9703    /^(?<name>a|b\g<name>c)/
9704        aaaa
9705     0: a
9706     1: a
9707        bacxxx
9708     0: bac
9709     1: bac
9710        bbaccxxx
9711     0: bbacc
9712     1: bbacc
9713        bbbacccxx
9714     0: bbbaccc
9715     1: bbbaccc
9716    
9717    /^(?<name>a|b\g'name'c)/
9718        aaaa
9719     0: a
9720     1: a
9721        bacxxx
9722     0: bac
9723     1: bac
9724        bbaccxxx
9725     0: bbacc
9726     1: bbacc
9727        bbbacccxx
9728     0: bbbaccc
9729     1: bbbaccc
9730    
9731    /^(a|b\g<1>c)/
9732        aaaa
9733     0: a
9734     1: a
9735        bacxxx
9736     0: bac
9737     1: bac
9738        bbaccxxx
9739     0: bbacc
9740     1: bbacc
9741        bbbacccxx
9742     0: bbbaccc
9743     1: bbbaccc
9744    
9745    /^(a|b\g'1'c)/
9746        aaaa
9747     0: a
9748     1: a
9749        bacxxx
9750     0: bac
9751     1: bac
9752        bbaccxxx
9753     0: bbacc
9754     1: bbacc
9755        bbbacccxx
9756     0: bbbaccc
9757     1: bbbaccc
9758    
9759    /^(a|b\g'-1'c)/
9760        aaaa
9761     0: a
9762     1: a
9763        bacxxx
9764     0: bac
9765     1: bac
9766        bbaccxxx
9767     0: bbacc
9768     1: bbacc
9769        bbbacccxx
9770     0: bbbaccc
9771     1: bbbaccc
9772    
9773    /(^(a|b\g<-1>c))/
9774        aaaa
9775     0: a
9776     1: a
9777     2: a
9778        bacxxx
9779     0: bac
9780     1: bac
9781     2: bac
9782        bbaccxxx
9783     0: bbacc
9784     1: bbacc
9785     2: bbacc
9786        bbbacccxx
9787     0: bbbaccc
9788     1: bbbaccc
9789     2: bbbaccc
9790    
9791    /(?-i:\g<name>)(?i:(?<name>a))/
9792        XaaX
9793     0: aa
9794     1: a
9795        XAAX
9796     0: AA
9797     1: A
9798    
9799    /(?i:\g<name>)(?-i:(?<name>a))/
9800        XaaX
9801     0: aa
9802     1: a
9803        ** Failers
9804    No match
9805        XAAX
9806    No match
9807    
9808    /(?-i:\g<+1>)(?i:(a))/
9809        XaaX
9810     0: aa
9811     1: a
9812        XAAX
9813     0: AA
9814     1: A
9815    
9816    /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
9817    
9818    /(?<n>a|b|c)\g<n>*/
9819       abc
9820     0: abc
9821     1: a
9822       accccbbb
9823     0: accccbbb
9824     1: a
9825    
9826    /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
9827        XYabcdY
9828     0: XYabcdY
9829     1: a
9830     2: b
9831     3: <unset>
9832     4: <unset>
9833     5: c
9834     6: d
9835     7: Y
9836    
9837  / End of testinput2 /  / End of testinput2 /

Legend:
Removed from v.197  
changed lines
  Added in v.449

  ViewVC Help
Powered by ViewVC 1.1.5