1/-- This set of tests checks UTF-8 support with the DFA matching functionality 2 of pcre_dfa_exec(). The -dfa flag must be used with pcretest when running 3 it. --/ 4 5/\x{100}ab/8 6 \x{100}ab 7 8/a\x{100}*b/8 9 ab 10 a\x{100}b 11 a\x{100}\x{100}b 12 13/a\x{100}+b/8 14 a\x{100}b 15 a\x{100}\x{100}b 16 *** Failers 17 ab 18 19/\bX/8 20 Xoanon 21 +Xoanon 22 \x{300}Xoanon 23 *** Failers 24 YXoanon 25 26/\BX/8 27 YXoanon 28 *** Failers 29 Xoanon 30 +Xoanon 31 \x{300}Xoanon 32 33/X\b/8 34 X+oanon 35 ZX\x{300}oanon 36 FAX 37 *** Failers 38 Xoanon 39 40/X\B/8 41 Xoanon 42 *** Failers 43 X+oanon 44 ZX\x{300}oanon 45 FAX 46 47/[^a]/8 48 abcd 49 a\x{100} 50 51/^[abc\x{123}\x{400}-\x{402}]{2,3}\d/8 52 ab99 53 \x{123}\x{123}45 54 \x{400}\x{401}\x{402}6 55 *** Failers 56 d99 57 \x{123}\x{122}4 58 \x{400}\x{403}6 59 \x{400}\x{401}\x{402}\x{402}6 60 61/abc/8 62 �] 63 � 64 ��� 65 ���\? 66 \xe1\x88 67 \P\xe1\x88 68 \P\P\xe1\x88 69 70/a.b/8 71 acb 72 a\x7fb 73 a\x{100}b 74 *** Failers 75 a\nb 76 77/a(.{3})b/8 78 a\x{4000}xyb 79 a\x{4000}\x7fyb 80 a\x{4000}\x{100}yb 81 *** Failers 82 a\x{4000}b 83 ac\ncb 84 85/a(.*?)(.)/ 86 a\xc0\x88b 87 88/a(.*?)(.)/8 89 a\x{100}b 90 91/a(.*)(.)/ 92 a\xc0\x88b 93 94/a(.*)(.)/8 95 a\x{100}b 96 97/a(.)(.)/ 98 a\xc0\x92bcd 99 100/a(.)(.)/8 101 a\x{240}bcd 102 103/a(.?)(.)/ 104 a\xc0\x92bcd 105 106/a(.?)(.)/8 107 a\x{240}bcd 108 109/a(.??)(.)/ 110 a\xc0\x92bcd 111 112/a(.??)(.)/8 113 a\x{240}bcd 114 115/a(.{3})b/8 116 a\x{1234}xyb 117 a\x{1234}\x{4321}yb 118 a\x{1234}\x{4321}\x{3412}b 119 *** Failers 120 a\x{1234}b 121 ac\ncb 122 123/a(.{3,})b/8 124 a\x{1234}xyb 125 a\x{1234}\x{4321}yb 126 a\x{1234}\x{4321}\x{3412}b 127 axxxxbcdefghijb 128 a\x{1234}\x{4321}\x{3412}\x{3421}b 129 *** Failers 130 a\x{1234}b 131 132/a(.{3,}?)b/8 133 a\x{1234}xyb 134 a\x{1234}\x{4321}yb 135 a\x{1234}\x{4321}\x{3412}b 136 axxxxbcdefghijb 137 a\x{1234}\x{4321}\x{3412}\x{3421}b 138 *** Failers 139 a\x{1234}b 140 141/a(.{3,5})b/8 142 a\x{1234}xyb 143 a\x{1234}\x{4321}yb 144 a\x{1234}\x{4321}\x{3412}b 145 axxxxbcdefghijb 146 a\x{1234}\x{4321}\x{3412}\x{3421}b 147 axbxxbcdefghijb 148 axxxxxbcdefghijb 149 *** Failers 150 a\x{1234}b 151 axxxxxxbcdefghijb 152 153/a(.{3,5}?)b/8 154 a\x{1234}xyb 155 a\x{1234}\x{4321}yb 156 a\x{1234}\x{4321}\x{3412}b 157 axxxxbcdefghijb 158 a\x{1234}\x{4321}\x{3412}\x{3421}b 159 axbxxbcdefghijb 160 axxxxxbcdefghijb 161 *** Failers 162 a\x{1234}b 163 axxxxxxbcdefghijb 164 165/^[a\x{c0}]/8 166 *** Failers 167 \x{100} 168 169/(?<=aXb)cd/8 170 aXbcd 171 172/(?<=a\x{100}b)cd/8 173 a\x{100}bcd 174 175/(?<=a\x{100000}b)cd/8 176 a\x{100000}bcd 177 178/(?:\x{100}){3}b/8 179 \x{100}\x{100}\x{100}b 180 *** Failers 181 \x{100}\x{100}b 182 183/\x{ab}/8 184 \x{ab} 185 \xc2\xab 186 *** Failers 187 \x00{ab} 188 189/(?<=(.))X/8 190 WXYZ 191 \x{256}XYZ 192 *** Failers 193 XYZ 194 195/[^a]+/8g 196 bcd 197 \x{100}aY\x{256}Z 198 199/^[^a]{2}/8 200 \x{100}bc 201 202/^[^a]{2,}/8 203 \x{100}bcAa 204 205/^[^a]{2,}?/8 206 \x{100}bca 207 208/[^a]+/8ig 209 bcd 210 \x{100}aY\x{256}Z 211 212/^[^a]{2}/8i 213 \x{100}bc 214 215/^[^a]{2,}/8i 216 \x{100}bcAa 217 218/^[^a]{2,}?/8i 219 \x{100}bca 220 221/\x{100}{0,0}/8 222 abcd 223 224/\x{100}?/8 225 abcd 226 \x{100}\x{100} 227 228/\x{100}{0,3}/8 229 \x{100}\x{100} 230 \x{100}\x{100}\x{100}\x{100} 231 232/\x{100}*/8 233 abce 234 \x{100}\x{100}\x{100}\x{100} 235 236/\x{100}{1,1}/8 237 abcd\x{100}\x{100}\x{100}\x{100} 238 239/\x{100}{1,3}/8 240 abcd\x{100}\x{100}\x{100}\x{100} 241 242/\x{100}+/8 243 abcd\x{100}\x{100}\x{100}\x{100} 244 245/\x{100}{3}/8 246 abcd\x{100}\x{100}\x{100}XX 247 248/\x{100}{3,5}/8 249 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 250 251/\x{100}{3,}/8 252 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 253 254/(?<=a\x{100}{2}b)X/8 255 Xyyya\x{100}\x{100}bXzzz 256 257/\D*/8 258 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 259 260/\D*/8 261 \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} 262 263/\D/8 264 1X2 265 1\x{100}2 266 267/>\S/8 268 > >X Y 269 > >\x{100} Y 270 271/\d/8 272 \x{100}3 273 274/\s/8 275 \x{100} X 276 277/\D+/8 278 12abcd34 279 *** Failers 280 1234 281 282/\D{2,3}/8 283 12abcd34 284 12ab34 285 *** Failers 286 1234 287 12a34 288 289/\D{2,3}?/8 290 12abcd34 291 12ab34 292 *** Failers 293 1234 294 12a34 295 296/\d+/8 297 12abcd34 298 *** Failers 299 300/\d{2,3}/8 301 12abcd34 302 1234abcd 303 *** Failers 304 1.4 305 306/\d{2,3}?/8 307 12abcd34 308 1234abcd 309 *** Failers 310 1.4 311 312/\S+/8 313 12abcd34 314 *** Failers 315 \ \ 316 317/\S{2,3}/8 318 12abcd34 319 1234abcd 320 *** Failers 321 \ \ 322 323/\S{2,3}?/8 324 12abcd34 325 1234abcd 326 *** Failers 327 \ \ 328 329/>\s+</8 330 12> <34 331 *** Failers 332 333/>\s{2,3}</8 334 ab> <cd 335 ab> <ce 336 *** Failers 337 ab> <cd 338 339/>\s{2,3}?</8 340 ab> <cd 341 ab> <ce 342 *** Failers 343 ab> <cd 344 345/\w+/8 346 12 34 347 *** Failers 348 +++=*! 349 350/\w{2,3}/8 351 ab cd 352 abcd ce 353 *** Failers 354 a.b.c 355 356/\w{2,3}?/8 357 ab cd 358 abcd ce 359 *** Failers 360 a.b.c 361 362/\W+/8 363 12====34 364 *** Failers 365 abcd 366 367/\W{2,3}/8 368 ab====cd 369 ab==cd 370 *** Failers 371 a.b.c 372 373/\W{2,3}?/8 374 ab====cd 375 ab==cd 376 *** Failers 377 a.b.c 378 379/[\x{100}]/8 380 \x{100} 381 Z\x{100} 382 \x{100}Z 383 *** Failers 384 385/[Z\x{100}]/8 386 Z\x{100} 387 \x{100} 388 \x{100}Z 389 *** Failers 390 391/[\x{100}\x{200}]/8 392 ab\x{100}cd 393 ab\x{200}cd 394 *** Failers 395 396/[\x{100}-\x{200}]/8 397 ab\x{100}cd 398 ab\x{200}cd 399 ab\x{111}cd 400 *** Failers 401 402/[z-\x{200}]/8 403 ab\x{100}cd 404 ab\x{200}cd 405 ab\x{111}cd 406 abzcd 407 ab|cd 408 *** Failers 409 410/[Q\x{100}\x{200}]/8 411 ab\x{100}cd 412 ab\x{200}cd 413 Q? 414 *** Failers 415 416/[Q\x{100}-\x{200}]/8 417 ab\x{100}cd 418 ab\x{200}cd 419 ab\x{111}cd 420 Q? 421 *** Failers 422 423/[Qz-\x{200}]/8 424 ab\x{100}cd 425 ab\x{200}cd 426 ab\x{111}cd 427 abzcd 428 ab|cd 429 Q? 430 *** Failers 431 432/[\x{100}\x{200}]{1,3}/8 433 ab\x{100}cd 434 ab\x{200}cd 435 ab\x{200}\x{100}\x{200}\x{100}cd 436 *** Failers 437 438/[\x{100}\x{200}]{1,3}?/8 439 ab\x{100}cd 440 ab\x{200}cd 441 ab\x{200}\x{100}\x{200}\x{100}cd 442 *** Failers 443 444/[Q\x{100}\x{200}]{1,3}/8 445 ab\x{100}cd 446 ab\x{200}cd 447 ab\x{200}\x{100}\x{200}\x{100}cd 448 *** Failers 449 450/[Q\x{100}\x{200}]{1,3}?/8 451 ab\x{100}cd 452 ab\x{200}cd 453 ab\x{200}\x{100}\x{200}\x{100}cd 454 *** Failers 455 456/(?<=[\x{100}\x{200}])X/8 457 abc\x{200}X 458 abc\x{100}X 459 *** Failers 460 X 461 462/(?<=[Q\x{100}\x{200}])X/8 463 abc\x{200}X 464 abc\x{100}X 465 abQX 466 *** Failers 467 X 468 469/(?<=[\x{100}\x{200}]{3})X/8 470 abc\x{100}\x{200}\x{100}X 471 *** Failers 472 abc\x{200}X 473 X 474 475/[^\x{100}\x{200}]X/8 476 AX 477 \x{150}X 478 \x{500}X 479 *** Failers 480 \x{100}X 481 \x{200}X 482 483/[^Q\x{100}\x{200}]X/8 484 AX 485 \x{150}X 486 \x{500}X 487 *** Failers 488 \x{100}X 489 \x{200}X 490 QX 491 492/[^\x{100}-\x{200}]X/8 493 AX 494 \x{500}X 495 *** Failers 496 \x{100}X 497 \x{150}X 498 \x{200}X 499 500/[z-\x{100}]/8i 501 z 502 Z 503 \x{100} 504 *** Failers 505 \x{102} 506 y 507 508/[\xFF]/ 509 >\xff< 510 511/[\xff]/8 512 >\x{ff}< 513 514/[^\xFF]/ 515 XYZ 516 517/[^\xff]/8 518 XYZ 519 \x{123} 520 521/^[ac]*b/8 522 xb 523 524/^[ac\x{100}]*b/8 525 xb 526 527/^[^x]*b/8i 528 xb 529 530/^[^x]*b/8 531 xb 532 533/^\d*b/8 534 xb 535 536/(|a)/g8 537 catac 538 a\x{256}a 539 540/^\x{85}$/8i 541 \x{85} 542 543/^abc./mgx8<any> 544 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK 545 546/abc.$/mgx8<any> 547 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 548 549/^a\Rb/8<bsr_unicode> 550 a\nb 551 a\rb 552 a\r\nb 553 a\x0bb 554 a\x0cb 555 a\x{85}b 556 a\x{2028}b 557 a\x{2029}b 558 ** Failers 559 a\n\rb 560 561/^a\R*b/8<bsr_unicode> 562 ab 563 a\nb 564 a\rb 565 a\r\nb 566 a\x0bb 567 a\x0c\x{2028}\x{2029}b 568 a\x{85}b 569 a\n\rb 570 a\n\r\x{85}\x0cb 571 572/^a\R+b/8<bsr_unicode> 573 a\nb 574 a\rb 575 a\r\nb 576 a\x0bb 577 a\x0c\x{2028}\x{2029}b 578 a\x{85}b 579 a\n\rb 580 a\n\r\x{85}\x0cb 581 ** Failers 582 ab 583 584/^a\R{1,3}b/8<bsr_unicode> 585 a\nb 586 a\n\rb 587 a\n\r\x{85}b 588 a\r\n\r\nb 589 a\r\n\r\n\r\nb 590 a\n\r\n\rb 591 a\n\n\r\nb 592 ** Failers 593 a\n\n\n\rb 594 a\r 595 596/\h+\V?\v{3,4}/8 597 \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a 598 599/\V?\v{3,4}/8 600 \x20\x{a0}X\x0a\x0b\x0c\x0d\x0a 601 602/\h+\V?\v{3,4}/8 603 >\x09\x20\x{a0}X\x0a\x0a\x0a< 604 605/\V?\v{3,4}/8 606 >\x09\x20\x{a0}X\x0a\x0a\x0a< 607 608/\H\h\V\v/8 609 X X\x0a 610 X\x09X\x0b 611 ** Failers 612 \x{a0} X\x0a 613 614/\H*\h+\V?\v{3,4}/8 615 \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a 616 \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a 617 \x09\x20\x{a0}\x0a\x0b\x0c 618 ** Failers 619 \x09\x20\x{a0}\x0a\x0b 620 621/\H\h\V\v/8 622 \x{3001}\x{3000}\x{2030}\x{2028} 623 X\x{180e}X\x{85} 624 ** Failers 625 \x{2009} X\x0a 626 627/\H*\h+\V?\v{3,4}/8 628 \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a 629 \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a 630 \x09\x20\x{202f}\x0a\x0b\x0c 631 ** Failers 632 \x09\x{200a}\x{a0}\x{2028}\x0b 633 634/a\Rb/I8<bsr_anycrlf> 635 a\rb 636 a\nb 637 a\r\nb 638 ** Failers 639 a\x{85}b 640 a\x0bb 641 642/a\Rb/I8<bsr_unicode> 643 a\rb 644 a\nb 645 a\r\nb 646 a\x{85}b 647 a\x0bb 648 ** Failers 649 a\x{85}b\<bsr_anycrlf> 650 a\x0bb\<bsr_anycrlf> 651 652/a\R?b/I8<bsr_anycrlf> 653 a\rb 654 a\nb 655 a\r\nb 656 ** Failers 657 a\x{85}b 658 a\x0bb 659 660/a\R?b/I8<bsr_unicode> 661 a\rb 662 a\nb 663 a\r\nb 664 a\x{85}b 665 a\x0bb 666 ** Failers 667 a\x{85}b\<bsr_anycrlf> 668 a\x0bb\<bsr_anycrlf> 669 670/X/8f<any> 671 A\x{1ec5}ABCXYZ 672 673/abcd*/8 674 xxxxabcd\P 675 xxxxabcd\P\P 676 677/abcd*/i8 678 xxxxabcd\P 679 xxxxabcd\P\P 680 XXXXABCD\P 681 XXXXABCD\P\P 682 683/abc\d*/8 684 xxxxabc1\P 685 xxxxabc1\P\P 686 687/abc[de]*/8 688 xxxxabcde\P 689 xxxxabcde\P\P 690 691/\bthe cat\b/8 692 the cat\P 693 the cat\P\P 694 695/a+/8 696 a\x{123}aa\>1 697 a\x{123}aa\>2 698 a\x{123}aa\>3 699 a\x{123}aa\>4 700 a\x{123}aa\>5 701 a\x{123}aa\>6 702 703/-- End of testinput8 --/ 704