665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
|
expectMatch 14.16 RP {a([bc])\1*} ab ab b
expectMatch 14.17 RP {a([bc])(\1*)} ab ab b ""
expectError 14.18 - {a((b)\1)} ESUBREG
expectError 14.19 - {a(b)c\2} ESUBREG
expectMatch 14.20 bR {a\(b*\)c\1} abbcbb abbcbb bb
expectMatch 14.21 RP {^([bc])\1*$} bbb bbb b
expectMatch 14.22 RP {^([bc])\1*$} ccc ccc c
knownBug expectNomatch 14.23 R {^([bc])\1*$} bcb
doing 15 "octal escapes vs back references"
# initial zero is always octal
expectMatch 15.1 MP "a\\010b" "a\bb" "a\bb"
expectMatch 15.2 MP "a\\0070b" "a\0070b" "a\0070b"
expectMatch 15.3 MP "a\\07b" "a\007b" "a\007b"
|
|
>
>
>
>
>
>
|
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
|
expectMatch 14.16 RP {a([bc])\1*} ab ab b
expectMatch 14.17 RP {a([bc])(\1*)} ab ab b ""
expectError 14.18 - {a((b)\1)} ESUBREG
expectError 14.19 - {a(b)c\2} ESUBREG
expectMatch 14.20 bR {a\(b*\)c\1} abbcbb abbcbb bb
expectMatch 14.21 RP {^([bc])\1*$} bbb bbb b
expectMatch 14.22 RP {^([bc])\1*$} ccc ccc c
expectNomatch 14.23 RP {^([bc])\1*$} bcb
expectMatch 14.24 LRP {^(\w+)( \1)+$} {abc abc abc} {abc abc abc} abc { abc}
expectNomatch 14.25 LRP {^(\w+)( \1)+$} {abc abd abc}
expectNomatch 14.26 LRP {^(\w+)( \1)+$} {abc abc abd}
expectMatch 14.27 RP {^(.+)( \1)+$} {abc abc abc} {abc abc abc} abc { abc}
expectNomatch 14.28 RP {^(.+)( \1)+$} {abc abd abc}
expectNomatch 14.29 RP {^(.+)( \1)+$} {abc abc abd}
doing 15 "octal escapes vs back references"
# initial zero is always octal
expectMatch 15.1 MP "a\\010b" "a\bb" "a\bb"
expectMatch 15.2 MP "a\\0070b" "a\0070b" "a\0070b"
expectMatch 15.3 MP "a\\07b" "a\007b" "a\007b"
|
792
793
794
795
796
797
798
799
800
801
802
803
804
805
|
expectIndices 21.28 Q "a(b){2,3}c" xabbbcy {1 5} {4 4}
expectIndices 21.29 Q "a(b){2,3}c" xabbcy {1 4} {3 3}
expectNomatch 21.30 Q "a(b){2,3}c" xabcy
expectMatch 21.31 LP "\\y(\\w+)\\y" "-- abc-" "abc" "abc"
expectMatch 21.32 - a((b|c)d+)+ abacdbd acdbd bd b
expectMatch 21.33 N (.*).* abc abc abc
expectMatch 21.34 N (a*)* bc "" ""
doing 22 "multicharacter collating elements"
# again ugh
expectMatch 22.1 &+L {a[c]e} ace ace
expectNomatch 22.2 &+IL {a[c]h} ach
expectMatch 22.3 &+L {a[[.ch.]]} ach ach
|
>
|
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
|
expectIndices 21.28 Q "a(b){2,3}c" xabbbcy {1 5} {4 4}
expectIndices 21.29 Q "a(b){2,3}c" xabbcy {1 4} {3 3}
expectNomatch 21.30 Q "a(b){2,3}c" xabcy
expectMatch 21.31 LP "\\y(\\w+)\\y" "-- abc-" "abc" "abc"
expectMatch 21.32 - a((b|c)d+)+ abacdbd acdbd bd b
expectMatch 21.33 N (.*).* abc abc abc
expectMatch 21.34 N (a*)* bc "" ""
expectMatch 21.35 M { TO (([a-z0-9._]+|"([^"]+|"")+")+)} {asd TO foo} { TO foo} foo o {}
doing 22 "multicharacter collating elements"
# again ugh
expectMatch 22.1 &+L {a[c]e} ace ace
expectNomatch 22.2 &+IL {a[c]h} ach
expectMatch 22.3 &+L {a[[.ch.]]} ach ach
|
844
845
846
847
848
849
850
851
852
853
854
855
856
857
|
expectMatch 24.6 PT ab??c abc abc
expectMatch 24.7 PQT "ab{2,4}?" abbbb abb
expectMatch 24.8 PQT "ab{2,4}?c" abbbbc abbbbc
expectMatch 24.9 - 3z* 123zzzz456 3zzzz
expectMatch 24.10 PT 3z*? 123zzzz456 3
expectMatch 24.11 - z*4 123zzzz456 zzzz4
expectMatch 24.12 PT z*?4 123zzzz456 zzzz4
doing 25 "mixed quantifiers"
# this is very incomplete as yet
# should include |
expectMatch 25.1 PNT {^(.*?)(a*)$} "xyza" xyza xyz a
expectMatch 25.2 PNT {^(.*?)(a*)$} "xyzaa" xyzaa xyz aa
|
>
|
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
|
expectMatch 24.6 PT ab??c abc abc
expectMatch 24.7 PQT "ab{2,4}?" abbbb abb
expectMatch 24.8 PQT "ab{2,4}?c" abbbbc abbbbc
expectMatch 24.9 - 3z* 123zzzz456 3zzzz
expectMatch 24.10 PT 3z*? 123zzzz456 3
expectMatch 24.11 - z*4 123zzzz456 zzzz4
expectMatch 24.12 PT z*?4 123zzzz456 zzzz4
expectMatch 24.13 PT {^([^/]+?)(?:/([^/]+?))(?:/([^/]+?))?$} {foo/bar/baz} {foo/bar/baz} {foo} {bar} {baz}
doing 25 "mixed quantifiers"
# this is very incomplete as yet
# should include |
expectMatch 25.1 PNT {^(.*?)(a*)$} "xyza" xyza xyz a
expectMatch 25.2 PNT {^(.*?)(a*)$} "xyzaa" xyzaa xyz aa
|