1 # This set of tests check the DFA matching functionality of pcre2_dfa_match(),
2 # excluding UTF and Unicode property support. All matches are done using DFA,
3 # forced by setting a default subject modifier at the start.
7 #newline_default lf anycrlf any
37 Matched, but offsets vector is too small to show all matches
53 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\=ovector=10
54 Matched, but offsets vector is too small to show all matches
55 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
56 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
57 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaa
58 3: aaaaaaaaaaaaaaaaaaaaaaaaaaa
59 4: aaaaaaaaaaaaaaaaaaaaaaaaaa
60 5: aaaaaaaaaaaaaaaaaaaaaaaaa
61 6: aaaaaaaaaaaaaaaaaaaaaaaa
62 7: aaaaaaaaaaaaaaaaaaaaaaa
63 8: aaaaaaaaaaaaaaaaaaaaaa
64 9: aaaaaaaaaaaaaaaaaaaaa
65 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\=dfa_shortest
173 /(a.b(?s)c.d|x.y)p.q/
314 /[^a]+/no_auto_possess
327 /[^a]*/no_auto_possess
341 /[^a]{3,5}/no_auto_possess
584 /^(a*\w|ab)=(a*\w|ab)/
594 /^([^()]|\((?1)*\))*$/
605 /^>abc>([^()]|\((?1)*\))*<xyz<$/
614 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9876
615 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9
617 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
620 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/x
637 /^(?(?=abc)\w{3}:|\d\d)$/
648 /^(?(?!abc)\d\d|\w{3}:)$/
713 /(ab|cd){3,4}/auto_callout
729 +12 ^ ^ End of pattern
748 +12 ^ ^ End of pattern
753 +12 ^ ^ End of pattern
771 +12 ^ ^ End of pattern
776 +12 ^ ^ End of pattern
859 Partial match: aaaa12345
862 aaaa4444444444444z\=ps
863 0: aaaa4444444444444z
882 foobar...\=ps,dfa_restart,offset=4
893 lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefa\=ps,notbol,noteol
894 Partial match: abbbbbbcdaefabbbbbbbefa
895 cdabbbbbbbb\=ps,notbol,dfa_restart,noteol
896 Partial match: cdabbbbbbbb
897 efabbbbbbbbbbbbbbbb\=ps,notbol,dfa_restart,noteol
898 Partial match: efabbbbbbbbbbbbbbbb
899 bbbbbbbbbbbbcdXyasdfadf\=ps,notbol,dfa_restart,noteol
902 adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkj\=ps,noteol
905 /the quick brown fox/
907 0: the quick brown fox
908 What do you know about the quick brown fox?
909 0: the quick brown fox
913 What do you know about THE QUICK BROWN FOX?
916 /The quick brown fox/i
918 0: the quick brown fox
920 0: The quick brown FOX
921 What do you know about the quick brown fox?
922 0: the quick brown fox
923 What do you know about THE QUICK BROWN FOX?
924 0: THE QUICK BROWN FOX
926 /abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
927 abcd\t\n\r\f\a\e9;\$\\?caxyz
928 0: abcd\x09\x0a\x0d\x0c\x07\x1b9;$\?caxyz
930 /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
931 abxyzpqrrrabbxyyyypqAzz
932 0: abxyzpqrrrabbxyyyypqAzz
933 abxyzpqrrrabbxyyyypqAzz
934 0: abxyzpqrrrabbxyyyypqAzz
935 aabxyzpqrrrabbxyyyypqAzz
936 0: aabxyzpqrrrabbxyyyypqAzz
937 aaabxyzpqrrrabbxyyyypqAzz
938 0: aaabxyzpqrrrabbxyyyypqAzz
939 aaaabxyzpqrrrabbxyyyypqAzz
940 0: aaaabxyzpqrrrabbxyyyypqAzz
941 abcxyzpqrrrabbxyyyypqAzz
942 0: abcxyzpqrrrabbxyyyypqAzz
943 aabcxyzpqrrrabbxyyyypqAzz
944 0: aabcxyzpqrrrabbxyyyypqAzz
945 aaabcxyzpqrrrabbxyyyypAzz
946 0: aaabcxyzpqrrrabbxyyyypAzz
947 aaabcxyzpqrrrabbxyyyypqAzz
948 0: aaabcxyzpqrrrabbxyyyypqAzz
949 aaabcxyzpqrrrabbxyyyypqqAzz
950 0: aaabcxyzpqrrrabbxyyyypqqAzz
951 aaabcxyzpqrrrabbxyyyypqqqAzz
952 0: aaabcxyzpqrrrabbxyyyypqqqAzz
953 aaabcxyzpqrrrabbxyyyypqqqqAzz
954 0: aaabcxyzpqrrrabbxyyyypqqqqAzz
955 aaabcxyzpqrrrabbxyyyypqqqqqAzz
956 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz
957 aaabcxyzpqrrrabbxyyyypqqqqqqAzz
958 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz
959 aaaabcxyzpqrrrabbxyyyypqAzz
960 0: aaaabcxyzpqrrrabbxyyyypqAzz
961 abxyzzpqrrrabbxyyyypqAzz
962 0: abxyzzpqrrrabbxyyyypqAzz
963 aabxyzzzpqrrrabbxyyyypqAzz
964 0: aabxyzzzpqrrrabbxyyyypqAzz
965 aaabxyzzzzpqrrrabbxyyyypqAzz
966 0: aaabxyzzzzpqrrrabbxyyyypqAzz
967 aaaabxyzzzzpqrrrabbxyyyypqAzz
968 0: aaaabxyzzzzpqrrrabbxyyyypqAzz
969 abcxyzzpqrrrabbxyyyypqAzz
970 0: abcxyzzpqrrrabbxyyyypqAzz
971 aabcxyzzzpqrrrabbxyyyypqAzz
972 0: aabcxyzzzpqrrrabbxyyyypqAzz
973 aaabcxyzzzzpqrrrabbxyyyypqAzz
974 0: aaabcxyzzzzpqrrrabbxyyyypqAzz
975 aaaabcxyzzzzpqrrrabbxyyyypqAzz
976 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz
977 aaaabcxyzzzzpqrrrabbbxyyyypqAzz
978 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz
979 aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
980 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
981 aaabcxyzpqrrrabbxyyyypABzz
982 0: aaabcxyzpqrrrabbxyyyypABzz
983 aaabcxyzpqrrrabbxyyyypABBzz
984 0: aaabcxyzpqrrrabbxyyyypABBzz
985 >>>aaabxyzpqrrrabbxyyyypqAzz
986 0: aaabxyzpqrrrabbxyyyypqAzz
987 >aaaabxyzpqrrrabbxyyyypqAzz
988 0: aaaabxyzpqrrrabbxyyyypqAzz
989 >>>>abcxyzpqrrrabbxyyyypqAzz
990 0: abcxyzpqrrrabbxyyyypqAzz
992 abxyzpqrrabbxyyyypqAzz
994 abxyzpqrrrrabbxyyyypqAzz
996 abxyzpqrrrabxyyyypqAzz
998 aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
1000 aaaabcxyzzzzpqrrrabbbxyyypqAzz
1002 aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
1224 /^.+[0-9][0-9][0-9]$/
1237 /^.+?[0-9][0-9][0-9]$/
1250 /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
1251 abc!pqr=apquxz.ixr.zzz.ac.uk
1252 0: abc!pqr=apquxz.ixr.zzz.ac.uk
1254 !pqr=apquxz.ixr.zzz.ac.uk
1256 abc!=apquxz.ixr.zzz.ac.uk
1258 abc!pqr=apquxz:ixr.zzz.ac.uk
1260 abc!pqr=apquxz.ixr.zzz.ac.ukk
1264 Well, we need a colon: somewhere
1267 No match without a colon
1297 /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
1310 /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
1311 1 IN SOA non-sp1 non-sp2(
1312 0: 1 IN SOA non-sp1 non-sp2(
1313 1 IN SOA non-sp1 non-sp2 (
1314 0: 1 IN SOA non-sp1 non-sp2 (
1316 1IN SOA non-sp1 non-sp2(
1319 /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
1336 /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
1355 /^(?=ab(de))(abd)(e)/
1359 /^(?!(ab)de|x)(abd)(f)/
1367 /^[\da-f](\.[\da-f])*$/i
1390 / ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x
1399 /(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/
1419 /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
1423 /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
1427 /^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
1428 a+ Z0+\x08\n\x1d\x12
1429 0: a+ Z0+\x08\x0a\x1d\x12
1560 /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/
1561 From abcd Mon Sep 01 12:33:02 1997
1562 0: From abcd Mon Sep 01 12:33
1564 /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
1565 From abcd Mon Sep 01 12:33:02 1997
1566 0: From abcd Mon Sep 01 12:33
1567 From abcd Mon Sep 1 12:33:02 1997
1568 0: From abcd Mon Sep 1 12:33
1570 From abcd Sep 01 12:33:02 1997
1580 the quick brown\t fox
1584 foobar is foolish see?
1587 /(?:(?!foo)...|^.{0,2})bar(.*)/
1597 /^(\D*)(?=\d)(?!123)/
1604 /^1234(?# test newlines
1609 /^1234 #comment in extended re
1637 /^[ab]{1,3}(ab*|b)/no_auto_possess
1646 /^[ab]{1,3}?(ab*|b)/no_auto_possess
1655 /^[ab]{1,3}?(ab*?|b)/no_auto_possess
1664 /^[ab]{1,3}(ab*?|b)/no_auto_possess
1674 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1675 \) )* # optional leading comment
1677 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1678 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1680 " (?: # opening quote...
1681 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1683 \\ [^\x80-\xff] # Escaped something (something != CR)
1684 )* " # closing quote
1686 (?: (?: [\040\t] | \(
1687 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1688 \) )* \. (?: [\040\t] | \(
1689 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1691 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1692 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1694 " (?: # opening quote...
1695 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1697 \\ [^\x80-\xff] # Escaped something (something != CR)
1698 )* " # closing quote
1699 ) )* # further okay, if led by a period
1701 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1702 \) )* @ (?: [\040\t] | \(
1703 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1705 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1706 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1708 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1710 ) # initial subdomain
1713 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1714 \) )* \. # if led by a period...
1716 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1718 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1719 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1721 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1728 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1729 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1731 " (?: # opening quote...
1732 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1734 \\ [^\x80-\xff] # Escaped something (something != CR)
1735 )* " # closing quote
1736 ) # one word, optionally followed by....
1738 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
1740 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1741 \) | # comments, or...
1743 " (?: # opening quote...
1744 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1746 \\ [^\x80-\xff] # Escaped something (something != CR)
1747 )* " # closing quote
1751 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1753 (?: @ (?: [\040\t] | \(
1754 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1756 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1757 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1759 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1761 ) # initial subdomain
1764 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1765 \) )* \. # if led by a period...
1767 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1769 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1770 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1772 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1777 (?: (?: [\040\t] | \(
1778 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1779 \) )* , (?: [\040\t] | \(
1780 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1781 \) )* @ (?: [\040\t] | \(
1782 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1784 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1785 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1787 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1789 ) # initial subdomain
1792 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1793 \) )* \. # if led by a period...
1795 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1797 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1798 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1800 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1804 )* # further okay, if led by comma
1807 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1808 \) )* )? # optional route
1810 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1811 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1813 " (?: # opening quote...
1814 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1816 \\ [^\x80-\xff] # Escaped something (something != CR)
1817 )* " # closing quote
1819 (?: (?: [\040\t] | \(
1820 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1821 \) )* \. (?: [\040\t] | \(
1822 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1824 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1825 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1827 " (?: # opening quote...
1828 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1830 \\ [^\x80-\xff] # Escaped something (something != CR)
1831 )* " # closing quote
1832 ) )* # further okay, if led by a period
1834 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1835 \) )* @ (?: [\040\t] | \(
1836 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1838 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1839 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1841 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1843 ) # initial subdomain
1846 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1847 \) )* \. # if led by a period...
1849 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1851 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1852 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1854 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1860 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1861 \) )* > # trailing >
1864 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1865 \) )* # optional trailing comment
1867 Alan Other <user\@dom.ain>
1868 0: Alan Other <user@dom.ain>
1875 \"A. Other\" <user.1234\@dom.ain> (a comment)
1876 0: "A. Other" <user.1234@dom.ain> (a comment)
1877 1: "A. Other" <user.1234@dom.ain>
1878 2: "A. Other" <user.1234@dom.ain>
1879 A. Other <user.1234\@dom.ain> (a comment)
1880 0: Other <user.1234@dom.ain> (a comment)
1881 1: Other <user.1234@dom.ain>
1882 2: Other <user.1234@dom.ain>
1883 \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
1884 0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay
1885 1: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re
1886 A missing angle <user\@some.where
1893 /[\040\t]* # Nab whitespace.
1896 [^\\\x80-\xff\n\015()] * # normal*
1898 (?: \\ [^\x80-\xff] |
1900 [^\\\x80-\xff\n\015()] * # normal*
1901 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1904 [^\\\x80-\xff\n\015()] * # normal*
1907 [\040\t]* )* # If comment found, allow more spaces.
1908 # optional leading comment
1911 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1912 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1916 [^\\\x80-\xff\n\015"] * # normal
1917 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1921 [\040\t]* # Nab whitespace.
1924 [^\\\x80-\xff\n\015()] * # normal*
1926 (?: \\ [^\x80-\xff] |
1928 [^\\\x80-\xff\n\015()] * # normal*
1929 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1932 [^\\\x80-\xff\n\015()] * # normal*
1935 [\040\t]* )* # If comment found, allow more spaces.
1938 [\040\t]* # Nab whitespace.
1941 [^\\\x80-\xff\n\015()] * # normal*
1943 (?: \\ [^\x80-\xff] |
1945 [^\\\x80-\xff\n\015()] * # normal*
1946 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1949 [^\\\x80-\xff\n\015()] * # normal*
1952 [\040\t]* )* # If comment found, allow more spaces.
1954 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1955 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1959 [^\\\x80-\xff\n\015"] * # normal
1960 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1964 [\040\t]* # Nab whitespace.
1967 [^\\\x80-\xff\n\015()] * # normal*
1969 (?: \\ [^\x80-\xff] |
1971 [^\\\x80-\xff\n\015()] * # normal*
1972 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1975 [^\\\x80-\xff\n\015()] * # normal*
1978 [\040\t]* )* # If comment found, allow more spaces.
1982 [\040\t]* # Nab whitespace.
1985 [^\\\x80-\xff\n\015()] * # normal*
1987 (?: \\ [^\x80-\xff] |
1989 [^\\\x80-\xff\n\015()] * # normal*
1990 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1993 [^\\\x80-\xff\n\015()] * # normal*
1996 [\040\t]* )* # If comment found, allow more spaces.
1998 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1999 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2002 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2005 [\040\t]* # Nab whitespace.
2008 [^\\\x80-\xff\n\015()] * # normal*
2010 (?: \\ [^\x80-\xff] |
2012 [^\\\x80-\xff\n\015()] * # normal*
2013 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2016 [^\\\x80-\xff\n\015()] * # normal*
2019 [\040\t]* )* # If comment found, allow more spaces.
2020 # optional trailing comments
2023 [\040\t]* # Nab whitespace.
2026 [^\\\x80-\xff\n\015()] * # normal*
2028 (?: \\ [^\x80-\xff] |
2030 [^\\\x80-\xff\n\015()] * # normal*
2031 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2034 [^\\\x80-\xff\n\015()] * # normal*
2037 [\040\t]* )* # If comment found, allow more spaces.
2039 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2040 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2043 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2046 [\040\t]* # Nab whitespace.
2049 [^\\\x80-\xff\n\015()] * # normal*
2051 (?: \\ [^\x80-\xff] |
2053 [^\\\x80-\xff\n\015()] * # normal*
2054 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2057 [^\\\x80-\xff\n\015()] * # normal*
2060 [\040\t]* )* # If comment found, allow more spaces.
2061 # optional trailing comments
2066 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2067 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2071 [^\\\x80-\xff\n\015"] * # normal
2072 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
2077 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # "normal" atoms and or spaces
2081 [^\\\x80-\xff\n\015()] * # normal*
2083 (?: \\ [^\x80-\xff] |
2085 [^\\\x80-\xff\n\015()] * # normal*
2086 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2089 [^\\\x80-\xff\n\015()] * # normal*
2094 [^\\\x80-\xff\n\015"] * # normal
2095 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
2097 ) # "special" comment or quoted string
2098 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # more "normal"
2101 [\040\t]* # Nab whitespace.
2104 [^\\\x80-\xff\n\015()] * # normal*
2106 (?: \\ [^\x80-\xff] |
2108 [^\\\x80-\xff\n\015()] * # normal*
2109 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2112 [^\\\x80-\xff\n\015()] * # normal*
2115 [\040\t]* )* # If comment found, allow more spaces.
2119 [\040\t]* # Nab whitespace.
2122 [^\\\x80-\xff\n\015()] * # normal*
2124 (?: \\ [^\x80-\xff] |
2126 [^\\\x80-\xff\n\015()] * # normal*
2127 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2130 [^\\\x80-\xff\n\015()] * # normal*
2133 [\040\t]* )* # If comment found, allow more spaces.
2135 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2136 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2139 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2142 [\040\t]* # Nab whitespace.
2145 [^\\\x80-\xff\n\015()] * # normal*
2147 (?: \\ [^\x80-\xff] |
2149 [^\\\x80-\xff\n\015()] * # normal*
2150 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2153 [^\\\x80-\xff\n\015()] * # normal*
2156 [\040\t]* )* # If comment found, allow more spaces.
2157 # optional trailing comments
2160 [\040\t]* # Nab whitespace.
2163 [^\\\x80-\xff\n\015()] * # normal*
2165 (?: \\ [^\x80-\xff] |
2167 [^\\\x80-\xff\n\015()] * # normal*
2168 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2171 [^\\\x80-\xff\n\015()] * # normal*
2174 [\040\t]* )* # If comment found, allow more spaces.
2176 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2177 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2180 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2183 [\040\t]* # Nab whitespace.
2186 [^\\\x80-\xff\n\015()] * # normal*
2188 (?: \\ [^\x80-\xff] |
2190 [^\\\x80-\xff\n\015()] * # normal*
2191 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2194 [^\\\x80-\xff\n\015()] * # normal*
2197 [\040\t]* )* # If comment found, allow more spaces.
2198 # optional trailing comments
2201 [\040\t]* # Nab whitespace.
2204 [^\\\x80-\xff\n\015()] * # normal*
2206 (?: \\ [^\x80-\xff] |
2208 [^\\\x80-\xff\n\015()] * # normal*
2209 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2212 [^\\\x80-\xff\n\015()] * # normal*
2215 [\040\t]* )* # If comment found, allow more spaces.
2217 [\040\t]* # Nab whitespace.
2220 [^\\\x80-\xff\n\015()] * # normal*
2222 (?: \\ [^\x80-\xff] |
2224 [^\\\x80-\xff\n\015()] * # normal*
2225 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2228 [^\\\x80-\xff\n\015()] * # normal*
2231 [\040\t]* )* # If comment found, allow more spaces.
2233 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2234 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2237 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2240 [\040\t]* # Nab whitespace.
2243 [^\\\x80-\xff\n\015()] * # normal*
2245 (?: \\ [^\x80-\xff] |
2247 [^\\\x80-\xff\n\015()] * # normal*
2248 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2251 [^\\\x80-\xff\n\015()] * # normal*
2254 [\040\t]* )* # If comment found, allow more spaces.
2255 # optional trailing comments
2258 [\040\t]* # Nab whitespace.
2261 [^\\\x80-\xff\n\015()] * # normal*
2263 (?: \\ [^\x80-\xff] |
2265 [^\\\x80-\xff\n\015()] * # normal*
2266 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2269 [^\\\x80-\xff\n\015()] * # normal*
2272 [\040\t]* )* # If comment found, allow more spaces.
2274 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2275 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2278 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2281 [\040\t]* # Nab whitespace.
2284 [^\\\x80-\xff\n\015()] * # normal*
2286 (?: \\ [^\x80-\xff] |
2288 [^\\\x80-\xff\n\015()] * # normal*
2289 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2292 [^\\\x80-\xff\n\015()] * # normal*
2295 [\040\t]* )* # If comment found, allow more spaces.
2296 # optional trailing comments
2298 )* # additional domains
2300 [\040\t]* # Nab whitespace.
2303 [^\\\x80-\xff\n\015()] * # normal*
2305 (?: \\ [^\x80-\xff] |
2307 [^\\\x80-\xff\n\015()] * # normal*
2308 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2311 [^\\\x80-\xff\n\015()] * # normal*
2314 [\040\t]* )* # If comment found, allow more spaces.
2315 # optional trailing comments
2318 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2319 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2323 [^\\\x80-\xff\n\015"] * # normal
2324 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
2328 [\040\t]* # Nab whitespace.
2331 [^\\\x80-\xff\n\015()] * # normal*
2333 (?: \\ [^\x80-\xff] |
2335 [^\\\x80-\xff\n\015()] * # normal*
2336 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2339 [^\\\x80-\xff\n\015()] * # normal*
2342 [\040\t]* )* # If comment found, allow more spaces.
2345 [\040\t]* # Nab whitespace.
2348 [^\\\x80-\xff\n\015()] * # normal*
2350 (?: \\ [^\x80-\xff] |
2352 [^\\\x80-\xff\n\015()] * # normal*
2353 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2356 [^\\\x80-\xff\n\015()] * # normal*
2359 [\040\t]* )* # If comment found, allow more spaces.
2361 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2362 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2366 [^\\\x80-\xff\n\015"] * # normal
2367 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
2371 [\040\t]* # Nab whitespace.
2374 [^\\\x80-\xff\n\015()] * # normal*
2376 (?: \\ [^\x80-\xff] |
2378 [^\\\x80-\xff\n\015()] * # normal*
2379 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2382 [^\\\x80-\xff\n\015()] * # normal*
2385 [\040\t]* )* # If comment found, allow more spaces.
2389 [\040\t]* # Nab whitespace.
2392 [^\\\x80-\xff\n\015()] * # normal*
2394 (?: \\ [^\x80-\xff] |
2396 [^\\\x80-\xff\n\015()] * # normal*
2397 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2400 [^\\\x80-\xff\n\015()] * # normal*
2403 [\040\t]* )* # If comment found, allow more spaces.
2405 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2406 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2409 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2412 [\040\t]* # Nab whitespace.
2415 [^\\\x80-\xff\n\015()] * # normal*
2417 (?: \\ [^\x80-\xff] |
2419 [^\\\x80-\xff\n\015()] * # normal*
2420 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2423 [^\\\x80-\xff\n\015()] * # normal*
2426 [\040\t]* )* # If comment found, allow more spaces.
2427 # optional trailing comments
2430 [\040\t]* # Nab whitespace.
2433 [^\\\x80-\xff\n\015()] * # normal*
2435 (?: \\ [^\x80-\xff] |
2437 [^\\\x80-\xff\n\015()] * # normal*
2438 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2441 [^\\\x80-\xff\n\015()] * # normal*
2444 [\040\t]* )* # If comment found, allow more spaces.
2446 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2447 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2450 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2453 [\040\t]* # Nab whitespace.
2456 [^\\\x80-\xff\n\015()] * # normal*
2458 (?: \\ [^\x80-\xff] |
2460 [^\\\x80-\xff\n\015()] * # normal*
2461 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
2464 [^\\\x80-\xff\n\015()] * # normal*
2467 [\040\t]* )* # If comment found, allow more spaces.
2468 # optional trailing comments
2475 Alan Other <user\@dom.ain>
2476 0: Alan Other <user@dom.ain>
2483 \"A. Other\" <user.1234\@dom.ain> (a comment)
2484 0: "A. Other" <user.1234@dom.ain>
2485 A. Other <user.1234\@dom.ain> (a comment)
2486 0: Other <user.1234@dom.ain>
2487 \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
2488 0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay
2489 1: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re
2490 A missing angle <user\@some.where
2497 /abc\0def\00pqr\000xyz\0000AB/
2498 abc\0def\00pqr\000xyz\0000AB
2499 0: abc\x00def\x00pqr\x00xyz\x000AB
2500 abc456 abc\0def\00pqr\000xyz\0000ABCDE
2501 0: abc\x00def\x00pqr\x00xyz\x000AB
2503 /abc\x0def\x00pqr\x000xyz\x0000AB/
2504 abc\x0def\x00pqr\x000xyz\x0000AB
2505 0: abc\x0def\x00pqr\x000xyz\x0000AB
2506 abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
2507 0: abc\x0def\x00pqr\x000xyz\x0000AB
2565 /([^.]*)\.([^:]*):[T ]+(.*)/
2566 track1.title:TBlah blah blah
2567 0: track1.title:TBlah blah blah
2569 /([^.]*)\.([^:]*):[T ]+(.*)/i
2570 track1.title:TBlah blah blah
2571 0: track1.title:TBlah blah blah
2573 /([^.]*)\.([^:]*):[t ]+(.*)/i
2574 track1.title:TBlah blah blah
2575 0: track1.title:TBlah blah blah
2752 /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
2780 /^([^a])([^\b])([^c]*)([^d]{3,4})/
2880 /\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/
2881 \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377
2882 0: \x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff
2884 /P[^*]TAIRE[^*]{1,6}?LL/
2885 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2888 /P[^*]TAIRE[^*]{1,}?LL/
2889 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2900 /(\.\d\d((?=0)|\d(?=\d)))/
2915 Food is on the foo table
2919 The food is under the bar in the barn.
2920 0: food is under the bar in the bar
2921 1: food is under the bar
2924 The food is under the bar in the barn.
2925 0: food is under the bar in the bar
2926 1: food is under the bar
2928 /(.*)(\d*)/no_auto_possess
2929 I have 2 numbers: 53147
2930 Matched, but offsets vector is too small to show all matches
2931 0: I have 2 numbers: 53147
2932 1: I have 2 numbers: 5314
2933 2: I have 2 numbers: 531
2934 3: I have 2 numbers: 53
2935 4: I have 2 numbers: 5
2936 5: I have 2 numbers:
2937 6: I have 2 numbers:
2948 I have 2 numbers: 53147
2949 0: I have 2 numbers: 53147
2952 /(.*?)(\d*)/no_auto_possess
2953 I have 2 numbers: 53147
2954 Matched, but offsets vector is too small to show all matches
2955 0: I have 2 numbers: 53147
2956 1: I have 2 numbers: 5314
2957 2: I have 2 numbers: 531
2958 3: I have 2 numbers: 53
2959 4: I have 2 numbers: 5
2960 5: I have 2 numbers:
2961 6: I have 2 numbers:
2972 I have 2 numbers: 53147
2973 0: I have 2 numbers: 53147
2977 I have 2 numbers: 53147
2978 0: I have 2 numbers: 53147
2981 I have 2 numbers: 53147
2982 0: I have 2 numbers: 53147
2985 I have 2 numbers: 53147
2986 0: I have 2 numbers: 53147
2989 I have 2 numbers: 53147
2990 0: I have 2 numbers: 53147
2998 /^(\D*)(?=\d)(?!123)/
3045 /\d\d\/\d\d\/\d\d\d\d/
3049 /word (?:[a-zA-Z0-9]+ ){0,10}otherword/
3050 word cat dog elephant mussel cow horse canary baboon snake shark otherword
3051 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
3053 word cat dog elephant mussel cow horse canary baboon snake shark
3056 /word (?:[a-zA-Z0-9]+ ){0,300}otherword/
3058 word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
3202 0: borfle\x0abib.gif
3206 0: borfle\x0abib.gif
3218 0: borfle\x0abib.gif\x0ano
3222 0: borfle\x0abib.gif\x0ano
3223 1: borfle\x0abib.gif
3227 borfle\nbib.gif\nno\n
3231 borfle\nbib.gif\nno\n
3235 borfle\nbib.gif\nno\n
3236 0: borfle\x0abib.gif\x0ano\x0a
3237 1: borfle\x0abib.gif\x0ano
3240 borfle\nbib.gif\nno\n
3241 0: borfle\x0abib.gif\x0ano\x0a
3242 1: borfle\x0abib.gif\x0ano
3243 2: borfle\x0abib.gif
3323 /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
3327 /^\d\d\d\d\d\d\d\d\d\d\d\d/
3331 /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
3347 /^[abcdefghijklmnopqrstuvwxy0123456789]/
3394 the \"quick\" brown fox
3396 \"the \\\"quick\\\" brown fox\"
3397 0: "the \"quick\" brown fox"
3430 /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/is
3431 <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>
3432 0: <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>
3552 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
3556 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
3557 0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
3559 /(?>(\.\d\d[1-9]?))\d+/
3568 /^((?>\w+)|(?>\s+))*$/
3569 now is the time for all good men to come to the aid of the party
3570 0: now is the time for all good men to come to the aid of the party
3572 this is not a line with only words and spaces!
3625 /((?>[^()]+)|\([^()]*\))+/
3634 /\(((?>[^()]+)|\([^()]+\))+\)/
3640 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3665 /(a b(?x)c d (?-x)e f)/
3726 /(?s-i:more.*than).*million/i
3728 0: more than million
3730 0: more than MILLION
3731 more \n than Million
3732 0: more \x0a than Million
3736 more \n than \n million
3739 /(?:(?s-i)more.*than).*million/i
3741 0: more than million
3743 0: more than MILLION
3744 more \n than Million
3745 0: more \x0a than Million
3749 more \n than \n million
3780 /(?<=a(?i)b)(\w\w)c/
3793 /^(?(?=abc)\w{3}:|\d\d)$/
3804 /^(?(?!abc)\d\d|\w{3}:)$/
3815 /(?(?<=foo)bar|cat)/
3828 /(?(?<!foo)cat|bar)/
4013 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x
4022 /(?i:saturday|sunday)/
4057 /^([ab](?i)[cd]|[ef])/
4076 /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
4104 /(?<=(?<!foo)bar)baz/
4117 # The following tests are taken from the Perl 5.005 test suite; some of them
4118 # are compatible with 5.004, but I'd rather not have to sort them out.
4589 /[a-zA-Z_][a-zA-Z0-9_]*/
4593 /^a(bc+|b[eh])g|.h$/
4597 /(bc+d$|ef*g.|h?i(j|k))/
4610 /((((((((((a))))))))))/
4614 /(((((((((a)))))))))/
4618 /multiple words of text/
4626 multiple words, yeah
5026 /[a-zA-Z_][a-zA-Z0-9_]*/i
5030 /^a(bc+|b[eh])g|.h$/i
5034 /(bc+d$|ef*g.|h?i(j|k))/i
5049 /((((((((((a))))))))))/i
5053 /(((((((((a)))))))))/i
5057 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
5061 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
5065 /multiple words of text/i
5073 MULTIPLE WORDS, YEAH
5143 /a(?:b|c|d){4,5}(.)/
5148 /a(?:b|c|d){4,5}?(.)/
5159 /a(?:b|c|d){6,7}(.)/
5163 /a(?:b|c|d){6,7}?(.)/
5167 /a(?:b|c|d){5,6}(.)/
5172 /a(?:b|c|d){5,6}?(.)/
5177 /a(?:b|c|d){5,7}(.)/
5182 /a(?:b|c|d){5,7}?(.)/
5187 /a(?:b|(c|e){1,2}?|d)+?(.)/
5203 /(?:(f)(o)(o)|(b)(a)(r))*/
5405 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
5409 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
5410 caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
5411 0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
5426 /^a (?#xxx) (?#yyy) {3}c/x
5458 /((?s)^a(.))((?m)^b$)/
5587 /((?>[^()]+)|\([^()]*\))+/
5617 /(?>.*)(?<=(abcd|wxyz))/
5623 a rather long string that doesn't end with one of them
5626 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
5627 word cat dog elephant mussel cow horse canary baboon snake shark otherword
5628 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
5630 word cat dog elephant mussel cow horse canary baboon snake shark
5633 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
5635 word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
5638 /(?<=\d{3}(?!999))foo/
5647 /(?<=(?!...999)\d{3})foo/
5656 /(?<=\d{3}(?!999)...)foo/
5665 /(?<=\d{3}...)(?<!999)foo/
5712 > \x09\x0a\x0c\x0d\x0b<
5713 0: \x09\x0a\x0c\x0d\x0b
5716 > \x09\x0a\x0c\x0d\x0b<
5720 > \x09\x0a\x0c\x0d\x0b<
5721 0: \x09\x0a\x0c\x0d\x0b
5724 > \x09\x0a\x0c\x0d\x0b<
5725 0: \x09\x0a\x0c\x0d\x0b
5758 abc#not comment\n literal
5759 0: abc#not comment\x0a literal
5764 abc#not comment\n literal
5765 0: abc#not comment\x0a literal
5769 literal\E #more comment
5771 abc#not comment\n literal
5772 0: abc#not comment\x0a literal
5776 literal\E #more comment/x
5777 abc#not comment\n literal
5778 0: abc#not comment\x0a literal
5813 /((?x)x y z | a b c)/
5858 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5861 /(?i)reg(?:ul(?:[aä]|ae)r|ex)/
5871 /Åæåä[à -ÿÀ-ß]+/
5873 0: \xc5\xe6\xe5\xe4\xe0
5875 0: \xc5\xe6\xe5\xe4\xff
5877 0: \xc5\xe6\xe5\xe4\xc0
5879 0: \xc5\xe6\xe5\xe4\xdf
5887 Failed: error -40: backreference condition or recursion test is not supported for DFA matching
5896 this is a line\nbreak
5898 line one\nthis is a line\nbreak in the second line
5901 /line\nbreak/firstline
5902 this is a line\nbreak
5905 line one\nthis is a line\nbreak in the second line
5908 /line\nbreak/m,firstline
5909 this is a line\nbreak
5912 line one\nthis is a line\nbreak in the second line
5964 /Content-Type\x3A[^\r\n]{6,}/
5965 Content-Type:xxxxxyyy
5966 0: Content-Type:xxxxxyyy
5968 /Content-Type\x3A[^\r\n]{6,}z/
5969 Content-Type:xxxxxyyyz
5970 0: Content-Type:xxxxxyyyz
5972 /Content-Type\x3A[^a]{6,}/
5974 0: Content-Type:xxxyyy
5976 /Content-Type\x3A[^a]{6,}z/
5977 Content-Type:xxxyyyz
5978 0: Content-Type:xxxyyyz
5981 Capturing subpattern count = 0
5983 Forced newline is LF
5984 First code unit at start or follows newline
5985 Last code unit = 'c'
5986 Subject length lower bound = 3
6003 /^abc/Im,newline=crlf
6004 Capturing subpattern count = 0
6006 Forced newline is CRLF
6007 First code unit at start or follows newline
6008 Last code unit = 'c'
6009 Subject length lower bound = 3
6019 Capturing subpattern count = 0
6021 Forced newline is CR
6022 First code unit at start or follows newline
6023 Last code unit = 'c'
6024 Subject length lower bound = 3
6034 Capturing subpattern count = 0
6035 May match empty string
6036 Forced newline is LF
6037 First code unit at start or follows newline
6038 Subject length lower bound = 0
6047 Capturing subpattern count = 0
6048 May match empty string
6049 Forced newline is CR
6050 First code unit at start or follows newline
6051 Subject length lower bound = 0
6060 Capturing subpattern count = 0
6061 May match empty string
6062 Forced newline is CRLF
6063 First code unit at start or follows newline
6064 Subject length lower bound = 0
6073 Capturing subpattern count = 2
6075 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
6076 Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
6077 Last code unit = 'f'
6078 Subject length lower bound = 5
6137 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6138 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6140 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6144 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6145 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6147 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6151 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6152 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6154 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6171 /^a.b/newline=anycrlf
6187 /^abc./gmx,newline=any
6188 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
6197 /abc.$/gmx,newline=any
6198 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
6242 0: a\x0a\x0d\x85\x0cb
6260 0: a\x0a\x0d\x85\x0cb
6265 /^a\R{1,3}b/bsr=unicode
6273 0: a\x0d\x0a\x0d\x0ab
6275 0: a\x0d\x0a\x0d\x0a\x0d\x0ab
6277 0: a\x0a\x0d\x0a\x0db
6279 0: a\x0a\x0a\x0d\x0ab
6337 /(?m)^$/g,newline=any,aftertext
6342 /(?m)^$|^\r\n/g,newline=any,aftertext
6348 /(?m)$/g,newline=any,aftertext
6363 /(x)(?|(abc)|(xyz))(x)/
6369 /(x)(?|(abc)(pqr)|(xyz))(x)/
6375 /(?|(abc)|(xyz))(?1)/
6394 \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
6395 0: \x09 \xa0X\x0a\x0b\x0c\x0d
6396 \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
6397 0: \x09 \xa0\x0a\x0b\x0c\x0d
6398 \x09\x20\xa0\x0a\x0b\x0c
6399 0: \x09 \xa0\x0a\x0b\x0c
6401 \x09\x20\xa0\x0a\x0b
6426 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
6427 >XY\x0aZ\x0aA\x0bNN\x0c
6428 0: XY\x0aZ\x0aA\x0bNN\x0c
6429 >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
6430 0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
6441 /[\r\n]A/newline=crlf
6445 /(\r|\n)A/newline=crlf
6450 Capturing subpattern count = 0
6451 \R matches CR, LF, or CRLF
6452 First code unit = 'a'
6453 Last code unit = 'b'
6454 Subject length lower bound = 3
6468 Capturing subpattern count = 0
6469 \R matches any Unicode newline
6470 First code unit = 'a'
6471 Last code unit = 'b'
6472 Subject length lower bound = 3
6484 /a\R?b/I,bsr=anycrlf
6485 Capturing subpattern count = 0
6486 \R matches CR, LF, or CRLF
6487 First code unit = 'a'
6488 Last code unit = 'b'
6489 Subject length lower bound = 2
6502 /a\R?b/I,bsr=unicode
6503 Capturing subpattern count = 0
6504 \R matches any Unicode newline
6505 First code unit = 'a'
6506 Last code unit = 'b'
6507 Subject length lower bound = 2
6519 /a\R{2,4}b/I,bsr=anycrlf
6520 Capturing subpattern count = 0
6521 \R matches CR, LF, or CRLF
6522 First code unit = 'a'
6523 Last code unit = 'b'
6524 Subject length lower bound = 4
6530 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
6537 /a\R{2,4}b/I,bsr=unicode
6538 Capturing subpattern count = 0
6539 \R matches any Unicode newline
6540 First code unit = 'a'
6541 Last code unit = 'b'
6542 Subject length lower bound = 4
6548 0: a\x0d\x0a\x0a\x0d\x0db
6561 /a[]b/alt_bsux,allow_empty_class,match_unset_backref,dupnames
6566 /a[]+b/alt_bsux,allow_empty_class,match_unset_backref,dupnames
6571 /a[]*+b/alt_bsux,allow_empty_class,match_unset_backref,dupnames
6576 /a[^]b/alt_bsux,allow_empty_class,match_unset_backref,dupnames
6585 /a[^]+b/alt_bsux,allow_empty_class,match_unset_backref,dupnames
6613 +3 ^ ^ End of pattern
6620 +3 ^ ^ End of pattern
6628 /xyz/auto_callout,no_start_optimize
6637 +3 ^ ^ End of pattern
6662 /(*NO_START_OPT)xyz/auto_callout
6671 +18 ^ ^ End of pattern
6687 +2 ^ ^ End of pattern
6692 /^"((?(?=[a])[^"])|b)*"$/auto_callout
6720 +23 ^ ^ End of pattern
6727 Partial match: 123999
6782 Partial match: the cat
6804 Failed: error -42: pattern contains an item that is not supported for DFA matching
6810 Partial match: abc12
6813 Partial match: abc12
6834 Capturing subpattern count = 1
6835 Starting code units: a d x
6836 Subject length lower bound = 3
6839 the quick xyz brown fox
6842 thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
6845 /(abc|def|xyz)/I,no_start_optimize
6846 Capturing subpattern count = 1
6847 Options: no_start_optimize
6848 Subject length lower bound = 0
6851 the quick xyz brown fox
6854 thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
6892 Partial match: abcde
6894 /(?:(?1)|B)(A(*F)|C)/
6903 /^(?:(?1)|B)(A(*F)|C)/
6918 Failed: error -42: pattern contains an item that is not supported for DFA matching
6922 Failed: error -42: pattern contains an item that is not supported for DFA matching
6926 Failed: error -42: pattern contains an item that is not supported for DFA matching
6930 Failed: error -42: pattern contains an item that is not supported for DFA matching
6934 Failed: error -42: pattern contains an item that is not supported for DFA matching
7005 Failed: error -33: bad offset value
7007 ** Invalid value in 'offset=-4'
7058 /(?=abc){3}abc/aftertext
7066 /(?=abc)+abc/aftertext
7074 /(?=abc)++abc/aftertext
7107 /^(?=(?1))?[az]([abc])d/
7125 Failed: error -52: nested recursion at the same subject position
7139 /((?(R2)a+|(?1)b))()/
7141 Failed: error -40: backreference condition or recursion test is not supported for DFA matching
7143 /(?(R)a*(?1)|((?R))b)/
7145 Failed: error -52: nested recursion at the same subject position
7147 /(a+)/no_auto_possess
7149 Matched, but offsets vector is too small to show all matches
7171 Partial match: \x0d\x0d
7173 Partial match: \x0d\x0d
7175 Partial match: \x0d\x0d\x0d
7177 Partial match: \x0d\x0d\x0d
7189 Partial match: \x0d\x0d
7191 Partial match: \x0d\x0d
7193 Partial match: \x0d\x0d\x0d
7195 Partial match: \x0d\x0d\x0d
7217 Partial match: \x0d\x0a
7219 Partial match: \x0d\x0a
7225 Partial match: a\x0d
7227 Partial match: a\x0d
7231 Partial match: a\x0d
7233 Partial match: a\x0d
7235 /^(a$|a\r)/newline=crlf
7239 Partial match: a\x0d
7241 /^(a$|a\r)/m,newline=crlf
7245 Partial match: a\x0d
7253 /.{2,3}/newline=crlf
7261 Partial match: \x0d\x0d
7265 Partial match: \x0d\x0d\x0d
7267 /.{2,3}?/newline=crlf
7275 Partial match: \x0d\x0d
7280 Partial match: \x0d\x0d\x0d
7282 # Test simple validity check for restarts
7286 Failed: error -38: invalid data in workspace for DFA restart
7288 /<H((?(?!<H|F>)(.)|(?R))++)*F>/
7289 text <H more text <H texting more hexA0-"\xA0" hex above 7F-"\xBC" F> text xxxxx <H text F> text F> text2 <H text sample F> more text.
7290 0: <H more text <H texting more hexA0-"\xa0" hex above 7F-"\xbc" F> text xxxxx <H text F> text F>
7292 /^(?>.{4})abc|^\w\w.xabcd/
7300 /^(.{4}){2}+abc|^\w\w.x\w\w\w\wabcd/
7312 # These tests show up auto-possessification
7365 '\A(?:[^\"]++|\"(?:[^\"]*+|\"\")*+\")++'
7366 NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED
7367 0: NON QUOTED "QUOT""ED" AFTER
7369 '\A(?:[^\"]++|\"(?:[^\"]++|\"\")*+\")++'
7370 NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED
7371 0: NON QUOTED "QUOT""ED" AFTER
7373 /abc(?=xyz)/allusedtext
7377 abcxyzpqr\=aftertext
7382 /(?<=pqr)abc(?=xyz)/allusedtext
7386 xyzpqrabcxyzpqr\=aftertext
7398 /abc(?=abcde)(?=ab)/allusedtext
7418 /(*NOTEMPTY_ATSTART)a*?b*?/aftertext
7428 XcX\=ovector=2,get=1,get=2,get=3,get=4,getall
7430 Get substring 1 failed (-55): requested value is not set
7431 Get substring 2 failed (-54): requested value is not available
7432 Get substring 3 failed (-54): requested value is not available
7433 Get substring 4 failed (-54): requested value is not available
7439 Get substring 'A' failed (-41): function is not supported for DFA matching
7442 Copy substring 'A' failed (-41): function is not supported for DFA matching
7445 a\=ovector=2,get=1,get=2,getall
7447 Get substring 1 failed (-55): requested value is not set
7448 Get substring 2 failed (-54): requested value is not available
7450 aaa\=ovector=2,get=1,get=2,getall
7451 Matched, but offsets vector is too small to show all matches
7455 Get substring 2 failed (-54): requested value is not available
7460 abc\=ph,copy=0,copy=1,getall
7463 Copy substring 1 failed (-2): partial match
7464 get substring list failed (-2): partial match
7466 /ab(?C" any text with spaces ")cde/B
7467 ------------------------------------------------------------------
7470 CalloutStr " any text with spaces " 6 30 1
7474 ------------------------------------------------------------------
7476 Callout (6): " any text with spaces "
7481 Callout (6): " any text with spaces "
7500 abcdef\=callout_capture
7501 Callout 1: last capture = 0
7506 /^a(b)c(?C{AB})def/B
7507 ------------------------------------------------------------------
7515 CalloutStr {AB} 10 14 1
7519 ------------------------------------------------------------------
7520 abcdef\=callout_capture
7521 Callout (10): {AB} last capture = 0
7526 /^(?(?C25)(?=abc)abcd|xyz)/B
7527 ------------------------------------------------------------------
7541 ------------------------------------------------------------------
7551 /^(?(?C$abc$)(?=abc)abcd|xyz)/B
7552 ------------------------------------------------------------------
7556 CalloutStr $abc$ 7 12 3
7566 ------------------------------------------------------------------
7578 /^ab(?C'first')cd(?C"second")ef/
7580 Callout (7): 'first'
7583 Callout (20): "second"
7588 /(?:a(?C`code`)){3}X/
7601 # Binary zero in callout string
7602 /"a(?C'x" 00 "z')b"/hex
7604 Callout (5): 'x\x00z'
7622 /^/gm,alt_circumflex
7629 /abc/use_offset_limit
7630 1234abcde\=offset_limit=100
7632 1234abcde\=offset_limit=9
7634 1234abcde\=offset_limit=4
7636 1234abcde\=offset_limit=4,offset=4
7639 1234abcde\=offset_limit=4,offset=5
7641 1234abcde\=offset_limit=3
7644 /(?<=abc)/use_offset_limit
7645 1234abc\=offset_limit=7
7648 1234abc\=offset_limit=6
7655 /()()a+/no_auto_possess
7657 ** Ignored after DFA matching: allcaptures
7662 ** Ignored after DFA matching: allcaptures
7665 /(*LIMIT_DEPTH=100)^((.)(?1)|.)$/
7666 \= Expect depth limit exceeded
7667 a[00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]
7668 Failed: error -53: matching depth limit exceeded
7670 /(*LIMIT_HEAP=0)^((.)(?1)|.)$/
7671 \= Expect heap limit exceeded
7672 a[00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]
7673 Failed: error -63: heap limit exceeded
7675 /(*LIMIT_HEAP=50000)^((.)(?1)|.)$/
7677 a[00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]
7678 0: a[00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]
7680 /(02-)?[0-9]{3}-[0-9]{3}/
7686 Minimum heap limit = 0
7687 Minimum match limit = 4
7688 Minimum depth limit = 2
7699 Failed: error -34: bad option value
7705 xyzabcdef\=endanchored
7708 xyzabc\=ps,endanchored
7709 Failed: error -34: bad option value
7711 /abc|bcd/endanchored
7730 /'#comment' 0d 0a 00 '^x\' 0a 'y'/x,newline=nul,hex
7753 /(?<=abc|)/endanchored
7758 /(?<=|abc)/endanchored
7763 /(*LIMIT_MATCH=100).*(?![|H]?.*(?![|H]?););.*(?![|H]?.*(?![|H]?););\x00\x00\x00\x00\x00\x00\x00(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?![|);)?.*(![|H]?);)?.*(?![|H]?);)?.*(?![|H]?);)?.*(?![|H]););![|H]?););[|H]?);|H]?);)\x00\x00\x00
\v\x00\x00\x00
\19H]?););?![|H]?);)?.*(?![|H]?););[||H]?);)?.*(?![|H]?););[|H]?);(?![|H]?););![|H]?););[|H]?);|H]?);)?.*(?![|H]?););;[
\13\x00\x00\x00\x00\x00\x00\x00![|H]?););![|H]?););[|H]?);|H]?);)?.*(?![|H]?););/no_dotstar_anchor
7764 \= Expect limit exceeded
7765 .*(?![|H]?.*(?![|H]?););.*(?![|H]?.*(?![|H]?););\x00\x00\x00\x00\x00\x00\x00(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?!(?![|);)?.*(![|H]?);)?.*(?![|H]?);)?.*(?![|H]?);)?.*(?![|H]););![|H]?););[|H]?);|H]?);)\x00\x00\x00
\v\x00\x00\x00
\19H]?););?![|H]?);)?.*(?![|H]?););[||H]?);)?.*(?![|H]?););[|H]?);(?![|H]?););![|H]?););[|H]?);|H]?);)?.*(?![|H]?););;[
\13\x00\x00\x00\x00\x00\x00\x00![|H]?););![|H]?););[|H]?);|H]?);)?.*(?![|H]?););
7766 Failed: error -47: match limit exceeded
7776 /\x{0a}abc/firstline,newline=crlf