This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 4.0 patch 10: (combined patch)
[perl5.git] / t / op / re_tests
index 01d9940..ee03d6f 100644 (file)
@@ -135,3 +135,140 @@ a(bc)d    abcd    y       $1-\$1-\\$1     bc-$1-\bc
 a[-]?c ac      y       $&      ac
 (abc)\1        abcabc  y       $1      abc
 ([a-c]*)\1     abcabc  y       $1      abc
+'abc'i ABC     y       $&      ABC
+'abc'i XBC     n       -       -
+'abc'i AXC     n       -       -
+'abc'i ABX     n       -       -
+'abc'i XABCY   y       $&      ABC
+'abc'i ABABC   y       $&      ABC
+'ab*c'i        ABC     y       $&      ABC
+'ab*bc'i       ABC     y       $&      ABC
+'ab*bc'i       ABBC    y       $&      ABBC
+'ab*bc'i       ABBBBC  y       $&      ABBBBC
+'ab{0,}bc'i    ABBBBC  y       $&      ABBBBC
+'ab+bc'i       ABBC    y       $&      ABBC
+'ab+bc'i       ABC     n       -       -
+'ab+bc'i       ABQ     n       -       -
+'ab{1,}bc'i    ABQ     n       -       -
+'ab+bc'i       ABBBBC  y       $&      ABBBBC
+'ab{1,}bc'i    ABBBBC  y       $&      ABBBBC
+'ab{1,3}bc'i   ABBBBC  y       $&      ABBBBC
+'ab{3,4}bc'i   ABBBBC  y       $&      ABBBBC
+'ab{4,5}bc'i   ABBBBC  n       -       -
+'ab?bc'i       ABBC    y       $&      ABBC
+'ab?bc'i       ABC     y       $&      ABC
+'ab{0,1}bc'i   ABC     y       $&      ABC
+'ab?bc'i       ABBBBC  n       -       -
+'ab?c'i        ABC     y       $&      ABC
+'ab{0,1}c'i    ABC     y       $&      ABC
+'^abc$'i       ABC     y       $&      ABC
+'^abc$'i       ABCC    n       -       -
+'^abc'i        ABCC    y       $&      ABC
+'^abc$'i       AABC    n       -       -
+'abc$'i        AABC    y       $&      ABC
+'^'i   ABC     y       $&      
+'$'i   ABC     y       $&      
+'a.c'i ABC     y       $&      ABC
+'a.c'i AXC     y       $&      AXC
+'a.*c'i        AXYZC   y       $&      AXYZC
+'a.*c'i        AXYZD   n       -       -
+'a[bc]d'i      ABC     n       -       -
+'a[bc]d'i      ABD     y       $&      ABD
+'a[b-d]e'i     ABD     n       -       -
+'a[b-d]e'i     ACE     y       $&      ACE
+'a[b-d]'i      AAC     y       $&      AC
+'a[-b]'i       A-      y       $&      A-
+'a[b-]'i       A-      y       $&      A-
+'a[b-a]'i      -       c       -       -
+'a[]b'i        -       c       -       -
+'a['i  -       c       -       -
+'a]'i  A]      y       $&      A]
+'a[]]b'i       A]B     y       $&      A]B
+'a[^bc]d'i     AED     y       $&      AED
+'a[^bc]d'i     ABD     n       -       -
+'a[^-b]c'i     ADC     y       $&      ADC
+'a[^-b]c'i     A-C     n       -       -
+'a[^]b]c'i     A]C     n       -       -
+'a[^]b]c'i     ADC     y       $&      ADC
+'ab|cd'i       ABC     y       $&      AB
+'ab|cd'i       ABCD    y       $&      AB
+'()ef'i        DEF     y       $&-$1   EF-
+'()*'i -       c       -       -
+'*a'i  -       c       -       -
+'^*'i  -       c       -       -
+'$*'i  -       c       -       -
+'(*)b'i        -       c       -       -
+'$b'i  B       n       -       -
+'a\'i  -       c       -       -
+'a\(b'i        A(B     y       $&-$1   A(B-
+'a\(*b'i       AB      y       $&      AB
+'a\(*b'i       A((B    y       $&      A((B
+'a\\b'i        A\B     y       $&      A\B
+'abc)'i        -       c       -       -
+'(abc'i        -       c       -       -
+'((a))'i       ABC     y       $&-$1-$2        A-A-A
+'(a)b(c)'i     ABC     y       $&-$1-$2        ABC-A-C
+'a+b+c'i       AABBABC y       $&      ABC
+'a{1,}b{1,}c'i AABBABC y       $&      ABC
+'a**'i -       c       -       -
+'a*?'i -       c       -       -
+'(a*)*'i       -       c       -       -
+'(a*)+'i       -       c       -       -
+'(a|)*'i       -       c       -       -
+'(a*|b)*'i     -       c       -       -
+'(a+|b)*'i     AB      y       $&-$1   AB-B
+'(a+|b){0,}'i  AB      y       $&-$1   AB-B
+'(a+|b)+'i     AB      y       $&-$1   AB-B
+'(a+|b){1,}'i  AB      y       $&-$1   AB-B
+'(a+|b)?'i     AB      y       $&-$1   A-A
+'(a+|b){0,1}'i AB      y       $&-$1   A-A
+'(^)*'i        -       c       -       -
+'(ab|)*'i      -       c       -       -
+')('i  -       c       -       -
+'[^ab]*'i      CDE     y       $&      CDE
+'abc'i         n       -       -
+'a*'i          y       $&      
+'([abc])*d'i   ABBBCD  y       $&-$1   ABBBCD-C
+'([abc])*bcd'i ABCD    y       $&-$1   ABCD-A
+'a|b|c|d|e'i   E       y       $&      E
+'(a|b|c|d|e)f'i        EF      y       $&-$1   EF-E
+'((a*|b))*'i   -       c       -       -
+'abcd*efg'i    ABCDEFG y       $&      ABCDEFG
+'ab*'i XABYABBBZ       y       $&      AB
+'ab*'i XAYABBBZ        y       $&      A
+'(ab|cd)e'i    ABCDE   y       $&-$1   CDE-CD
+'[abhgefdc]ij'i        HIJ     y       $&      HIJ
+'^(ab|cd)e'i   ABCDE   n       x$1y    XY
+'(abc|)ef'i    ABCDEF  y       $&-$1   EF-
+'(a|b)c*d'i    ABCD    y       $&-$1   BCD-B
+'(ab|ab*)bc'i  ABC     y       $&-$1   ABC-A
+'a([bc]*)c*'i  ABC     y       $&-$1   ABC-BC
+'a([bc]*)(c*d)'i       ABCD    y       $&-$1-$2        ABCD-BC-D
+'a([bc]+)(c*d)'i       ABCD    y       $&-$1-$2        ABCD-BC-D
+'a([bc]*)(c+d)'i       ABCD    y       $&-$1-$2        ABCD-B-CD
+'a[bcd]*dcdcde'i       ADCDCDE y       $&      ADCDCDE
+'a[bcd]+dcdcde'i       ADCDCDE n       -       -
+'(ab|a)b*c'i   ABC     y       $&-$1   ABC-AB
+'((a)(b)c)(d)'i        ABCD    y       $1-$2-$3-$4     ABC-A-B-D
+'[a-zA-Z_][a-zA-Z0-9_]*'i      ALPHA   y       $&      ALPHA
+'^a(bc+|b[eh])g|.h$'i  ABH     y       $&-$1   BH-
+'(bc+d$|ef*g.|h?i(j|k))'i      EFFGZ   y       $&-$1-$2        EFFGZ-EFFGZ-
+'(bc+d$|ef*g.|h?i(j|k))'i      IJ      y       $&-$1-$2        IJ-IJ-J
+'(bc+d$|ef*g.|h?i(j|k))'i      EFFG    n       -       -
+'(bc+d$|ef*g.|h?i(j|k))'i      BCDD    n       -       -
+'(bc+d$|ef*g.|h?i(j|k))'i      REFFGZ  y       $&-$1-$2        EFFGZ-EFFGZ-
+'((((((((((a))))))))))'i       A       y       $10     A
+'((((((((((a))))))))))\10'i    AA      y       $&      AA
+'((((((((((a))))))))))\41'i    AA      n       -       -
+'((((((((((a))))))))))\41'i    A!      y       $&      A!
+'(((((((((a)))))))))'i A       y       $&      A
+'multiple words of text'i      UH-UH   n       -       -
+'multiple words'i      MULTIPLE WORDS, YEAH    y       $&      MULTIPLE WORDS
+'(.*)c(.*)'i   ABCDE   y       $&-$1-$2        ABCDE-AB-DE
+'\((.*), (.*)\)'i      (A, B)  y       ($2, $1)        (B, A)
+'[k]'i AB      n       -       -
+'abcd'i        ABCD    y       $&-\$&-\\$&     ABCD-$&-\ABCD
+'a(bc)d'i      ABCD    y       $1-\$1-\\$1     BC-$1-\BC
+'a[-]?c'i      AC      y       $&      AC
+'(abc)\1'i     ABCABC  y       $1      ABC
+'([a-c]*)\1'i  ABCABC  y       $1      ABC