1 |
|
/-- This set of tests is for features that are compatible with all versions of |
2 |
|
Perl 5, in non-UTF-8 mode. --/ |
3 |
|
|
4 |
/the quick brown fox/ |
/the quick brown fox/ |
5 |
the quick brown fox |
the quick brown fox |
6 |
The quick brown FOX |
The quick brown FOX |
1300 |
abc |
abc |
1301 |
|
|
1302 |
/^a b |
/^a b |
1303 |
c/x |
c/x |
1304 |
abc |
abc |
1305 |
|
|
1306 |
/^(a|)\1*b/ |
/^(a|)\1*b/ |
1456 |
/{4,5a}bc/ |
/{4,5a}bc/ |
1457 |
{4,5a}bc |
{4,5a}bc |
1458 |
|
|
|
/^a.b/ |
|
|
a\rb |
|
|
*** Failers |
|
|
a\nb |
|
|
|
|
1459 |
/abc$/ |
/abc$/ |
1460 |
abc |
abc |
1461 |
abc\n |
abc\n |
1471 |
/(abc)\323/ |
/(abc)\323/ |
1472 |
abc\xd3 |
abc\xd3 |
1473 |
|
|
1474 |
/(abc)\500/ |
/(abc)\100/ |
1475 |
abc\x40 |
abc\x40 |
1476 |
abc\100 |
abc\100 |
1477 |
|
|
1478 |
/(abc)\5000/ |
/(abc)\1000/ |
1479 |
abc\x400 |
abc\x400 |
1480 |
abc\x40\x30 |
abc\x40\x30 |
1481 |
abc\1000 |
abc\1000 |
1497 |
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/ |
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/ |
1498 |
abcdefghijk\12S |
abcdefghijk\12S |
1499 |
|
|
1500 |
/ab\gdef/ |
/ab\idef/ |
1501 |
abgdef |
abidef |
1502 |
|
|
1503 |
/a{0}bc/ |
/a{0}bc/ |
1504 |
bc |
bc |
2332 |
baz |
baz |
2333 |
foobarbaz |
foobarbaz |
2334 |
|
|
2335 |
/The case of aaaaaa is missed out below because I think Perl 5.005_02 gets/ |
/The cases of aaaa and aaaaaa are missed out below because Perl does things/ |
2336 |
/it wrong; it sets $1 to aaa rather than aa. Compare the following test,/ |
/differently. We know that odd, and maybe incorrect, things happen with/ |
2337 |
/where it does set $1 to aa when matching aaaaaa./ |
/recursive references in Perl, as far as 5.11.3 - see some stuff in test #2./ |
2338 |
|
|
2339 |
/^(a\1?){4}$/ |
/^(a\1?){4}$/ |
2340 |
a |
a |
2341 |
aa |
aa |
2342 |
aaa |
aaa |
|
aaaa |
|
2343 |
aaaaa |
aaaaa |
2344 |
aaaaaaa |
aaaaaaa |
2345 |
aaaaaaaa |
aaaaaaaa |
3378 |
cdaccb |
cdaccb |
3379 |
|
|
3380 |
/^(?:a?b?)*$/ |
/^(?:a?b?)*$/ |
3381 |
|
\ |
3382 |
|
a |
3383 |
|
ab |
3384 |
|
aaa |
3385 |
*** Failers |
*** Failers |
3386 |
dbcb |
dbcb |
3387 |
a-- |
a-- |
3388 |
|
aa-- |
3389 |
|
|
3390 |
/((?s)^a(.))((?m)^b$)/ |
/((?s)^a(.))((?m)^b$)/ |
3391 |
a\nb\nc\n |
a\nb\nc\n |
3423 |
/((?m)^b)/ |
/((?m)^b)/ |
3424 |
a\nb\nc\n |
a\nb\nc\n |
3425 |
|
|
|
/(?(1)a|b)/ |
|
|
|
|
|
/(?(1)b|a)/ |
|
|
a |
|
|
|
|
3426 |
/(x)?(?(1)a|b)/ |
/(x)?(?(1)a|b)/ |
3427 |
*** Failers |
*** Failers |
3428 |
a |
a |
3843 |
** Failers |
** Failers |
3844 |
abcddefg |
abcddefg |
3845 |
|
|
3846 |
/ End of testinput1 / |
/(?<![^f]oo)(bar)/ |
3847 |
|
foobarX |
3848 |
|
** Failers |
3849 |
|
boobarX |
3850 |
|
|
3851 |
|
/(?<![^f])X/ |
3852 |
|
offX |
3853 |
|
** Failers |
3854 |
|
onyX |
3855 |
|
|
3856 |
|
/(?<=[^f])X/ |
3857 |
|
onyX |
3858 |
|
** Failers |
3859 |
|
offX |
3860 |
|
|
3861 |
|
/^/mg |
3862 |
|
a\nb\nc\n |
3863 |
|
\ |
3864 |
|
|
3865 |
|
/(?<=C\n)^/mg |
3866 |
|
A\nC\nC\n |
3867 |
|
|
3868 |
|
/(?:(?(1)a|b)(X))+/ |
3869 |
|
bXaX |
3870 |
|
|
3871 |
|
/(?:(?(1)\1a|b)(X|Y))+/ |
3872 |
|
bXXaYYaY |
3873 |
|
bXYaXXaX |
3874 |
|
|
3875 |
|
/()()()()()()()()()(?:(?(10)\10a|b)(X|Y))+/ |
3876 |
|
bXXaYYaY |
3877 |
|
|
3878 |
|
/[[,abc,]+]/ |
3879 |
|
abc] |
3880 |
|
a,b] |
3881 |
|
[a,b,c] |
3882 |
|
|
3883 |
|
/(?-x: )/x |
3884 |
|
A\x20B |
3885 |
|
|
3886 |
|
"(?x)(?-x: \s*#\s*)" |
3887 |
|
A # B |
3888 |
|
** Failers |
3889 |
|
# |
3890 |
|
|
3891 |
|
"(?x-is)(?:(?-ixs) \s*#\s*) include" |
3892 |
|
A #include |
3893 |
|
** Failers |
3894 |
|
A#include |
3895 |
|
A #Include |
3896 |
|
|
3897 |
|
/a*b*\w/ |
3898 |
|
aaabbbb |
3899 |
|
aaaa |
3900 |
|
a |
3901 |
|
|
3902 |
|
/a*b?\w/ |
3903 |
|
aaabbbb |
3904 |
|
aaaa |
3905 |
|
a |
3906 |
|
|
3907 |
|
/a*b{0,4}\w/ |
3908 |
|
aaabbbb |
3909 |
|
aaaa |
3910 |
|
a |
3911 |
|
|
3912 |
|
/a*b{0,}\w/ |
3913 |
|
aaabbbb |
3914 |
|
aaaa |
3915 |
|
a |
3916 |
|
|
3917 |
|
/a*\d*\w/ |
3918 |
|
0a |
3919 |
|
a |
3920 |
|
|
3921 |
|
/a*b *\w/x |
3922 |
|
a |
3923 |
|
|
3924 |
|
/a*b#comment |
3925 |
|
*\w/x |
3926 |
|
a |
3927 |
|
|
3928 |
|
/a* b *\w/x |
3929 |
|
a |
3930 |
|
|
3931 |
|
/^\w+=.*(\\\n.*)*/ |
3932 |
|
abc=xyz\\\npqr |
3933 |
|
|
3934 |
|
/(?=(\w+))\1:/ |
3935 |
|
abcd: |
3936 |
|
|
3937 |
|
/^(?=(\w+))\1:/ |
3938 |
|
abcd: |
3939 |
|
|
3940 |
|
/^\Eabc/ |
3941 |
|
abc |
3942 |
|
|
3943 |
|
/^[\Eabc]/ |
3944 |
|
a |
3945 |
|
** Failers |
3946 |
|
E |
3947 |
|
|
3948 |
|
/^[a-\Ec]/ |
3949 |
|
b |
3950 |
|
** Failers |
3951 |
|
- |
3952 |
|
E |
3953 |
|
|
3954 |
|
/^[a\E\E-\Ec]/ |
3955 |
|
b |
3956 |
|
** Failers |
3957 |
|
- |
3958 |
|
E |
3959 |
|
|
3960 |
|
/^[\E\Qa\E-\Qz\E]+/ |
3961 |
|
b |
3962 |
|
** Failers |
3963 |
|
- |
3964 |
|
|
3965 |
|
/^[a\Q]bc\E]/ |
3966 |
|
a |
3967 |
|
] |
3968 |
|
c |
3969 |
|
|
3970 |
|
/^[a-\Q\E]/ |
3971 |
|
a |
3972 |
|
- |
3973 |
|
|
3974 |
|
/^(a()*)*/ |
3975 |
|
aaaa |
3976 |
|
|
3977 |
|
/^(?:a(?:(?:))*)*/ |
3978 |
|
aaaa |
3979 |
|
|
3980 |
|
/^(a()+)+/ |
3981 |
|
aaaa |
3982 |
|
|
3983 |
|
/^(?:a(?:(?:))+)+/ |
3984 |
|
aaaa |
3985 |
|
|
3986 |
|
/(a){0,3}(?(1)b|(c|))*D/ |
3987 |
|
abbD |
3988 |
|
ccccD |
3989 |
|
D |
3990 |
|
|
3991 |
|
/(a|)*\d/ |
3992 |
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
3993 |
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
3994 |
|
|
3995 |
|
/(?>a|)*\d/ |
3996 |
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
3997 |
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
3998 |
|
|
3999 |
|
/(?:a|)*\d/ |
4000 |
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
4001 |
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
4002 |
|
|
4003 |
|
/\Z/g |
4004 |
|
abc\n |
4005 |
|
|
4006 |
|
/^(?s)(?>.*)(?<!\n)/ |
4007 |
|
abc |
4008 |
|
abc\n |
4009 |
|
|
4010 |
|
/^(?![^\n]*\n\z)/ |
4011 |
|
abc |
4012 |
|
abc\n |
4013 |
|
|
4014 |
|
/\z(?<!\n)/ |
4015 |
|
abc |
4016 |
|
abc\n |
4017 |
|
|
4018 |
|
/(.*(.)?)*/ |
4019 |
|
abcd |
4020 |
|
|
4021 |
|
/( (A | (?(1)0|) )* )/x |
4022 |
|
abcd |
4023 |
|
|
4024 |
|
/( ( (?(1)0|) )* )/x |
4025 |
|
abcd |
4026 |
|
|
4027 |
|
/( (?(1)0|)* )/x |
4028 |
|
abcd |
4029 |
|
|
4030 |
|
/[[:abcd:xyz]]/ |
4031 |
|
a] |
4032 |
|
:] |
4033 |
|
|
4034 |
|
/[abc[:x\]pqr]/ |
4035 |
|
a |
4036 |
|
[ |
4037 |
|
: |
4038 |
|
] |
4039 |
|
p |
4040 |
|
|
4041 |
|
/.*[op][xyz]/ |
4042 |
|
fooabcfoo |
4043 |
|
|
4044 |
|
/(?(?=.*b)b|^)/ |
4045 |
|
adc |
4046 |
|
abc |
4047 |
|
|
4048 |
|
/(?(?=^.*b)b|^)/ |
4049 |
|
adc |
4050 |
|
abc |
4051 |
|
|
4052 |
|
/(?(?=.*b)b|^)*/ |
4053 |
|
adc |
4054 |
|
abc |
4055 |
|
|
4056 |
|
/(?(?=.*b)b|^)+/ |
4057 |
|
adc |
4058 |
|
abc |
4059 |
|
|
4060 |
|
/(?(?=b).*b|^d)/ |
4061 |
|
abc |
4062 |
|
|
4063 |
|
/(?(?=.*b).*b|^d)/ |
4064 |
|
abc |
4065 |
|
|
4066 |
|
/^%((?(?=[a])[^%])|b)*%$/ |
4067 |
|
%ab% |
4068 |
|
|
4069 |
|
/(?i)a(?-i)b|c/ |
4070 |
|
XabX |
4071 |
|
XAbX |
4072 |
|
CcC |
4073 |
|
** Failers |
4074 |
|
XABX |
4075 |
|
|
4076 |
|
/[\x00-\xff\s]+/ |
4077 |
|
\x0a\x0b\x0c\x0d |
4078 |
|
|
4079 |
|
/^\c/ |
4080 |
|
? |
4081 |
|
|
4082 |
|
/-- End of testinput1 --/ |