| 1 |
/-- These tests are for the Perl 5.10 features that PCRE supports. --/
|
| 2 |
|
| 3 |
/\H\h\V\v/
|
| 4 |
X X\x0a
|
| 5 |
X\x09X\x0b
|
| 6 |
** Failers
|
| 7 |
\xa0 X\x0a
|
| 8 |
|
| 9 |
/\H*\h+\V?\v{3,4}/
|
| 10 |
\x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
|
| 11 |
\x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
|
| 12 |
\x09\x20\xa0\x0a\x0b\x0c
|
| 13 |
** Failers
|
| 14 |
\x09\x20\xa0\x0a\x0b
|
| 15 |
|
| 16 |
/\H{3,4}/
|
| 17 |
XY ABCDE
|
| 18 |
XY PQR ST
|
| 19 |
|
| 20 |
/.\h{3,4}./
|
| 21 |
XY AB PQRS
|
| 22 |
|
| 23 |
/\h*X\h?\H+Y\H?Z/
|
| 24 |
>XNNNYZ
|
| 25 |
> X NYQZ
|
| 26 |
** Failers
|
| 27 |
>XYZ
|
| 28 |
> X NY Z
|
| 29 |
|
| 30 |
/\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
|
| 31 |
>XY\x0aZ\x0aA\x0bNN\x0c
|
| 32 |
>\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
|
| 33 |
|
| 34 |
/(foo)\Kbar/
|
| 35 |
foobar
|
| 36 |
|
| 37 |
/(foo)(\Kbar|baz)/
|
| 38 |
foobar
|
| 39 |
foobaz
|
| 40 |
|
| 41 |
/(foo\Kbar)baz/
|
| 42 |
foobarbaz
|
| 43 |
|
| 44 |
/abc\K|def\K/g+
|
| 45 |
Xabcdefghi
|
| 46 |
|
| 47 |
/ab\Kc|de\Kf/g+
|
| 48 |
Xabcdefghi
|
| 49 |
|
| 50 |
/(?=C)/g+
|
| 51 |
ABCDECBA
|
| 52 |
|
| 53 |
/^abc\K/+
|
| 54 |
abcdef
|
| 55 |
** Failers
|
| 56 |
defabcxyz
|
| 57 |
|
| 58 |
/^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/
|
| 59 |
ababababbbabZXXXX
|
| 60 |
|
| 61 |
/(?<A>tom|bon)-\g{A}/
|
| 62 |
tom-tom
|
| 63 |
bon-bon
|
| 64 |
|
| 65 |
/(^(a|b\g{-1}))/
|
| 66 |
bacxxx
|
| 67 |
|
| 68 |
/(?|(abc)|(xyz))\1/
|
| 69 |
abcabc
|
| 70 |
xyzxyz
|
| 71 |
** Failers
|
| 72 |
abcxyz
|
| 73 |
xyzabc
|
| 74 |
|
| 75 |
/(?|(abc)|(xyz))(?1)/
|
| 76 |
abcabc
|
| 77 |
xyzabc
|
| 78 |
** Failers
|
| 79 |
xyzxyz
|
| 80 |
|
| 81 |
/^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/
|
| 82 |
XYabcdY
|
| 83 |
|
| 84 |
/^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/
|
| 85 |
XYabcdY
|
| 86 |
|
| 87 |
/^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/
|
| 88 |
XYabcdY
|
| 89 |
|
| 90 |
/(?'abc'\w+):\k<abc>{2}/
|
| 91 |
a:aaxyz
|
| 92 |
ab:ababxyz
|
| 93 |
** Failers
|
| 94 |
a:axyz
|
| 95 |
ab:abxyz
|
| 96 |
|
| 97 |
/(?'abc'\w+):\g{abc}{2}/
|
| 98 |
a:aaxyz
|
| 99 |
ab:ababxyz
|
| 100 |
** Failers
|
| 101 |
a:axyz
|
| 102 |
ab:abxyz
|
| 103 |
|
| 104 |
/^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x
|
| 105 |
abd
|
| 106 |
ce
|
| 107 |
|
| 108 |
/^(a.)\g-1Z/
|
| 109 |
aXaXZ
|
| 110 |
|
| 111 |
/^(a.)\g{-1}Z/
|
| 112 |
aXaXZ
|
| 113 |
|
| 114 |
/^(?(DEFINE) (?<A> a) (?<B> b) ) (?&A) (?&B) /x
|
| 115 |
abcd
|
| 116 |
|
| 117 |
/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
|
| 118 |
(?(DEFINE)
|
| 119 |
(?<NAME_PAT>[a-z]+)
|
| 120 |
(?<ADDRESS_PAT>\d+)
|
| 121 |
)/x
|
| 122 |
metcalfe 33
|
| 123 |
|
| 124 |
/(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/
|
| 125 |
1.2.3.4
|
| 126 |
131.111.10.206
|
| 127 |
10.0.0.0
|
| 128 |
** Failers
|
| 129 |
10.6
|
| 130 |
455.3.4.5
|
| 131 |
|
| 132 |
/\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/
|
| 133 |
1.2.3.4
|
| 134 |
131.111.10.206
|
| 135 |
10.0.0.0
|
| 136 |
** Failers
|
| 137 |
10.6
|
| 138 |
455.3.4.5
|
| 139 |
|
| 140 |
/^(\w++|\s++)*$/
|
| 141 |
now is the time for all good men to come to the aid of the party
|
| 142 |
*** Failers
|
| 143 |
this is not a line with only words and spaces!
|
| 144 |
|
| 145 |
/(\d++)(\w)/
|
| 146 |
12345a
|
| 147 |
*** Failers
|
| 148 |
12345+
|
| 149 |
|
| 150 |
/a++b/
|
| 151 |
aaab
|
| 152 |
|
| 153 |
/(a++b)/
|
| 154 |
aaab
|
| 155 |
|
| 156 |
/(a++)b/
|
| 157 |
aaab
|
| 158 |
|
| 159 |
/([^()]++|\([^()]*\))+/
|
| 160 |
((abc(ade)ufh()()x
|
| 161 |
|
| 162 |
/\(([^()]++|\([^()]+\))+\)/
|
| 163 |
(abc)
|
| 164 |
(abc(def)xyz)
|
| 165 |
*** Failers
|
| 166 |
((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
| 167 |
|
| 168 |
/^([^()]|\((?1)*\))*$/
|
| 169 |
abc
|
| 170 |
a(b)c
|
| 171 |
a(b(c))d
|
| 172 |
*** Failers)
|
| 173 |
a(b(c)d
|
| 174 |
|
| 175 |
/^>abc>([^()]|\((?1)*\))*<xyz<$/
|
| 176 |
>abc>123<xyz<
|
| 177 |
>abc>1(2)3<xyz<
|
| 178 |
>abc>(1(2)3)<xyz<
|
| 179 |
|
| 180 |
/^(?:((.)(?1)\2|)|((.)(?3)\4|.))$/i
|
| 181 |
1221
|
| 182 |
Satanoscillatemymetallicsonatas
|
| 183 |
AmanaplanacanalPanama
|
| 184 |
AblewasIereIsawElba
|
| 185 |
*** Failers
|
| 186 |
Thequickbrownfox
|
| 187 |
|
| 188 |
/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
|
| 189 |
12
|
| 190 |
(((2+2)*-3)-7)
|
| 191 |
-12
|
| 192 |
*** Failers
|
| 193 |
((2+2)*-3)-7)
|
| 194 |
|
| 195 |
/^(x(y|(?1){2})z)/
|
| 196 |
xyz
|
| 197 |
xxyzxyzz
|
| 198 |
*** Failers
|
| 199 |
xxyzz
|
| 200 |
xxyzxyzxyzz
|
| 201 |
|
| 202 |
/((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/x
|
| 203 |
<>
|
| 204 |
<abcd>
|
| 205 |
<abc <123> hij>
|
| 206 |
<abc <def> hij>
|
| 207 |
<abc<>def>
|
| 208 |
<abc<>
|
| 209 |
*** Failers
|
| 210 |
<abc
|
| 211 |
|
| 212 |
/^a+(*FAIL)/
|
| 213 |
aaaaaa
|
| 214 |
|
| 215 |
/a+b?c+(*FAIL)/
|
| 216 |
aaabccc
|
| 217 |
|
| 218 |
/a+b?(*PRUNE)c+(*FAIL)/
|
| 219 |
aaabccc
|
| 220 |
|
| 221 |
/a+b?(*COMMIT)c+(*FAIL)/
|
| 222 |
aaabccc
|
| 223 |
|
| 224 |
/a+b?(*SKIP)c+(*FAIL)/
|
| 225 |
aaabcccaaabccc
|
| 226 |
|
| 227 |
/^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
|
| 228 |
aaaxxxxxx
|
| 229 |
aaa++++++
|
| 230 |
bbbxxxxx
|
| 231 |
bbb+++++
|
| 232 |
cccxxxx
|
| 233 |
ccc++++
|
| 234 |
dddddddd
|
| 235 |
|
| 236 |
/^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
|
| 237 |
aaaxxxxxx
|
| 238 |
aaa++++++
|
| 239 |
bbbxxxxx
|
| 240 |
bbb+++++
|
| 241 |
cccxxxx
|
| 242 |
ccc++++
|
| 243 |
dddddddd
|
| 244 |
|
| 245 |
/a+b?(*THEN)c+(*FAIL)/
|
| 246 |
aaabccc
|
| 247 |
|
| 248 |
/(A (A|B(*ACCEPT)|C) D)(E)/x
|
| 249 |
ABX
|
| 250 |
AADE
|
| 251 |
ACDE
|
| 252 |
** Failers
|
| 253 |
AD
|
| 254 |
|
| 255 |
/^\W*+(?:((.)\W*+(?1)\W*+\2|)|((.)\W*+(?3)\W*+\4|\W*+.\W*+))\W*+$/i
|
| 256 |
1221
|
| 257 |
Satan, oscillate my metallic sonatas!
|
| 258 |
A man, a plan, a canal: Panama!
|
| 259 |
Able was I ere I saw Elba.
|
| 260 |
*** Failers
|
| 261 |
The quick brown fox
|
| 262 |
|
| 263 |
/^((.)(?1)\2|.)$/
|
| 264 |
a
|
| 265 |
aba
|
| 266 |
aabaa
|
| 267 |
abcdcba
|
| 268 |
pqaabaaqp
|
| 269 |
ablewasiereisawelba
|
| 270 |
rhubarb
|
| 271 |
the quick brown fox
|
| 272 |
|
| 273 |
/(a)(?<=b(?1))/
|
| 274 |
baz
|
| 275 |
** Failers
|
| 276 |
caz
|
| 277 |
|
| 278 |
/(?<=b(?1))(a)/
|
| 279 |
zbaaz
|
| 280 |
** Failers
|
| 281 |
aaa
|
| 282 |
|
| 283 |
/(?<X>a)(?<=b(?&X))/
|
| 284 |
baz
|
| 285 |
|
| 286 |
/^(?|(abc)|(def))\1/
|
| 287 |
abcabc
|
| 288 |
defdef
|
| 289 |
** Failers
|
| 290 |
abcdef
|
| 291 |
defabc
|
| 292 |
|
| 293 |
/^(?|(abc)|(def))(?1)/
|
| 294 |
abcabc
|
| 295 |
defabc
|
| 296 |
** Failers
|
| 297 |
defdef
|
| 298 |
abcdef
|
| 299 |
|
| 300 |
/(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |b(?<quote> (?<apostrophe>')|(?<realquote>")) ) (?('quote')[a-z]+|[0-9]+)/xJ
|
| 301 |
a\"aaaaa
|
| 302 |
b\"aaaaa
|
| 303 |
** Failers
|
| 304 |
b\"11111
|
| 305 |
|
| 306 |
/-- End of testinput11 --/
|