/[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 353 by ph10, Mon Jul 7 15:44:24 2008 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 113  Failed: unrecognized character after (? Line 109  Failed: unrecognized character after (?
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 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 784  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 1003  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 1021  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 1036  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 1103  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
 Partial matching not supported  
1082  Contains explicit CR or LF match  Contains explicit CR or LF match
1083  No options  No options
1084  First char = 'w'  First char = 'w'
# 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 1132  Need char = 'X' Line 1106  Need char = 'X'
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 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 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 1211  No need char Line 1181  No need char
1181          End          End
1182  ------------------------------------------------------------------  ------------------------------------------------------------------
1183  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1184  Options: anchored  Options: anchored
1185  No first char  No first char
1186  No need char  No need char
# 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 1399  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 1489  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 1565  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 1591  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'
# Line 1666  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 1709  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 1738  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 1753  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 1772  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 1783  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 1793  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 1804  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 1821  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 1838  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 1858  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 1866  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 2249  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 2930  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 2959  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 2975  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 2999  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 3013  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 3028  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 3037  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 3047  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 3057  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 3067  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 3130  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 3147  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 3176  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 3192  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 3210  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 3286  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 3336  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 3351  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 3366  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 3374  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 3391  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 3713  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 3842  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 3868  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 4031  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 4064  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 4105  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 4279  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 4325  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 4333  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 4341  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 4356  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 4364  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 4372  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 4380  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 4395  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 4403  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 4470  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 4607  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 4625  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 4732  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 4742  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 4761  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 4854  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 4899  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 5337  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 5369  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 5378  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 5387  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 5400  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 5433  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 5471  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 5505  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 5521  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 5616  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 5669  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 5679  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 5923  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 5936  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 5947  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 5958  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 5971  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 5984  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 6313  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 6443  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 6469  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 6486  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 6621  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 6680  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 6696  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 6712  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 6728  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 6750  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 6761  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 6769  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 6777  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 6785  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 7660  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 7694  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 7707  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 7715  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 7755  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 7792  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 7851  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 7861  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 7987  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 8064  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 7  Failed: reference to non-existent subpattern at offset 7
7846    
# Line 8163  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 8325  Failed: reference to non-existent subpat Line 8096  Failed: reference to non-existent subpat
8096   0: Y!   0: Y!
8097   1: !   1: !
8098    
 /(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  
   
8099  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8100      tom-tom      tom-tom
8101   0: tom-tom   0: tom-tom
# Line 8357  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 8459  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 8831  Failed: missing terminating ] for charac Line 8498  Failed: missing terminating ] for charac
8498          End          End
8499  ------------------------------------------------------------------  ------------------------------------------------------------------
8500    
 /^a+(*FAIL)/  
     aaaaaa  
 No match  
   
 /a+b?c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*PRUNE)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*COMMIT)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*SKIP)c+(*FAIL)/  
     aaabcccaaabccc  
 No match  
   
 /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
     aaa++++++  
  0: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
     bbb+++++  
  0: bbb  
     cccxxxx  
  0: cccxxxx  
     ccc++++  
  0: ccc  
     dddddddd  
  0: ddd  
   
 /^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
  1: aaaxxxxxx  
     aaa++++++  
  0: aaa  
  1: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
  1: bbbxxxxx  
     bbb+++++  
  0: bbb  
  1: bbb  
     cccxxxx  
  0: cccxxxx  
  1: cccxxxx  
     ccc++++  
  0: ccc  
  1: ccc  
     dddddddd  
  0: ddd  
  1: ddd  
   
 /a+b?(*THEN)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /(A (A|B(*ACCEPT)|C) D)(E)/x  
     ABX  
  0: AB  
     AADE  
  0: AADE  
  1: AAD  
  2: A  
  3: E  
     ACDE  
  0: ACDE  
  1: ACD  
  2: C  
  3: E  
     ** Failers  
 No match  
     AD  
 No match  
   
8501  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8502      aaaaaa      aaaaaa
8503  --->aaaaaa  --->aaaaaa
# Line 9216  No match Line 8802  No match
8802    
8803  /a\R{2,4}b/I<bsr_anycrlf>  /a\R{2,4}b/I<bsr_anycrlf>
8804  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
8805  Options: bsr_anycrlf  Options: bsr_anycrlf
8806  First char = 'a'  First char = 'a'
8807  Need char = 'b'  Need char = 'b'
# Line 9235  No match Line 8820  No match
8820    
8821  /a\R{2,4}b/I<bsr_unicode>  /a\R{2,4}b/I<bsr_unicode>
8822  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
8823  Options: bsr_unicode  Options: bsr_unicode
8824  First char = 'a'  First char = 'a'
8825  Need char = 'b'  Need char = 'b'
# Line 9385  Failed: unknown POSIX class name at offs Line 8969  Failed: unknown POSIX class name at offs
8969  /[[:a\dz:]]/  /[[:a\dz:]]/
8970  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
8971    
 /^(?<name>a|b\g<name>c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(?<name>a|b\g'name'c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(a|b\g<1>c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(a|b\g'1'c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(a|b\g'-1'c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /(^(a|b\g<-1>c))/  
     aaaa  
  0: a  
  1: a  
  2: a  
     bacxxx  
  0: bac  
  1: bac  
  2: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
  2: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
  2: bbbaccc  
   
8972  /(^(a|b\g<-1'c))/  /(^(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  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
8974    
 /(^(a|b\g{-1}))/  
     bacxxx  
 No match  
   
 /(?-i:\g<name>)(?i:(?<name>a))/  
     XaaX  
  0: aa  
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?i:\g<name>)(?-i:(?<name>a))/  
     XaaX  
  0: aa  
  1: a  
     ** Failers  
 No match  
     XAAX  
 No match  
   
 /(?-i:\g<+1>)(?i:(a))/  
     XaaX  
  0: aa  
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?=(?<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>\})\}))\{/  
   
 /(?<n>a|b|c)\g<n>*/  
    abc  
  0: abc  
  1: a  
    accccbbb  
  0: accccbbb  
  1: a  
   
8975  /^(?+1)(?<a>x|y){0}z/  /^(?+1)(?<a>x|y){0}z/
8976      xzxx      xzxx
8977   0: xz   0: xz
  1: <unset>  
8978      yzyy      yzyy
8979   0: yz   0: yz
  1: <unset>  
8980      ** Failers      ** Failers
8981  No match  No match
8982      xxz      xxz
# Line 9638  No first char Line 9093  No first char
9093  No need char  No need char
9094  Starting byte set: x y z  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.353  
changed lines
  Added in v.449

  ViewVC Help
Powered by ViewVC 1.1.5