| /-- This set of tests checks UTF-8 support with the DFA matching functionality |
| of pcre_dfa_exec(). The -dfa flag must be used with pcretest when running |
| it. --/ |
| |
| /\x{100}ab/8 |
| \x{100}ab |
| |
| /a\x{100}*b/8 |
| ab |
| a\x{100}b |
| a\x{100}\x{100}b |
| |
| /a\x{100}+b/8 |
| a\x{100}b |
| a\x{100}\x{100}b |
| *** Failers |
| ab |
| |
| /\bX/8 |
| Xoanon |
| +Xoanon |
| \x{300}Xoanon |
| *** Failers |
| YXoanon |
| |
| /\BX/8 |
| YXoanon |
| *** Failers |
| Xoanon |
| +Xoanon |
| \x{300}Xoanon |
| |
| /X\b/8 |
| X+oanon |
| ZX\x{300}oanon |
| FAX |
| *** Failers |
| Xoanon |
| |
| /X\B/8 |
| Xoanon |
| *** Failers |
| X+oanon |
| ZX\x{300}oanon |
| FAX |
| |
| /[^a]/8 |
| abcd |
| a\x{100} |
| |
| /^[abc\x{123}\x{400}-\x{402}]{2,3}\d/8 |
| ab99 |
| \x{123}\x{123}45 |
| \x{400}\x{401}\x{402}6 |
| *** Failers |
| d99 |
| \x{123}\x{122}4 |
| \x{400}\x{403}6 |
| \x{400}\x{401}\x{402}\x{402}6 |
| |
| /abc/8 |
| Ã] |
| Ã |
| ÃÃÃ |
| ÃÃÃ\? |
| \xe1\x88 |
| \P\xe1\x88 |
| \P\P\xe1\x88 |
| |
| /a.b/8 |
| acb |
| a\x7fb |
| a\x{100}b |
| *** Failers |
| a\nb |
| |
| /a(.{3})b/8 |
| a\x{4000}xyb |
| a\x{4000}\x7fyb |
| a\x{4000}\x{100}yb |
| *** Failers |
| a\x{4000}b |
| ac\ncb |
| |
| /a(.*?)(.)/ |
| a\xc0\x88b |
| |
| /a(.*?)(.)/8 |
| a\x{100}b |
| |
| /a(.*)(.)/ |
| a\xc0\x88b |
| |
| /a(.*)(.)/8 |
| a\x{100}b |
| |
| /a(.)(.)/ |
| a\xc0\x92bcd |
| |
| /a(.)(.)/8 |
| a\x{240}bcd |
| |
| /a(.?)(.)/ |
| a\xc0\x92bcd |
| |
| /a(.?)(.)/8 |
| a\x{240}bcd |
| |
| /a(.??)(.)/ |
| a\xc0\x92bcd |
| |
| /a(.??)(.)/8 |
| a\x{240}bcd |
| |
| /a(.{3})b/8 |
| a\x{1234}xyb |
| a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
| *** Failers |
| a\x{1234}b |
| ac\ncb |
| |
| /a(.{3,})b/8 |
| a\x{1234}xyb |
| a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
| axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
| *** Failers |
| a\x{1234}b |
| |
| /a(.{3,}?)b/8 |
| a\x{1234}xyb |
| a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
| axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
| *** Failers |
| a\x{1234}b |
| |
| /a(.{3,5})b/8 |
| a\x{1234}xyb |
| a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
| axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
| axbxxbcdefghijb |
| axxxxxbcdefghijb |
| *** Failers |
| a\x{1234}b |
| axxxxxxbcdefghijb |
| |
| /a(.{3,5}?)b/8 |
| a\x{1234}xyb |
| a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
| axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
| axbxxbcdefghijb |
| axxxxxbcdefghijb |
| *** Failers |
| a\x{1234}b |
| axxxxxxbcdefghijb |
| |
| /^[a\x{c0}]/8 |
| *** Failers |
| \x{100} |
| |
| /(?<=aXb)cd/8 |
| aXbcd |
| |
| /(?<=a\x{100}b)cd/8 |
| a\x{100}bcd |
| |
| /(?<=a\x{100000}b)cd/8 |
| a\x{100000}bcd |
| |
| /(?:\x{100}){3}b/8 |
| \x{100}\x{100}\x{100}b |
| *** Failers |
| \x{100}\x{100}b |
| |
| /\x{ab}/8 |
| \x{ab} |
| \xc2\xab |
| *** Failers |
| \x00{ab} |
| |
| /(?<=(.))X/8 |
| WXYZ |
| \x{256}XYZ |
| *** Failers |
| XYZ |
| |
| /[^a]+/8g |
| bcd |
| \x{100}aY\x{256}Z |
| |
| /^[^a]{2}/8 |
| \x{100}bc |
| |
| /^[^a]{2,}/8 |
| \x{100}bcAa |
| |
| /^[^a]{2,}?/8 |
| \x{100}bca |
| |
| /[^a]+/8ig |
| bcd |
| \x{100}aY\x{256}Z |
| |
| /^[^a]{2}/8i |
| \x{100}bc |
| |
| /^[^a]{2,}/8i |
| \x{100}bcAa |
| |
| /^[^a]{2,}?/8i |
| \x{100}bca |
| |
| /\x{100}{0,0}/8 |
| abcd |
| |
| /\x{100}?/8 |
| abcd |
| \x{100}\x{100} |
| |
| /\x{100}{0,3}/8 |
| \x{100}\x{100} |
| \x{100}\x{100}\x{100}\x{100} |
| |
| /\x{100}*/8 |
| abce |
| \x{100}\x{100}\x{100}\x{100} |
| |
| /\x{100}{1,1}/8 |
| abcd\x{100}\x{100}\x{100}\x{100} |
| |
| /\x{100}{1,3}/8 |
| abcd\x{100}\x{100}\x{100}\x{100} |
| |
| /\x{100}+/8 |
| abcd\x{100}\x{100}\x{100}\x{100} |
| |
| /\x{100}{3}/8 |
| abcd\x{100}\x{100}\x{100}XX |
| |
| /\x{100}{3,5}/8 |
| abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX |
| |
| /\x{100}{3,}/8 |
| abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX |
| |
| /(?<=a\x{100}{2}b)X/8 |
| Xyyya\x{100}\x{100}bXzzz |
| |
| /\D*/8 |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| |
| /\D*/8 |
| \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} |
| |
| /\D/8 |
| 1X2 |
| 1\x{100}2 |
| |
| />\S/8 |
| > >X Y |
| > >\x{100} Y |
| |
| /\d/8 |
| \x{100}3 |
| |
| /\s/8 |
| \x{100} X |
| |
| /\D+/8 |
| 12abcd34 |
| *** Failers |
| 1234 |
| |
| /\D{2,3}/8 |
| 12abcd34 |
| 12ab34 |
| *** Failers |
| 1234 |
| 12a34 |
| |
| /\D{2,3}?/8 |
| 12abcd34 |
| 12ab34 |
| *** Failers |
| 1234 |
| 12a34 |
| |
| /\d+/8 |
| 12abcd34 |
| *** Failers |
| |
| /\d{2,3}/8 |
| 12abcd34 |
| 1234abcd |
| *** Failers |
| 1.4 |
| |
| /\d{2,3}?/8 |
| 12abcd34 |
| 1234abcd |
| *** Failers |
| 1.4 |
| |
| /\S+/8 |
| 12abcd34 |
| *** Failers |
| \ \ |
| |
| /\S{2,3}/8 |
| 12abcd34 |
| 1234abcd |
| *** Failers |
| \ \ |
| |
| /\S{2,3}?/8 |
| 12abcd34 |
| 1234abcd |
| *** Failers |
| \ \ |
| |
| />\s+</8 |
| 12> <34 |
| *** Failers |
| |
| />\s{2,3}</8 |
| ab> <cd |
| ab> <ce |
| *** Failers |
| ab> <cd |
| |
| />\s{2,3}?</8 |
| ab> <cd |
| ab> <ce |
| *** Failers |
| ab> <cd |
| |
| /\w+/8 |
| 12 34 |
| *** Failers |
| +++=*! |
| |
| /\w{2,3}/8 |
| ab cd |
| abcd ce |
| *** Failers |
| a.b.c |
| |
| /\w{2,3}?/8 |
| ab cd |
| abcd ce |
| *** Failers |
| a.b.c |
| |
| /\W+/8 |
| 12====34 |
| *** Failers |
| abcd |
| |
| /\W{2,3}/8 |
| ab====cd |
| ab==cd |
| *** Failers |
| a.b.c |
| |
| /\W{2,3}?/8 |
| ab====cd |
| ab==cd |
| *** Failers |
| a.b.c |
| |
| /[\x{100}]/8 |
| \x{100} |
| Z\x{100} |
| \x{100}Z |
| *** Failers |
| |
| /[Z\x{100}]/8 |
| Z\x{100} |
| \x{100} |
| \x{100}Z |
| *** Failers |
| |
| /[\x{100}\x{200}]/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| *** Failers |
| |
| /[\x{100}-\x{200}]/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{111}cd |
| *** Failers |
| |
| /[z-\x{200}]/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{111}cd |
| abzcd |
| ab|cd |
| *** Failers |
| |
| /[Q\x{100}\x{200}]/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| Q? |
| *** Failers |
| |
| /[Q\x{100}-\x{200}]/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{111}cd |
| Q? |
| *** Failers |
| |
| /[Qz-\x{200}]/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{111}cd |
| abzcd |
| ab|cd |
| Q? |
| *** Failers |
| |
| /[\x{100}\x{200}]{1,3}/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{200}\x{100}\x{200}\x{100}cd |
| *** Failers |
| |
| /[\x{100}\x{200}]{1,3}?/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{200}\x{100}\x{200}\x{100}cd |
| *** Failers |
| |
| /[Q\x{100}\x{200}]{1,3}/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{200}\x{100}\x{200}\x{100}cd |
| *** Failers |
| |
| /[Q\x{100}\x{200}]{1,3}?/8 |
| ab\x{100}cd |
| ab\x{200}cd |
| ab\x{200}\x{100}\x{200}\x{100}cd |
| *** Failers |
| |
| /(?<=[\x{100}\x{200}])X/8 |
| abc\x{200}X |
| abc\x{100}X |
| *** Failers |
| X |
| |
| /(?<=[Q\x{100}\x{200}])X/8 |
| abc\x{200}X |
| abc\x{100}X |
| abQX |
| *** Failers |
| X |
| |
| /(?<=[\x{100}\x{200}]{3})X/8 |
| abc\x{100}\x{200}\x{100}X |
| *** Failers |
| abc\x{200}X |
| X |
| |
| /[^\x{100}\x{200}]X/8 |
| AX |
| \x{150}X |
| \x{500}X |
| *** Failers |
| \x{100}X |
| \x{200}X |
| |
| /[^Q\x{100}\x{200}]X/8 |
| AX |
| \x{150}X |
| \x{500}X |
| *** Failers |
| \x{100}X |
| \x{200}X |
| QX |
| |
| /[^\x{100}-\x{200}]X/8 |
| AX |
| \x{500}X |
| *** Failers |
| \x{100}X |
| \x{150}X |
| \x{200}X |
| |
| /[z-\x{100}]/8i |
| z |
| Z |
| \x{100} |
| *** Failers |
| \x{102} |
| y |
| |
| /[\xFF]/ |
| >\xff< |
| |
| /[\xff]/8 |
| >\x{ff}< |
| |
| /[^\xFF]/ |
| XYZ |
| |
| /[^\xff]/8 |
| XYZ |
| \x{123} |
| |
| /^[ac]*b/8 |
| xb |
| |
| /^[ac\x{100}]*b/8 |
| xb |
| |
| /^[^x]*b/8i |
| xb |
| |
| /^[^x]*b/8 |
| xb |
| |
| /^\d*b/8 |
| xb |
| |
| /(|a)/g8 |
| catac |
| a\x{256}a |
| |
| /^\x{85}$/8i |
| \x{85} |
| |
| /^abc./mgx8<any> |
| abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK |
| |
| /abc.$/mgx8<any> |
| abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 |
| |
| /^a\Rb/8<bsr_unicode> |
| a\nb |
| a\rb |
| a\r\nb |
| a\x0bb |
| a\x0cb |
| a\x{85}b |
| a\x{2028}b |
| a\x{2029}b |
| ** Failers |
| a\n\rb |
| |
| /^a\R*b/8<bsr_unicode> |
| ab |
| a\nb |
| a\rb |
| a\r\nb |
| a\x0bb |
| a\x0c\x{2028}\x{2029}b |
| a\x{85}b |
| a\n\rb |
| a\n\r\x{85}\x0cb |
| |
| /^a\R+b/8<bsr_unicode> |
| a\nb |
| a\rb |
| a\r\nb |
| a\x0bb |
| a\x0c\x{2028}\x{2029}b |
| a\x{85}b |
| a\n\rb |
| a\n\r\x{85}\x0cb |
| ** Failers |
| ab |
| |
| /^a\R{1,3}b/8<bsr_unicode> |
| a\nb |
| a\n\rb |
| a\n\r\x{85}b |
| a\r\n\r\nb |
| a\r\n\r\n\r\nb |
| a\n\r\n\rb |
| a\n\n\r\nb |
| ** Failers |
| a\n\n\n\rb |
| a\r |
| |
| /\h+\V?\v{3,4}/8 |
| \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a |
| |
| /\V?\v{3,4}/8 |
| \x20\x{a0}X\x0a\x0b\x0c\x0d\x0a |
| |
| /\h+\V?\v{3,4}/8 |
| >\x09\x20\x{a0}X\x0a\x0a\x0a< |
| |
| /\V?\v{3,4}/8 |
| >\x09\x20\x{a0}X\x0a\x0a\x0a< |
| |
| /\H\h\V\v/8 |
| X X\x0a |
| X\x09X\x0b |
| ** Failers |
| \x{a0} X\x0a |
| |
| /\H*\h+\V?\v{3,4}/8 |
| \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a |
| \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a |
| \x09\x20\x{a0}\x0a\x0b\x0c |
| ** Failers |
| \x09\x20\x{a0}\x0a\x0b |
| |
| /\H\h\V\v/8 |
| \x{3001}\x{3000}\x{2030}\x{2028} |
| X\x{180e}X\x{85} |
| ** Failers |
| \x{2009} X\x0a |
| |
| /\H*\h+\V?\v{3,4}/8 |
| \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a |
| \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a |
| \x09\x20\x{202f}\x0a\x0b\x0c |
| ** Failers |
| \x09\x{200a}\x{a0}\x{2028}\x0b |
| |
| /a\Rb/I8<bsr_anycrlf> |
| a\rb |
| a\nb |
| a\r\nb |
| ** Failers |
| a\x{85}b |
| a\x0bb |
| |
| /a\Rb/I8<bsr_unicode> |
| a\rb |
| a\nb |
| a\r\nb |
| a\x{85}b |
| a\x0bb |
| ** Failers |
| a\x{85}b\<bsr_anycrlf> |
| a\x0bb\<bsr_anycrlf> |
| |
| /a\R?b/I8<bsr_anycrlf> |
| a\rb |
| a\nb |
| a\r\nb |
| ** Failers |
| a\x{85}b |
| a\x0bb |
| |
| /a\R?b/I8<bsr_unicode> |
| a\rb |
| a\nb |
| a\r\nb |
| a\x{85}b |
| a\x0bb |
| ** Failers |
| a\x{85}b\<bsr_anycrlf> |
| a\x0bb\<bsr_anycrlf> |
| |
| /X/8f<any> |
| A\x{1ec5}ABCXYZ |
| |
| /abcd*/8 |
| xxxxabcd\P |
| xxxxabcd\P\P |
| |
| /abcd*/i8 |
| xxxxabcd\P |
| xxxxabcd\P\P |
| XXXXABCD\P |
| XXXXABCD\P\P |
| |
| /abc\d*/8 |
| xxxxabc1\P |
| xxxxabc1\P\P |
| |
| /abc[de]*/8 |
| xxxxabcde\P |
| xxxxabcde\P\P |
| |
| /\bthe cat\b/8 |
| the cat\P |
| the cat\P\P |
| |
| /a+/8 |
| a\x{123}aa\>1 |
| a\x{123}aa\>2 |
| a\x{123}aa\>3 |
| a\x{123}aa\>4 |
| a\x{123}aa\>5 |
| a\x{123}aa\>6 |
| |
| /ab\Cde/8 |
| abXde |
| |
| /(?<=ab\Cde)X/8 |
| |
| /-- End of testinput8 --/ |