1 |
PCRE version 3.3 01-Aug-2000
|
2 |
|
3 |
/(a)b|/
|
4 |
Capturing subpattern count = 1
|
5 |
No options
|
6 |
No first char
|
7 |
No need char
|
8 |
|
9 |
/abc/
|
10 |
Capturing subpattern count = 0
|
11 |
No options
|
12 |
First char = 'a'
|
13 |
Need char = 'c'
|
14 |
abc
|
15 |
0: abc
|
16 |
defabc
|
17 |
0: abc
|
18 |
\Aabc
|
19 |
0: abc
|
20 |
*** Failers
|
21 |
No match
|
22 |
\Adefabc
|
23 |
No match
|
24 |
ABC
|
25 |
No match
|
26 |
|
27 |
/^abc/
|
28 |
Capturing subpattern count = 0
|
29 |
Options: anchored
|
30 |
No first char
|
31 |
Need char = 'c'
|
32 |
abc
|
33 |
0: abc
|
34 |
\Aabc
|
35 |
0: abc
|
36 |
*** Failers
|
37 |
No match
|
38 |
defabc
|
39 |
No match
|
40 |
\Adefabc
|
41 |
No match
|
42 |
|
43 |
/a+bc/
|
44 |
Capturing subpattern count = 0
|
45 |
No options
|
46 |
First char = 'a'
|
47 |
Need char = 'c'
|
48 |
|
49 |
/a*bc/
|
50 |
Capturing subpattern count = 0
|
51 |
No options
|
52 |
No first char
|
53 |
Need char = 'c'
|
54 |
|
55 |
/a{3}bc/
|
56 |
Capturing subpattern count = 0
|
57 |
No options
|
58 |
First char = 'a'
|
59 |
Need char = 'c'
|
60 |
|
61 |
/(abc|a+z)/
|
62 |
Capturing subpattern count = 1
|
63 |
No options
|
64 |
First char = 'a'
|
65 |
No need char
|
66 |
|
67 |
/^abc$/
|
68 |
Capturing subpattern count = 0
|
69 |
Options: anchored
|
70 |
No first char
|
71 |
Need char = 'c'
|
72 |
abc
|
73 |
0: abc
|
74 |
*** Failers
|
75 |
No match
|
76 |
def\nabc
|
77 |
No match
|
78 |
|
79 |
/ab\gdef/X
|
80 |
Failed: unrecognized character follows \ at offset 3
|
81 |
|
82 |
/(?X)ab\gdef/X
|
83 |
Failed: unrecognized character follows \ at offset 7
|
84 |
|
85 |
/x{5,4}/
|
86 |
Failed: numbers out of order in {} quantifier at offset 5
|
87 |
|
88 |
/z{65536}/
|
89 |
Failed: number too big in {} quantifier at offset 7
|
90 |
|
91 |
/[abcd/
|
92 |
Failed: missing terminating ] for character class at offset 5
|
93 |
|
94 |
/[\B]/
|
95 |
Failed: invalid escape sequence in character class at offset 2
|
96 |
|
97 |
/[z-a]/
|
98 |
Failed: range out of order in character class at offset 3
|
99 |
|
100 |
/^*/
|
101 |
Failed: nothing to repeat at offset 1
|
102 |
|
103 |
/(abc/
|
104 |
Failed: missing ) at offset 4
|
105 |
|
106 |
/(?# abc/
|
107 |
Failed: missing ) after comment at offset 7
|
108 |
|
109 |
/(?z)abc/
|
110 |
Failed: unrecognized character after (? at offset 2
|
111 |
|
112 |
/.*b/
|
113 |
Capturing subpattern count = 0
|
114 |
No options
|
115 |
First char at start or follows \n
|
116 |
Need char = 'b'
|
117 |
|
118 |
/.*?b/
|
119 |
Capturing subpattern count = 0
|
120 |
No options
|
121 |
First char at start or follows \n
|
122 |
Need char = 'b'
|
123 |
|
124 |
/cat|dog|elephant/
|
125 |
Capturing subpattern count = 0
|
126 |
No options
|
127 |
No first char
|
128 |
No need char
|
129 |
this sentence eventually mentions a cat
|
130 |
0: cat
|
131 |
this sentences rambles on and on for a while and then reaches elephant
|
132 |
0: elephant
|
133 |
|
134 |
/cat|dog|elephant/S
|
135 |
Capturing subpattern count = 0
|
136 |
No options
|
137 |
No first char
|
138 |
No need char
|
139 |
Starting character set: c d e
|
140 |
this sentence eventually mentions a cat
|
141 |
0: cat
|
142 |
this sentences rambles on and on for a while and then reaches elephant
|
143 |
0: elephant
|
144 |
|
145 |
/cat|dog|elephant/iS
|
146 |
Capturing subpattern count = 0
|
147 |
Options: caseless
|
148 |
No first char
|
149 |
No need char
|
150 |
Starting character set: C D E c d e
|
151 |
this sentence eventually mentions a CAT cat
|
152 |
0: CAT
|
153 |
this sentences rambles on and on for a while to elephant ElePhant
|
154 |
0: elephant
|
155 |
|
156 |
/a|[bcd]/S
|
157 |
Capturing subpattern count = 0
|
158 |
No options
|
159 |
No first char
|
160 |
No need char
|
161 |
Starting character set: a b c d
|
162 |
|
163 |
/(a|[^\dZ])/S
|
164 |
Capturing subpattern count = 1
|
165 |
No options
|
166 |
No first char
|
167 |
No need char
|
168 |
Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
|
169 |
\x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
|
170 |
\x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
|
171 |
? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d
|
172 |
e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83
|
173 |
\x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
|
174 |
\x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
|
175 |
\xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
|
176 |
\xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
|
177 |
\xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce
|
178 |
\xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd
|
179 |
\xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec
|
180 |
\xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
|
181 |
\xfc \xfd \xfe \xff
|
182 |
|
183 |
/(a|b)*[\s]/S
|
184 |
Capturing subpattern count = 1
|
185 |
No options
|
186 |
No first char
|
187 |
No need char
|
188 |
Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b
|
189 |
|
190 |
/(ab\2)/
|
191 |
Failed: back reference to non-existent subpattern at offset 6
|
192 |
|
193 |
/{4,5}abc/
|
194 |
Failed: nothing to repeat at offset 4
|
195 |
|
196 |
/(a)(b)(c)\2/
|
197 |
Capturing subpattern count = 3
|
198 |
Max back reference = 2
|
199 |
No options
|
200 |
First char = 'a'
|
201 |
Need char = 'c'
|
202 |
abcb
|
203 |
0: abcb
|
204 |
1: a
|
205 |
2: b
|
206 |
3: c
|
207 |
\O0abcb
|
208 |
Matched, but too many substrings
|
209 |
\O3abcb
|
210 |
Matched, but too many substrings
|
211 |
0: abcb
|
212 |
\O6abcb
|
213 |
Matched, but too many substrings
|
214 |
0: abcb
|
215 |
1: a
|
216 |
\O9abcb
|
217 |
Matched, but too many substrings
|
218 |
0: abcb
|
219 |
1: a
|
220 |
2: b
|
221 |
\O12abcb
|
222 |
0: abcb
|
223 |
1: a
|
224 |
2: b
|
225 |
3: c
|
226 |
|
227 |
/(a)bc|(a)(b)\2/
|
228 |
Capturing subpattern count = 3
|
229 |
Max back reference = 2
|
230 |
No options
|
231 |
First char = 'a'
|
232 |
No need char
|
233 |
abc
|
234 |
0: abc
|
235 |
1: a
|
236 |
\O0abc
|
237 |
Matched, but too many substrings
|
238 |
\O3abc
|
239 |
Matched, but too many substrings
|
240 |
0: abc
|
241 |
\O6abc
|
242 |
0: abc
|
243 |
1: a
|
244 |
aba
|
245 |
0: aba
|
246 |
1: <unset>
|
247 |
2: a
|
248 |
3: b
|
249 |
\O0aba
|
250 |
Matched, but too many substrings
|
251 |
\O3aba
|
252 |
Matched, but too many substrings
|
253 |
0: aba
|
254 |
\O6aba
|
255 |
Matched, but too many substrings
|
256 |
0: aba
|
257 |
1: <unset>
|
258 |
\O9aba
|
259 |
Matched, but too many substrings
|
260 |
0: aba
|
261 |
1: <unset>
|
262 |
2: a
|
263 |
\O12aba
|
264 |
0: aba
|
265 |
1: <unset>
|
266 |
2: a
|
267 |
3: b
|
268 |
|
269 |
/abc$/E
|
270 |
Capturing subpattern count = 0
|
271 |
Options: dollar_endonly
|
272 |
First char = 'a'
|
273 |
Need char = 'c'
|
274 |
abc
|
275 |
0: abc
|
276 |
*** Failers
|
277 |
No match
|
278 |
abc\n
|
279 |
No match
|
280 |
abc\ndef
|
281 |
No match
|
282 |
|
283 |
/(a)(b)(c)(d)(e)\6/
|
284 |
Failed: back reference to non-existent subpattern at offset 17
|
285 |
|
286 |
/the quick brown fox/
|
287 |
Capturing subpattern count = 0
|
288 |
No options
|
289 |
First char = 't'
|
290 |
Need char = 'x'
|
291 |
the quick brown fox
|
292 |
0: the quick brown fox
|
293 |
this is a line with the quick brown fox
|
294 |
0: the quick brown fox
|
295 |
|
296 |
/the quick brown fox/A
|
297 |
Capturing subpattern count = 0
|
298 |
Options: anchored
|
299 |
No first char
|
300 |
Need char = 'x'
|
301 |
the quick brown fox
|
302 |
0: the quick brown fox
|
303 |
*** Failers
|
304 |
No match
|
305 |
this is a line with the quick brown fox
|
306 |
No match
|
307 |
|
308 |
/ab(?z)cd/
|
309 |
Failed: unrecognized character after (? at offset 4
|
310 |
|
311 |
/^abc|def/
|
312 |
Capturing subpattern count = 0
|
313 |
No options
|
314 |
No first char
|
315 |
No need char
|
316 |
abcdef
|
317 |
0: abc
|
318 |
abcdef\B
|
319 |
0: def
|
320 |
|
321 |
/.*((abc)$|(def))/
|
322 |
Capturing subpattern count = 3
|
323 |
No options
|
324 |
First char at start or follows \n
|
325 |
No need char
|
326 |
defabc
|
327 |
0: defabc
|
328 |
1: abc
|
329 |
2: abc
|
330 |
\Zdefabc
|
331 |
0: def
|
332 |
1: def
|
333 |
2: <unset>
|
334 |
3: def
|
335 |
|
336 |
/abc/P
|
337 |
abc
|
338 |
0: abc
|
339 |
*** Failers
|
340 |
No match: POSIX code 17: match failed
|
341 |
|
342 |
/^abc|def/P
|
343 |
abcdef
|
344 |
0: abc
|
345 |
abcdef\B
|
346 |
0: def
|
347 |
|
348 |
/.*((abc)$|(def))/P
|
349 |
defabc
|
350 |
0: defabc
|
351 |
1: abc
|
352 |
2: abc
|
353 |
\Zdefabc
|
354 |
0: def
|
355 |
1: def
|
356 |
3: def
|
357 |
|
358 |
/the quick brown fox/P
|
359 |
the quick brown fox
|
360 |
0: the quick brown fox
|
361 |
*** Failers
|
362 |
No match: POSIX code 17: match failed
|
363 |
The Quick Brown Fox
|
364 |
No match: POSIX code 17: match failed
|
365 |
|
366 |
/the quick brown fox/Pi
|
367 |
the quick brown fox
|
368 |
0: the quick brown fox
|
369 |
The Quick Brown Fox
|
370 |
0: The Quick Brown Fox
|
371 |
|
372 |
/abc.def/P
|
373 |
*** Failers
|
374 |
No match: POSIX code 17: match failed
|
375 |
abc\ndef
|
376 |
No match: POSIX code 17: match failed
|
377 |
|
378 |
/abc$/P
|
379 |
abc
|
380 |
0: abc
|
381 |
abc\n
|
382 |
0: abc
|
383 |
|
384 |
/(abc)\2/P
|
385 |
Failed: POSIX code 15: bad back reference at offset 7
|
386 |
|
387 |
/(abc\1)/P
|
388 |
abc
|
389 |
No match: POSIX code 17: match failed
|
390 |
|
391 |
/)/
|
392 |
Failed: unmatched parentheses at offset 0
|
393 |
|
394 |
/a[]b/
|
395 |
Failed: missing terminating ] for character class at offset 4
|
396 |
|
397 |
/[^aeiou ]{3,}/
|
398 |
Capturing subpattern count = 0
|
399 |
No options
|
400 |
No first char
|
401 |
No need char
|
402 |
co-processors, and for
|
403 |
0: -pr
|
404 |
|
405 |
/<.*>/
|
406 |
Capturing subpattern count = 0
|
407 |
No options
|
408 |
First char = '<'
|
409 |
Need char = '>'
|
410 |
abc<def>ghi<klm>nop
|
411 |
0: <def>ghi<klm>
|
412 |
|
413 |
/<.*?>/
|
414 |
Capturing subpattern count = 0
|
415 |
No options
|
416 |
First char = '<'
|
417 |
Need char = '>'
|
418 |
abc<def>ghi<klm>nop
|
419 |
0: <def>
|
420 |
|
421 |
/<.*>/U
|
422 |
Capturing subpattern count = 0
|
423 |
Options: ungreedy
|
424 |
First char = '<'
|
425 |
Need char = '>'
|
426 |
abc<def>ghi<klm>nop
|
427 |
0: <def>
|
428 |
|
429 |
/<.*>(?U)/
|
430 |
Capturing subpattern count = 0
|
431 |
Options: ungreedy
|
432 |
First char = '<'
|
433 |
Need char = '>'
|
434 |
abc<def>ghi<klm>nop
|
435 |
0: <def>
|
436 |
|
437 |
/<.*?>/U
|
438 |
Capturing subpattern count = 0
|
439 |
Options: ungreedy
|
440 |
First char = '<'
|
441 |
Need char = '>'
|
442 |
abc<def>ghi<klm>nop
|
443 |
0: <def>ghi<klm>
|
444 |
|
445 |
/={3,}/U
|
446 |
Capturing subpattern count = 0
|
447 |
Options: ungreedy
|
448 |
First char = '='
|
449 |
Need char = '='
|
450 |
abc========def
|
451 |
0: ===
|
452 |
|
453 |
/(?U)={3,}?/
|
454 |
Capturing subpattern count = 0
|
455 |
Options: ungreedy
|
456 |
First char = '='
|
457 |
Need char = '='
|
458 |
abc========def
|
459 |
0: ========
|
460 |
|
461 |
/(?<!bar|cattle)foo/
|
462 |
Capturing subpattern count = 0
|
463 |
No options
|
464 |
First char = 'f'
|
465 |
Need char = 'o'
|
466 |
foo
|
467 |
0: foo
|
468 |
catfoo
|
469 |
0: foo
|
470 |
*** Failers
|
471 |
No match
|
472 |
the barfoo
|
473 |
No match
|
474 |
and cattlefoo
|
475 |
No match
|
476 |
|
477 |
/(?<=a+)b/
|
478 |
Failed: lookbehind assertion is not fixed length at offset 6
|
479 |
|
480 |
/(?<=aaa|b{0,3})b/
|
481 |
Failed: lookbehind assertion is not fixed length at offset 14
|
482 |
|
483 |
/(?<!(foo)a\1)bar/
|
484 |
Failed: lookbehind assertion is not fixed length at offset 12
|
485 |
|
486 |
/(?i)abc/
|
487 |
Capturing subpattern count = 0
|
488 |
Options: caseless
|
489 |
First char = 'a'
|
490 |
Need char = 'c'
|
491 |
|
492 |
/(a|(?m)a)/
|
493 |
Capturing subpattern count = 1
|
494 |
No options
|
495 |
First char = 'a'
|
496 |
No need char
|
497 |
|
498 |
/(?i)^1234/
|
499 |
Capturing subpattern count = 0
|
500 |
Options: anchored caseless
|
501 |
No first char
|
502 |
Need char = '4'
|
503 |
|
504 |
/(^b|(?i)^d)/
|
505 |
Capturing subpattern count = 1
|
506 |
Options: anchored
|
507 |
Case state changes
|
508 |
No first char
|
509 |
No need char
|
510 |
|
511 |
/(?s).*/
|
512 |
Capturing subpattern count = 0
|
513 |
Options: anchored dotall
|
514 |
No first char
|
515 |
No need char
|
516 |
|
517 |
/[abcd]/S
|
518 |
Capturing subpattern count = 0
|
519 |
No options
|
520 |
No first char
|
521 |
No need char
|
522 |
Starting character set: a b c d
|
523 |
|
524 |
/(?i)[abcd]/S
|
525 |
Capturing subpattern count = 0
|
526 |
Options: caseless
|
527 |
No first char
|
528 |
No need char
|
529 |
Starting character set: A B C D a b c d
|
530 |
|
531 |
/(?m)[xy]|(b|c)/S
|
532 |
Capturing subpattern count = 1
|
533 |
Options: multiline
|
534 |
No first char
|
535 |
No need char
|
536 |
Starting character set: b c x y
|
537 |
|
538 |
/(^a|^b)/m
|
539 |
Capturing subpattern count = 1
|
540 |
Options: multiline
|
541 |
First char at start or follows \n
|
542 |
No need char
|
543 |
|
544 |
/(?i)(^a|^b)/m
|
545 |
Capturing subpattern count = 1
|
546 |
Options: caseless multiline
|
547 |
First char at start or follows \n
|
548 |
No need char
|
549 |
|
550 |
/(a)(?(1)a|b|c)/
|
551 |
Failed: conditional group contains more than two branches at offset 13
|
552 |
|
553 |
/(?(?=a)a|b|c)/
|
554 |
Failed: conditional group contains more than two branches at offset 12
|
555 |
|
556 |
/(?(1a)/
|
557 |
Failed: malformed number after (?( at offset 4
|
558 |
|
559 |
/(?(?i))/
|
560 |
Failed: assertion expected after (?( at offset 3
|
561 |
|
562 |
/(?(abc))/
|
563 |
Failed: assertion expected after (?( at offset 3
|
564 |
|
565 |
/(?(?<ab))/
|
566 |
Failed: unrecognized character after (?< at offset 2
|
567 |
|
568 |
/((?s)blah)\s+\1/
|
569 |
Capturing subpattern count = 1
|
570 |
Max back reference = 1
|
571 |
No options
|
572 |
First char = 'b'
|
573 |
Need char = 'h'
|
574 |
|
575 |
/((?i)blah)\s+\1/
|
576 |
Capturing subpattern count = 1
|
577 |
Max back reference = 1
|
578 |
No options
|
579 |
Case state changes
|
580 |
No first char
|
581 |
Need char = 'h'
|
582 |
|
583 |
/((?i)b)/DS
|
584 |
------------------------------------------------------------------
|
585 |
0 16 Bra 0
|
586 |
3 8 Bra 1
|
587 |
6 01 Opt
|
588 |
8 1 b
|
589 |
11 8 Ket
|
590 |
14 00 Opt
|
591 |
16 16 Ket
|
592 |
19 End
|
593 |
------------------------------------------------------------------
|
594 |
Capturing subpattern count = 1
|
595 |
No options
|
596 |
Case state changes
|
597 |
No first char
|
598 |
Need char = 'b'
|
599 |
Starting character set: B b
|
600 |
|
601 |
/(a*b|(?i:c*(?-i)d))/S
|
602 |
Capturing subpattern count = 1
|
603 |
No options
|
604 |
Case state changes
|
605 |
No first char
|
606 |
No need char
|
607 |
Starting character set: C a b c d
|
608 |
|
609 |
/a$/
|
610 |
Capturing subpattern count = 0
|
611 |
No options
|
612 |
First char = 'a'
|
613 |
No need char
|
614 |
a
|
615 |
0: a
|
616 |
a\n
|
617 |
0: a
|
618 |
*** Failers
|
619 |
No match
|
620 |
\Za
|
621 |
No match
|
622 |
\Za\n
|
623 |
No match
|
624 |
|
625 |
/a$/m
|
626 |
Capturing subpattern count = 0
|
627 |
Options: multiline
|
628 |
First char = 'a'
|
629 |
No need char
|
630 |
a
|
631 |
0: a
|
632 |
a\n
|
633 |
0: a
|
634 |
\Za\n
|
635 |
0: a
|
636 |
*** Failers
|
637 |
No match
|
638 |
\Za
|
639 |
No match
|
640 |
|
641 |
/\Aabc/m
|
642 |
Capturing subpattern count = 0
|
643 |
Options: anchored multiline
|
644 |
No first char
|
645 |
Need char = 'c'
|
646 |
|
647 |
/^abc/m
|
648 |
Capturing subpattern count = 0
|
649 |
Options: multiline
|
650 |
First char at start or follows \n
|
651 |
Need char = 'c'
|
652 |
|
653 |
/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
|
654 |
Capturing subpattern count = 5
|
655 |
Options: anchored
|
656 |
No first char
|
657 |
Need char = 'a'
|
658 |
aaaaabbbbbcccccdef
|
659 |
0: aaaaabbbbbcccccdef
|
660 |
1: aaaaabbbbbcccccdef
|
661 |
2: aaaaa
|
662 |
3: b
|
663 |
4: bbbbccccc
|
664 |
5: def
|
665 |
|
666 |
/(?<=foo)[ab]/S
|
667 |
Capturing subpattern count = 0
|
668 |
No options
|
669 |
No first char
|
670 |
No need char
|
671 |
Starting character set: a b
|
672 |
|
673 |
/(?<!foo)(alpha|omega)/S
|
674 |
Capturing subpattern count = 1
|
675 |
No options
|
676 |
No first char
|
677 |
Need char = 'a'
|
678 |
Starting character set: a o
|
679 |
|
680 |
/(?!alphabet)[ab]/S
|
681 |
Capturing subpattern count = 0
|
682 |
No options
|
683 |
No first char
|
684 |
No need char
|
685 |
Starting character set: a b
|
686 |
|
687 |
/(?<=foo\n)^bar/m
|
688 |
Capturing subpattern count = 0
|
689 |
Options: multiline
|
690 |
First char at start or follows \n
|
691 |
Need char = 'r'
|
692 |
|
693 |
/(?>^abc)/m
|
694 |
Capturing subpattern count = 0
|
695 |
Options: multiline
|
696 |
First char at start or follows \n
|
697 |
Need char = 'c'
|
698 |
abc
|
699 |
0: abc
|
700 |
def\nabc
|
701 |
0: abc
|
702 |
*** Failers
|
703 |
No match
|
704 |
defabc
|
705 |
No match
|
706 |
|
707 |
/(?<=ab(c+)d)ef/
|
708 |
Failed: lookbehind assertion is not fixed length at offset 11
|
709 |
|
710 |
/(?<=ab(?<=c+)d)ef/
|
711 |
Failed: lookbehind assertion is not fixed length at offset 12
|
712 |
|
713 |
/(?<=ab(c|de)f)g/
|
714 |
Failed: lookbehind assertion is not fixed length at offset 13
|
715 |
|
716 |
/The next three are in testinput2 because they have variable length branches/
|
717 |
Capturing subpattern count = 0
|
718 |
No options
|
719 |
First char = 'T'
|
720 |
Need char = 's'
|
721 |
|
722 |
/(?<=bullock|donkey)-cart/
|
723 |
Capturing subpattern count = 0
|
724 |
No options
|
725 |
First char = '-'
|
726 |
Need char = 't'
|
727 |
the bullock-cart
|
728 |
0: -cart
|
729 |
a donkey-cart race
|
730 |
0: -cart
|
731 |
*** Failers
|
732 |
No match
|
733 |
cart
|
734 |
No match
|
735 |
horse-and-cart
|
736 |
No match
|
737 |
|
738 |
/(?<=ab(?i)x|y|z)/
|
739 |
Capturing subpattern count = 0
|
740 |
No options
|
741 |
Case state changes
|
742 |
No first char
|
743 |
No need char
|
744 |
|
745 |
/(?>.*)(?<=(abcd)|(xyz))/
|
746 |
Capturing subpattern count = 2
|
747 |
No options
|
748 |
First char at start or follows \n
|
749 |
No need char
|
750 |
alphabetabcd
|
751 |
0: alphabetabcd
|
752 |
1: abcd
|
753 |
endingxyz
|
754 |
0: endingxyz
|
755 |
1: <unset>
|
756 |
2: xyz
|
757 |
|
758 |
/(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
|
759 |
Capturing subpattern count = 0
|
760 |
No options
|
761 |
Case state changes
|
762 |
First char = 'Z'
|
763 |
Need char = 'Z'
|
764 |
abxyZZ
|
765 |
0: ZZ
|
766 |
abXyZZ
|
767 |
0: ZZ
|
768 |
ZZZ
|
769 |
0: ZZ
|
770 |
zZZ
|
771 |
0: ZZ
|
772 |
bZZ
|
773 |
0: ZZ
|
774 |
BZZ
|
775 |
0: ZZ
|
776 |
*** Failers
|
777 |
No match
|
778 |
ZZ
|
779 |
No match
|
780 |
abXYZZ
|
781 |
No match
|
782 |
zzz
|
783 |
No match
|
784 |
bzz
|
785 |
No match
|
786 |
|
787 |
/(?<!(foo)a)bar/
|
788 |
Capturing subpattern count = 1
|
789 |
No options
|
790 |
First char = 'b'
|
791 |
Need char = 'r'
|
792 |
bar
|
793 |
0: bar
|
794 |
foobbar
|
795 |
0: bar
|
796 |
*** Failers
|
797 |
No match
|
798 |
fooabar
|
799 |
No match
|
800 |
|
801 |
/This one is here because Perl 5.005_02 doesn't fail it/
|
802 |
Capturing subpattern count = 0
|
803 |
No options
|
804 |
First char = 'T'
|
805 |
Need char = 't'
|
806 |
|
807 |
/^(a)?(?(1)a|b)+$/
|
808 |
Capturing subpattern count = 1
|
809 |
Options: anchored
|
810 |
No first char
|
811 |
No need char
|
812 |
*** Failers
|
813 |
No match
|
814 |
a
|
815 |
No match
|
816 |
|
817 |
/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
|
818 |
Capturing subpattern count = 0
|
819 |
No options
|
820 |
First char = 'T'
|
821 |
Need char = 'g'
|
822 |
|
823 |
/^(a\1?){4}$/
|
824 |
Capturing subpattern count = 1
|
825 |
Max back reference = 1
|
826 |
Options: anchored
|
827 |
No first char
|
828 |
Need char = 'a'
|
829 |
aaaaaa
|
830 |
0: aaaaaa
|
831 |
1: aa
|
832 |
|
833 |
/These are syntax tests from Perl 5.005/
|
834 |
Capturing subpattern count = 0
|
835 |
No options
|
836 |
First char = 'T'
|
837 |
Need char = '5'
|
838 |
|
839 |
/a[b-a]/
|
840 |
Failed: range out of order in character class at offset 4
|
841 |
|
842 |
/a[]b/
|
843 |
Failed: missing terminating ] for character class at offset 4
|
844 |
|
845 |
/a[/
|
846 |
Failed: missing terminating ] for character class at offset 2
|
847 |
|
848 |
/*a/
|
849 |
Failed: nothing to repeat at offset 0
|
850 |
|
851 |
/(*)b/
|
852 |
Failed: nothing to repeat at offset 1
|
853 |
|
854 |
/abc)/
|
855 |
Failed: unmatched parentheses at offset 3
|
856 |
|
857 |
/(abc/
|
858 |
Failed: missing ) at offset 4
|
859 |
|
860 |
/a**/
|
861 |
Failed: nothing to repeat at offset 2
|
862 |
|
863 |
/)(/
|
864 |
Failed: unmatched parentheses at offset 0
|
865 |
|
866 |
/\1/
|
867 |
Failed: back reference to non-existent subpattern at offset 2
|
868 |
|
869 |
/\2/
|
870 |
Failed: back reference to non-existent subpattern at offset 2
|
871 |
|
872 |
/(a)|\2/
|
873 |
Failed: back reference to non-existent subpattern at offset 6
|
874 |
|
875 |
/a[b-a]/i
|
876 |
Failed: range out of order in character class at offset 4
|
877 |
|
878 |
/a[]b/i
|
879 |
Failed: missing terminating ] for character class at offset 4
|
880 |
|
881 |
/a[/i
|
882 |
Failed: missing terminating ] for character class at offset 2
|
883 |
|
884 |
/*a/i
|
885 |
Failed: nothing to repeat at offset 0
|
886 |
|
887 |
/(*)b/i
|
888 |
Failed: nothing to repeat at offset 1
|
889 |
|
890 |
/abc)/i
|
891 |
Failed: unmatched parentheses at offset 3
|
892 |
|
893 |
/(abc/i
|
894 |
Failed: missing ) at offset 4
|
895 |
|
896 |
/a**/i
|
897 |
Failed: nothing to repeat at offset 2
|
898 |
|
899 |
/)(/i
|
900 |
Failed: unmatched parentheses at offset 0
|
901 |
|
902 |
/:(?:/
|
903 |
Failed: missing ) at offset 4
|
904 |
|
905 |
/(?<%)b/
|
906 |
Failed: unrecognized character after (?< at offset 0
|
907 |
|
908 |
/a(?{)b/
|
909 |
Failed: unrecognized character after (? at offset 3
|
910 |
|
911 |
/a(?{{})b/
|
912 |
Failed: unrecognized character after (? at offset 3
|
913 |
|
914 |
/a(?{}})b/
|
915 |
Failed: unrecognized character after (? at offset 3
|
916 |
|
917 |
/a(?{"{"})b/
|
918 |
Failed: unrecognized character after (? at offset 3
|
919 |
|
920 |
/a(?{"{"}})b/
|
921 |
Failed: unrecognized character after (? at offset 3
|
922 |
|
923 |
/(?(1?)a|b)/
|
924 |
Failed: malformed number after (?( at offset 4
|
925 |
|
926 |
/(?(1)a|b|c)/
|
927 |
Failed: conditional group contains more than two branches at offset 10
|
928 |
|
929 |
/[a[:xyz:/
|
930 |
Failed: missing terminating ] for character class at offset 8
|
931 |
|
932 |
/(?<=x+)y/
|
933 |
Failed: lookbehind assertion is not fixed length at offset 6
|
934 |
|
935 |
/a{37,17}/
|
936 |
Failed: numbers out of order in {} quantifier at offset 7
|
937 |
|
938 |
/abc/\
|
939 |
Failed: \ at end of pattern at offset 4
|
940 |
|
941 |
/abc/\P
|
942 |
Failed: POSIX code 9: bad escape sequence at offset 4
|
943 |
|
944 |
/abc/\i
|
945 |
Failed: \ at end of pattern at offset 4
|
946 |
|
947 |
/(a)bc(d)/
|
948 |
Capturing subpattern count = 2
|
949 |
No options
|
950 |
First char = 'a'
|
951 |
Need char = 'd'
|
952 |
abcd
|
953 |
0: abcd
|
954 |
1: a
|
955 |
2: d
|
956 |
abcd\C2
|
957 |
0: abcd
|
958 |
1: a
|
959 |
2: d
|
960 |
2C d (1)
|
961 |
abcd\C5
|
962 |
0: abcd
|
963 |
1: a
|
964 |
2: d
|
965 |
copy substring 5 failed -7
|
966 |
|
967 |
/(.{20})/
|
968 |
Capturing subpattern count = 1
|
969 |
No options
|
970 |
No first char
|
971 |
No need char
|
972 |
abcdefghijklmnopqrstuvwxyz
|
973 |
0: abcdefghijklmnopqrst
|
974 |
1: abcdefghijklmnopqrst
|
975 |
abcdefghijklmnopqrstuvwxyz\C1
|
976 |
0: abcdefghijklmnopqrst
|
977 |
1: abcdefghijklmnopqrst
|
978 |
copy substring 1 failed -6
|
979 |
abcdefghijklmnopqrstuvwxyz\G1
|
980 |
0: abcdefghijklmnopqrst
|
981 |
1: abcdefghijklmnopqrst
|
982 |
1G abcdefghijklmnopqrst (20)
|
983 |
|
984 |
/(.{15})/
|
985 |
Capturing subpattern count = 1
|
986 |
No options
|
987 |
No first char
|
988 |
No need char
|
989 |
abcdefghijklmnopqrstuvwxyz
|
990 |
0: abcdefghijklmno
|
991 |
1: abcdefghijklmno
|
992 |
abcdefghijklmnopqrstuvwxyz\C1\G1
|
993 |
0: abcdefghijklmno
|
994 |
1: abcdefghijklmno
|
995 |
1C abcdefghijklmno (15)
|
996 |
1G abcdefghijklmno (15)
|
997 |
|
998 |
/(.{16})/
|
999 |
Capturing subpattern count = 1
|
1000 |
No options
|
1001 |
No first char
|
1002 |
No need char
|
1003 |
abcdefghijklmnopqrstuvwxyz
|
1004 |
0: abcdefghijklmnop
|
1005 |
1: abcdefghijklmnop
|
1006 |
abcdefghijklmnopqrstuvwxyz\C1\G1\L
|
1007 |
0: abcdefghijklmnop
|
1008 |
1: abcdefghijklmnop
|
1009 |
copy substring 1 failed -6
|
1010 |
1G abcdefghijklmnop (16)
|
1011 |
0L abcdefghijklmnop
|
1012 |
1L abcdefghijklmnop
|
1013 |
|
1014 |
/^(a|(bc))de(f)/
|
1015 |
Capturing subpattern count = 3
|
1016 |
Options: anchored
|
1017 |
No first char
|
1018 |
Need char = 'f'
|
1019 |
adef\G1\G2\G3\G4\L
|
1020 |
0: adef
|
1021 |
1: a
|
1022 |
2: <unset>
|
1023 |
3: f
|
1024 |
1G a (1)
|
1025 |
2G (0)
|
1026 |
3G f (1)
|
1027 |
get substring 4 failed -7
|
1028 |
0L adef
|
1029 |
1L a
|
1030 |
2L
|
1031 |
3L f
|
1032 |
bcdef\G1\G2\G3\G4\L
|
1033 |
0: bcdef
|
1034 |
1: bc
|
1035 |
2: bc
|
1036 |
3: f
|
1037 |
1G bc (2)
|
1038 |
2G bc (2)
|
1039 |
3G f (1)
|
1040 |
get substring 4 failed -7
|
1041 |
0L bcdef
|
1042 |
1L bc
|
1043 |
2L bc
|
1044 |
3L f
|
1045 |
adefghijk\C0
|
1046 |
0: adef
|
1047 |
1: a
|
1048 |
2: <unset>
|
1049 |
3: f
|
1050 |
0C adef (4)
|
1051 |
|
1052 |
/^abc\00def/
|
1053 |
Capturing subpattern count = 0
|
1054 |
Options: anchored
|
1055 |
No first char
|
1056 |
Need char = 'f'
|
1057 |
abc\00def\L\C0
|
1058 |
0: abc\x00def
|
1059 |
0C abc (7)
|
1060 |
0L abc
|
1061 |
|
1062 |
/word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
|
1063 |
)((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
|
1064 |
)?)?)?)?)?)?)?)?)?otherword/M
|
1065 |
Memory allocation (code space): 428
|
1066 |
Capturing subpattern count = 8
|
1067 |
No options
|
1068 |
First char = 'w'
|
1069 |
Need char = 'd'
|
1070 |
|
1071 |
/.*X/D
|
1072 |
------------------------------------------------------------------
|
1073 |
0 8 Bra 0
|
1074 |
3 Any*
|
1075 |
5 1 X
|
1076 |
8 8 Ket
|
1077 |
11 End
|
1078 |
------------------------------------------------------------------
|
1079 |
Capturing subpattern count = 0
|
1080 |
No options
|
1081 |
First char at start or follows \n
|
1082 |
Need char = 'X'
|
1083 |
|
1084 |
/.*X/Ds
|
1085 |
------------------------------------------------------------------
|
1086 |
0 8 Bra 0
|
1087 |
3 Any*
|
1088 |
5 1 X
|
1089 |
8 8 Ket
|
1090 |
11 End
|
1091 |
------------------------------------------------------------------
|
1092 |
Capturing subpattern count = 0
|
1093 |
Options: anchored dotall
|
1094 |
No first char
|
1095 |
Need char = 'X'
|
1096 |
|
1097 |
/(.*X|^B)/D
|
1098 |
------------------------------------------------------------------
|
1099 |
0 21 Bra 0
|
1100 |
3 8 Bra 1
|
1101 |
6 Any*
|
1102 |
8 1 X
|
1103 |
11 7 Alt
|
1104 |
14 ^
|
1105 |
15 1 B
|
1106 |
18 15 Ket
|
1107 |
21 21 Ket
|
1108 |
24 End
|
1109 |
------------------------------------------------------------------
|
1110 |
Capturing subpattern count = 1
|
1111 |
No options
|
1112 |
First char at start or follows \n
|
1113 |
No need char
|
1114 |
|
1115 |
/(.*X|^B)/Ds
|
1116 |
------------------------------------------------------------------
|
1117 |
0 21 Bra 0
|
1118 |
3 8 Bra 1
|
1119 |
6 Any*
|
1120 |
8 1 X
|
1121 |
11 7 Alt
|
1122 |
14 ^
|
1123 |
15 1 B
|
1124 |
18 15 Ket
|
1125 |
21 21 Ket
|
1126 |
24 End
|
1127 |
------------------------------------------------------------------
|
1128 |
Capturing subpattern count = 1
|
1129 |
Options: anchored dotall
|
1130 |
No first char
|
1131 |
No need char
|
1132 |
|
1133 |
/(?s)(.*X|^B)/D
|
1134 |
------------------------------------------------------------------
|
1135 |
0 21 Bra 0
|
1136 |
3 8 Bra 1
|
1137 |
6 Any*
|
1138 |
8 1 X
|
1139 |
11 7 Alt
|
1140 |
14 ^
|
1141 |
15 1 B
|
1142 |
18 15 Ket
|
1143 |
21 21 Ket
|
1144 |
24 End
|
1145 |
------------------------------------------------------------------
|
1146 |
Capturing subpattern count = 1
|
1147 |
Options: anchored dotall
|
1148 |
No first char
|
1149 |
No need char
|
1150 |
|
1151 |
/(?s:.*X|^B)/D
|
1152 |
------------------------------------------------------------------
|
1153 |
0 27 Bra 0
|
1154 |
3 10 Bra 0
|
1155 |
6 04 Opt
|
1156 |
8 Any*
|
1157 |
10 1 X
|
1158 |
13 9 Alt
|
1159 |
16 04 Opt
|
1160 |
18 ^
|
1161 |
19 1 B
|
1162 |
22 19 Ket
|
1163 |
25 00 Opt
|
1164 |
27 27 Ket
|
1165 |
30 End
|
1166 |
------------------------------------------------------------------
|
1167 |
Capturing subpattern count = 0
|
1168 |
No options
|
1169 |
First char at start or follows \n
|
1170 |
No need char
|
1171 |
|
1172 |
/\Biss\B/+
|
1173 |
Capturing subpattern count = 0
|
1174 |
No options
|
1175 |
First char = 'i'
|
1176 |
Need char = 's'
|
1177 |
Mississippi
|
1178 |
0: iss
|
1179 |
0+ issippi
|
1180 |
|
1181 |
/\Biss\B/+P
|
1182 |
Mississippi
|
1183 |
0: iss
|
1184 |
0+ issippi
|
1185 |
|
1186 |
/iss/G+
|
1187 |
Capturing subpattern count = 0
|
1188 |
No options
|
1189 |
First char = 'i'
|
1190 |
Need char = 's'
|
1191 |
Mississippi
|
1192 |
0: iss
|
1193 |
0+ issippi
|
1194 |
0: iss
|
1195 |
0+ ippi
|
1196 |
|
1197 |
/\Biss\B/G+
|
1198 |
Capturing subpattern count = 0
|
1199 |
No options
|
1200 |
First char = 'i'
|
1201 |
Need char = 's'
|
1202 |
Mississippi
|
1203 |
0: iss
|
1204 |
0+ issippi
|
1205 |
|
1206 |
/\Biss\B/g+
|
1207 |
Capturing subpattern count = 0
|
1208 |
No options
|
1209 |
First char = 'i'
|
1210 |
Need char = 's'
|
1211 |
Mississippi
|
1212 |
0: iss
|
1213 |
0+ issippi
|
1214 |
0: iss
|
1215 |
0+ ippi
|
1216 |
*** Failers
|
1217 |
No match
|
1218 |
Mississippi\A
|
1219 |
No match
|
1220 |
|
1221 |
/(?<=[Ms])iss/g+
|
1222 |
Capturing subpattern count = 0
|
1223 |
No options
|
1224 |
First char = 'i'
|
1225 |
Need char = 's'
|
1226 |
Mississippi
|
1227 |
0: iss
|
1228 |
0+ issippi
|
1229 |
0: iss
|
1230 |
0+ ippi
|
1231 |
|
1232 |
/(?<=[Ms])iss/G+
|
1233 |
Capturing subpattern count = 0
|
1234 |
No options
|
1235 |
First char = 'i'
|
1236 |
Need char = 's'
|
1237 |
Mississippi
|
1238 |
0: iss
|
1239 |
0+ issippi
|
1240 |
|
1241 |
/^iss/g+
|
1242 |
Capturing subpattern count = 0
|
1243 |
Options: anchored
|
1244 |
No first char
|
1245 |
Need char = 's'
|
1246 |
ississippi
|
1247 |
0: iss
|
1248 |
0+ issippi
|
1249 |
|
1250 |
/.*iss/g+
|
1251 |
Capturing subpattern count = 0
|
1252 |
No options
|
1253 |
First char at start or follows \n
|
1254 |
Need char = 's'
|
1255 |
abciss\nxyzisspqr
|
1256 |
0: abciss
|
1257 |
0+ \x0axyzisspqr
|
1258 |
0: xyziss
|
1259 |
0+ pqr
|
1260 |
|
1261 |
/.i./+g
|
1262 |
Capturing subpattern count = 0
|
1263 |
No options
|
1264 |
No first char
|
1265 |
Need char = 'i'
|
1266 |
Mississippi
|
1267 |
0: Mis
|
1268 |
0+ sissippi
|
1269 |
0: sis
|
1270 |
0+ sippi
|
1271 |
0: sip
|
1272 |
0+ pi
|
1273 |
Mississippi\A
|
1274 |
0: Mis
|
1275 |
0+ sissippi
|
1276 |
0: sis
|
1277 |
0+ sippi
|
1278 |
0: sip
|
1279 |
0+ pi
|
1280 |
Missouri river
|
1281 |
0: Mis
|
1282 |
0+ souri river
|
1283 |
0: ri
|
1284 |
0+ river
|
1285 |
0: riv
|
1286 |
0+ er
|
1287 |
Missouri river\A
|
1288 |
0: Mis
|
1289 |
0+ souri river
|
1290 |
|
1291 |
/^.is/+g
|
1292 |
Capturing subpattern count = 0
|
1293 |
Options: anchored
|
1294 |
No first char
|
1295 |
Need char = 's'
|
1296 |
Mississippi
|
1297 |
0: Mis
|
1298 |
0+ sissippi
|
1299 |
|
1300 |
/^ab\n/g+
|
1301 |
Capturing subpattern count = 0
|
1302 |
Options: anchored
|
1303 |
No first char
|
1304 |
Need char = 10
|
1305 |
ab\nab\ncd
|
1306 |
0: ab\x0a
|
1307 |
0+ ab\x0acd
|
1308 |
|
1309 |
/^ab\n/mg+
|
1310 |
Capturing subpattern count = 0
|
1311 |
Options: multiline
|
1312 |
First char at start or follows \n
|
1313 |
Need char = 10
|
1314 |
ab\nab\ncd
|
1315 |
0: ab\x0a
|
1316 |
0+ ab\x0acd
|
1317 |
0: ab\x0a
|
1318 |
0+ cd
|
1319 |
|
1320 |
/abc/
|
1321 |
Capturing subpattern count = 0
|
1322 |
No options
|
1323 |
First char = 'a'
|
1324 |
Need char = 'c'
|
1325 |
|
1326 |
/abc|bac/
|
1327 |
Capturing subpattern count = 0
|
1328 |
No options
|
1329 |
No first char
|
1330 |
Need char = 'c'
|
1331 |
|
1332 |
/(abc|bac)/
|
1333 |
Capturing subpattern count = 1
|
1334 |
No options
|
1335 |
No first char
|
1336 |
Need char = 'c'
|
1337 |
|
1338 |
/(abc|(c|dc))/
|
1339 |
Capturing subpattern count = 2
|
1340 |
No options
|
1341 |
No first char
|
1342 |
Need char = 'c'
|
1343 |
|
1344 |
/(abc|(d|de)c)/
|
1345 |
Capturing subpattern count = 2
|
1346 |
No options
|
1347 |
No first char
|
1348 |
Need char = 'c'
|
1349 |
|
1350 |
/a*/
|
1351 |
Capturing subpattern count = 0
|
1352 |
No options
|
1353 |
No first char
|
1354 |
No need char
|
1355 |
|
1356 |
/a+/
|
1357 |
Capturing subpattern count = 0
|
1358 |
No options
|
1359 |
First char = 'a'
|
1360 |
No need char
|
1361 |
|
1362 |
/(baa|a+)/
|
1363 |
Capturing subpattern count = 1
|
1364 |
No options
|
1365 |
No first char
|
1366 |
Need char = 'a'
|
1367 |
|
1368 |
/a{0,3}/
|
1369 |
Capturing subpattern count = 0
|
1370 |
No options
|
1371 |
No first char
|
1372 |
No need char
|
1373 |
|
1374 |
/baa{3,}/
|
1375 |
Capturing subpattern count = 0
|
1376 |
No options
|
1377 |
First char = 'b'
|
1378 |
Need char = 'a'
|
1379 |
|
1380 |
/"([^\\"]+|\\.)*"/
|
1381 |
Capturing subpattern count = 1
|
1382 |
No options
|
1383 |
First char = '"'
|
1384 |
Need char = '"'
|
1385 |
|
1386 |
/(abc|ab[cd])/
|
1387 |
Capturing subpattern count = 1
|
1388 |
No options
|
1389 |
First char = 'a'
|
1390 |
No need char
|
1391 |
|
1392 |
/(a|.)/
|
1393 |
Capturing subpattern count = 1
|
1394 |
No options
|
1395 |
No first char
|
1396 |
No need char
|
1397 |
|
1398 |
/a|ba|\w/
|
1399 |
Capturing subpattern count = 0
|
1400 |
No options
|
1401 |
No first char
|
1402 |
No need char
|
1403 |
|
1404 |
/abc(?=pqr)/
|
1405 |
Capturing subpattern count = 0
|
1406 |
No options
|
1407 |
First char = 'a'
|
1408 |
Need char = 'r'
|
1409 |
|
1410 |
/...(?<=abc)/
|
1411 |
Capturing subpattern count = 0
|
1412 |
No options
|
1413 |
No first char
|
1414 |
No need char
|
1415 |
|
1416 |
/abc(?!pqr)/
|
1417 |
Capturing subpattern count = 0
|
1418 |
No options
|
1419 |
First char = 'a'
|
1420 |
Need char = 'c'
|
1421 |
|
1422 |
/ab./
|
1423 |
Capturing subpattern count = 0
|
1424 |
No options
|
1425 |
First char = 'a'
|
1426 |
Need char = 'b'
|
1427 |
|
1428 |
/ab[xyz]/
|
1429 |
Capturing subpattern count = 0
|
1430 |
No options
|
1431 |
First char = 'a'
|
1432 |
Need char = 'b'
|
1433 |
|
1434 |
/abc*/
|
1435 |
Capturing subpattern count = 0
|
1436 |
No options
|
1437 |
First char = 'a'
|
1438 |
Need char = 'b'
|
1439 |
|
1440 |
/ab.c*/
|
1441 |
Capturing subpattern count = 0
|
1442 |
No options
|
1443 |
First char = 'a'
|
1444 |
Need char = 'b'
|
1445 |
|
1446 |
/a.c*/
|
1447 |
Capturing subpattern count = 0
|
1448 |
No options
|
1449 |
First char = 'a'
|
1450 |
No need char
|
1451 |
|
1452 |
/.c*/
|
1453 |
Capturing subpattern count = 0
|
1454 |
No options
|
1455 |
No first char
|
1456 |
No need char
|
1457 |
|
1458 |
/ac*/
|
1459 |
Capturing subpattern count = 0
|
1460 |
No options
|
1461 |
First char = 'a'
|
1462 |
No need char
|
1463 |
|
1464 |
/(a.c*|b.c*)/
|
1465 |
Capturing subpattern count = 1
|
1466 |
No options
|
1467 |
No first char
|
1468 |
No need char
|
1469 |
|
1470 |
/a.c*|aba/
|
1471 |
Capturing subpattern count = 0
|
1472 |
No options
|
1473 |
First char = 'a'
|
1474 |
No need char
|
1475 |
|
1476 |
/.+a/
|
1477 |
Capturing subpattern count = 0
|
1478 |
No options
|
1479 |
No first char
|
1480 |
Need char = 'a'
|
1481 |
|
1482 |
/(?=abcda)a.*/
|
1483 |
Capturing subpattern count = 0
|
1484 |
No options
|
1485 |
First char = 'a'
|
1486 |
No need char
|
1487 |
|
1488 |
/(?=a)a.*/
|
1489 |
Capturing subpattern count = 0
|
1490 |
No options
|
1491 |
First char = 'a'
|
1492 |
No need char
|
1493 |
|
1494 |
/a(b)*/
|
1495 |
Capturing subpattern count = 1
|
1496 |
No options
|
1497 |
First char = 'a'
|
1498 |
No need char
|
1499 |
|
1500 |
/a\d*/
|
1501 |
Capturing subpattern count = 0
|
1502 |
No options
|
1503 |
First char = 'a'
|
1504 |
No need char
|
1505 |
|
1506 |
/ab\d*/
|
1507 |
Capturing subpattern count = 0
|
1508 |
No options
|
1509 |
First char = 'a'
|
1510 |
Need char = 'b'
|
1511 |
|
1512 |
/a(\d)*/
|
1513 |
Capturing subpattern count = 1
|
1514 |
No options
|
1515 |
First char = 'a'
|
1516 |
No need char
|
1517 |
|
1518 |
/abcde{0,0}/
|
1519 |
Capturing subpattern count = 0
|
1520 |
No options
|
1521 |
First char = 'a'
|
1522 |
Need char = 'd'
|
1523 |
|
1524 |
/ab\d+/
|
1525 |
Capturing subpattern count = 0
|
1526 |
No options
|
1527 |
First char = 'a'
|
1528 |
Need char = 'b'
|
1529 |
|
1530 |
/a(?(1)b)/
|
1531 |
Capturing subpattern count = 0
|
1532 |
No options
|
1533 |
First char = 'a'
|
1534 |
No need char
|
1535 |
|
1536 |
/a(?(1)bag|big)/
|
1537 |
Capturing subpattern count = 0
|
1538 |
No options
|
1539 |
First char = 'a'
|
1540 |
Need char = 'g'
|
1541 |
|
1542 |
/a(?(1)bag|big)*/
|
1543 |
Capturing subpattern count = 0
|
1544 |
No options
|
1545 |
First char = 'a'
|
1546 |
No need char
|
1547 |
|
1548 |
/a(?(1)bag|big)+/
|
1549 |
Capturing subpattern count = 0
|
1550 |
No options
|
1551 |
First char = 'a'
|
1552 |
Need char = 'g'
|
1553 |
|
1554 |
/a(?(1)b..|b..)/
|
1555 |
Capturing subpattern count = 0
|
1556 |
No options
|
1557 |
First char = 'a'
|
1558 |
Need char = 'b'
|
1559 |
|
1560 |
/ab\d{0}e/
|
1561 |
Capturing subpattern count = 0
|
1562 |
No options
|
1563 |
First char = 'a'
|
1564 |
Need char = 'e'
|
1565 |
|
1566 |
/a?b?/
|
1567 |
Capturing subpattern count = 0
|
1568 |
No options
|
1569 |
No first char
|
1570 |
No need char
|
1571 |
a
|
1572 |
0: a
|
1573 |
b
|
1574 |
0: b
|
1575 |
ab
|
1576 |
0: ab
|
1577 |
\
|
1578 |
0:
|
1579 |
*** Failers
|
1580 |
0:
|
1581 |
\N
|
1582 |
No match
|
1583 |
|
1584 |
/|-/
|
1585 |
Capturing subpattern count = 0
|
1586 |
No options
|
1587 |
No first char
|
1588 |
No need char
|
1589 |
abcd
|
1590 |
0:
|
1591 |
-abc
|
1592 |
0:
|
1593 |
\Nab-c
|
1594 |
0: -
|
1595 |
*** Failers
|
1596 |
0:
|
1597 |
\Nabc
|
1598 |
No match
|
1599 |
|
1600 |
/a*(b+)(z)(z)/P
|
1601 |
aaaabbbbzzzz
|
1602 |
0: aaaabbbbzz
|
1603 |
1: bbbb
|
1604 |
2: z
|
1605 |
3: z
|
1606 |
aaaabbbbzzzz\O0
|
1607 |
aaaabbbbzzzz\O1
|
1608 |
0: aaaabbbbzz
|
1609 |
aaaabbbbzzzz\O2
|
1610 |
0: aaaabbbbzz
|
1611 |
1: bbbb
|
1612 |
aaaabbbbzzzz\O3
|
1613 |
0: aaaabbbbzz
|
1614 |
1: bbbb
|
1615 |
2: z
|
1616 |
aaaabbbbzzzz\O4
|
1617 |
0: aaaabbbbzz
|
1618 |
1: bbbb
|
1619 |
2: z
|
1620 |
3: z
|
1621 |
aaaabbbbzzzz\O5
|
1622 |
0: aaaabbbbzz
|
1623 |
1: bbbb
|
1624 |
2: z
|
1625 |
3: z
|
1626 |
|
1627 |
/^.?abcd/S
|
1628 |
Capturing subpattern count = 0
|
1629 |
Options: anchored
|
1630 |
No first char
|
1631 |
Need char = 'd'
|
1632 |
Study returned NULL
|
1633 |
|
1634 |
/\( # ( at start
|
1635 |
(?: # Non-capturing bracket
|
1636 |
(?>[^()]+) # Either a sequence of non-brackets (no backtracking)
|
1637 |
| # Or
|
1638 |
(?R) # Recurse - i.e. nested bracketed string
|
1639 |
)* # Zero or more contents
|
1640 |
\) # Closing )
|
1641 |
/x
|
1642 |
Capturing subpattern count = 0
|
1643 |
Options: extended
|
1644 |
First char = '('
|
1645 |
Need char = ')'
|
1646 |
(abcd)
|
1647 |
0: (abcd)
|
1648 |
(abcd)xyz
|
1649 |
0: (abcd)
|
1650 |
xyz(abcd)
|
1651 |
0: (abcd)
|
1652 |
(ab(xy)cd)pqr
|
1653 |
0: (ab(xy)cd)
|
1654 |
(ab(xycd)pqr
|
1655 |
0: (xycd)
|
1656 |
() abc ()
|
1657 |
0: ()
|
1658 |
12(abcde(fsh)xyz(foo(bar))lmno)89
|
1659 |
0: (abcde(fsh)xyz(foo(bar))lmno)
|
1660 |
*** Failers
|
1661 |
No match
|
1662 |
abcd
|
1663 |
No match
|
1664 |
abcd)
|
1665 |
No match
|
1666 |
(abcd
|
1667 |
No match
|
1668 |
|
1669 |
/\( ( (?>[^()]+) | (?R) )* \) /xg
|
1670 |
Capturing subpattern count = 1
|
1671 |
Options: extended
|
1672 |
First char = '('
|
1673 |
Need char = ')'
|
1674 |
(ab(xy)cd)pqr
|
1675 |
0: (ab(xy)cd)
|
1676 |
1: cd
|
1677 |
1(abcd)(x(y)z)pqr
|
1678 |
0: (abcd)
|
1679 |
1: abcd
|
1680 |
0: (x(y)z)
|
1681 |
1: z
|
1682 |
|
1683 |
/\( (?: (?>[^()]+) | (?R) ) \) /x
|
1684 |
Capturing subpattern count = 0
|
1685 |
Options: extended
|
1686 |
First char = '('
|
1687 |
Need char = ')'
|
1688 |
(abcd)
|
1689 |
0: (abcd)
|
1690 |
(ab(xy)cd)
|
1691 |
0: (xy)
|
1692 |
(a(b(c)d)e)
|
1693 |
0: (c)
|
1694 |
((ab))
|
1695 |
0: ((ab))
|
1696 |
*** Failers
|
1697 |
No match
|
1698 |
()
|
1699 |
No match
|
1700 |
|
1701 |
/\( (?: (?>[^()]+) | (?R) )? \) /x
|
1702 |
Capturing subpattern count = 0
|
1703 |
Options: extended
|
1704 |
First char = '('
|
1705 |
Need char = ')'
|
1706 |
()
|
1707 |
0: ()
|
1708 |
12(abcde(fsh)xyz(foo(bar))lmno)89
|
1709 |
0: (fsh)
|
1710 |
|
1711 |
/\( ( (?>[^()]+) | (?R) )* \) /x
|
1712 |
Capturing subpattern count = 1
|
1713 |
Options: extended
|
1714 |
First char = '('
|
1715 |
Need char = ')'
|
1716 |
(ab(xy)cd)
|
1717 |
0: (ab(xy)cd)
|
1718 |
1: cd
|
1719 |
|
1720 |
/\( ( ( (?>[^()]+) | (?R) )* ) \) /x
|
1721 |
Capturing subpattern count = 2
|
1722 |
Options: extended
|
1723 |
First char = '('
|
1724 |
Need char = ')'
|
1725 |
(ab(xy)cd)
|
1726 |
0: (ab(xy)cd)
|
1727 |
1: ab(xy)cd
|
1728 |
2: cd
|
1729 |
|
1730 |
/\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
|
1731 |
Capturing subpattern count = 3
|
1732 |
Options: extended
|
1733 |
First char = '('
|
1734 |
Need char = ')'
|
1735 |
(ab(xy)cd)
|
1736 |
0: (ab(xy)cd)
|
1737 |
1: <unset>
|
1738 |
2: ab(xy)cd
|
1739 |
3: cd
|
1740 |
(123ab(xy)cd)
|
1741 |
0: (123ab(xy)cd)
|
1742 |
1: 123
|
1743 |
2: ab(xy)cd
|
1744 |
3: cd
|
1745 |
|
1746 |
/\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
|
1747 |
Capturing subpattern count = 3
|
1748 |
Options: extended
|
1749 |
First char = '('
|
1750 |
Need char = ')'
|
1751 |
(ab(xy)cd)
|
1752 |
0: (ab(xy)cd)
|
1753 |
1: ab(xy)cd
|
1754 |
2: <unset>
|
1755 |
3: cd
|
1756 |
(123ab(xy)cd)
|
1757 |
0: (123ab(xy)cd)
|
1758 |
1: 123ab(xy)cd
|
1759 |
2: 123
|
1760 |
3: cd
|
1761 |
|
1762 |
/\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
|
1763 |
Capturing subpattern count = 11
|
1764 |
Options: extended
|
1765 |
First char = '('
|
1766 |
Need char = ')'
|
1767 |
(ab(xy)cd)
|
1768 |
0: (ab(xy)cd)
|
1769 |
1: ab(xy)cd
|
1770 |
2: ab(xy)cd
|
1771 |
3: ab(xy)cd
|
1772 |
4: ab(xy)cd
|
1773 |
5: ab(xy)cd
|
1774 |
6: ab(xy)cd
|
1775 |
7: ab(xy)cd
|
1776 |
8: ab(xy)cd
|
1777 |
9: ab(xy)cd
|
1778 |
10: ab(xy)cd
|
1779 |
11: cd
|
1780 |
|
1781 |
/\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
|
1782 |
Capturing subpattern count = 3
|
1783 |
Options: extended
|
1784 |
First char = '('
|
1785 |
Need char = ')'
|
1786 |
(abcd(xyz<p>qrs)123)
|
1787 |
0: (abcd(xyz<p>qrs)123)
|
1788 |
1: abcd(xyz<p>qrs)123
|
1789 |
2: 123
|
1790 |
3: <p>qrs
|
1791 |
|
1792 |
/\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
|
1793 |
Capturing subpattern count = 3
|
1794 |
Options: extended
|
1795 |
First char = '('
|
1796 |
Need char = ')'
|
1797 |
(ab(cd)ef)
|
1798 |
0: (ab(cd)ef)
|
1799 |
1: ab(cd)ef
|
1800 |
2: ef
|
1801 |
3: (cd)
|
1802 |
(ab(cd(ef)gh)ij)
|
1803 |
0: (ab(cd(ef)gh)ij)
|
1804 |
1: ab(cd(ef)gh)ij
|
1805 |
2: ij
|
1806 |
3: (cd(ef)gh)
|
1807 |
|
1808 |
/^[[:alnum:]]/D
|
1809 |
------------------------------------------------------------------
|
1810 |
0 37 Bra 0
|
1811 |
3 ^
|
1812 |
4 [0-9A-Za-z]
|
1813 |
37 37 Ket
|
1814 |
40 End
|
1815 |
------------------------------------------------------------------
|
1816 |
Capturing subpattern count = 0
|
1817 |
Options: anchored
|
1818 |
No first char
|
1819 |
No need char
|
1820 |
|
1821 |
/^[[:alpha:]]/D
|
1822 |
------------------------------------------------------------------
|
1823 |
0 37 Bra 0
|
1824 |
3 ^
|
1825 |
4 [A-Za-z]
|
1826 |
37 37 Ket
|
1827 |
40 End
|
1828 |
------------------------------------------------------------------
|
1829 |
Capturing subpattern count = 0
|
1830 |
Options: anchored
|
1831 |
No first char
|
1832 |
No need char
|
1833 |
|
1834 |
/^[[:ascii:]]/D
|
1835 |
------------------------------------------------------------------
|
1836 |
0 37 Bra 0
|
1837 |
3 ^
|
1838 |
4 [\x00-\x7f]
|
1839 |
37 37 Ket
|
1840 |
40 End
|
1841 |
------------------------------------------------------------------
|
1842 |
Capturing subpattern count = 0
|
1843 |
Options: anchored
|
1844 |
No first char
|
1845 |
No need char
|
1846 |
|
1847 |
/^[[:cntrl:]]/D
|
1848 |
------------------------------------------------------------------
|
1849 |
0 37 Bra 0
|
1850 |
3 ^
|
1851 |
4 [\x00-\x1f\x7f]
|
1852 |
37 37 Ket
|
1853 |
40 End
|
1854 |
------------------------------------------------------------------
|
1855 |
Capturing subpattern count = 0
|
1856 |
Options: anchored
|
1857 |
No first char
|
1858 |
No need char
|
1859 |
|
1860 |
/^[[:digit:]]/D
|
1861 |
------------------------------------------------------------------
|
1862 |
0 37 Bra 0
|
1863 |
3 ^
|
1864 |
4 [0-9]
|
1865 |
37 37 Ket
|
1866 |
40 End
|
1867 |
------------------------------------------------------------------
|
1868 |
Capturing subpattern count = 0
|
1869 |
Options: anchored
|
1870 |
No first char
|
1871 |
No need char
|
1872 |
|
1873 |
/^[[:graph:]]/D
|
1874 |
------------------------------------------------------------------
|
1875 |
0 37 Bra 0
|
1876 |
3 ^
|
1877 |
4 [!-~]
|
1878 |
37 37 Ket
|
1879 |
40 End
|
1880 |
------------------------------------------------------------------
|
1881 |
Capturing subpattern count = 0
|
1882 |
Options: anchored
|
1883 |
No first char
|
1884 |
No need char
|
1885 |
|
1886 |
/^[[:lower:]]/D
|
1887 |
------------------------------------------------------------------
|
1888 |
0 37 Bra 0
|
1889 |
3 ^
|
1890 |
4 [a-z]
|
1891 |
37 37 Ket
|
1892 |
40 End
|
1893 |
------------------------------------------------------------------
|
1894 |
Capturing subpattern count = 0
|
1895 |
Options: anchored
|
1896 |
No first char
|
1897 |
No need char
|
1898 |
|
1899 |
/^[[:print:]]/D
|
1900 |
------------------------------------------------------------------
|
1901 |
0 37 Bra 0
|
1902 |
3 ^
|
1903 |
4 [ -~]
|
1904 |
37 37 Ket
|
1905 |
40 End
|
1906 |
------------------------------------------------------------------
|
1907 |
Capturing subpattern count = 0
|
1908 |
Options: anchored
|
1909 |
No first char
|
1910 |
No need char
|
1911 |
|
1912 |
/^[[:punct:]]/D
|
1913 |
------------------------------------------------------------------
|
1914 |
0 37 Bra 0
|
1915 |
3 ^
|
1916 |
4 [!-/:-@[-`{-~]
|
1917 |
37 37 Ket
|
1918 |
40 End
|
1919 |
------------------------------------------------------------------
|
1920 |
Capturing subpattern count = 0
|
1921 |
Options: anchored
|
1922 |
No first char
|
1923 |
No need char
|
1924 |
|
1925 |
/^[[:space:]]/D
|
1926 |
------------------------------------------------------------------
|
1927 |
0 37 Bra 0
|
1928 |
3 ^
|
1929 |
4 [\x09-\x0d ]
|
1930 |
37 37 Ket
|
1931 |
40 End
|
1932 |
------------------------------------------------------------------
|
1933 |
Capturing subpattern count = 0
|
1934 |
Options: anchored
|
1935 |
No first char
|
1936 |
No need char
|
1937 |
|
1938 |
/^[[:upper:]]/D
|
1939 |
------------------------------------------------------------------
|
1940 |
0 37 Bra 0
|
1941 |
3 ^
|
1942 |
4 [A-Z]
|
1943 |
37 37 Ket
|
1944 |
40 End
|
1945 |
------------------------------------------------------------------
|
1946 |
Capturing subpattern count = 0
|
1947 |
Options: anchored
|
1948 |
No first char
|
1949 |
No need char
|
1950 |
|
1951 |
/^[[:xdigit:]]/D
|
1952 |
------------------------------------------------------------------
|
1953 |
0 37 Bra 0
|
1954 |
3 ^
|
1955 |
4 [0-9A-Fa-f]
|
1956 |
37 37 Ket
|
1957 |
40 End
|
1958 |
------------------------------------------------------------------
|
1959 |
Capturing subpattern count = 0
|
1960 |
Options: anchored
|
1961 |
No first char
|
1962 |
No need char
|
1963 |
|
1964 |
/^[[:word:]]/D
|
1965 |
------------------------------------------------------------------
|
1966 |
0 37 Bra 0
|
1967 |
3 ^
|
1968 |
4 [0-9A-Z_a-z]
|
1969 |
37 37 Ket
|
1970 |
40 End
|
1971 |
------------------------------------------------------------------
|
1972 |
Capturing subpattern count = 0
|
1973 |
Options: anchored
|
1974 |
No first char
|
1975 |
No need char
|
1976 |
|
1977 |
/^[[:^cntrl:]]/D
|
1978 |
------------------------------------------------------------------
|
1979 |
0 37 Bra 0
|
1980 |
3 ^
|
1981 |
4 [ -~\x80-\xff]
|
1982 |
37 37 Ket
|
1983 |
40 End
|
1984 |
------------------------------------------------------------------
|
1985 |
Capturing subpattern count = 0
|
1986 |
Options: anchored
|
1987 |
No first char
|
1988 |
No need char
|
1989 |
|
1990 |
/^[12[:^digit:]]/D
|
1991 |
------------------------------------------------------------------
|
1992 |
0 37 Bra 0
|
1993 |
3 ^
|
1994 |
4 [\x00-/1-2:-\xff]
|
1995 |
37 37 Ket
|
1996 |
40 End
|
1997 |
------------------------------------------------------------------
|
1998 |
Capturing subpattern count = 0
|
1999 |
Options: anchored
|
2000 |
No first char
|
2001 |
No need char
|
2002 |
|
2003 |
/[01[:alpha:]%]/D
|
2004 |
------------------------------------------------------------------
|
2005 |
0 36 Bra 0
|
2006 |
3 [%0-1A-Za-z]
|
2007 |
36 36 Ket
|
2008 |
39 End
|
2009 |
------------------------------------------------------------------
|
2010 |
Capturing subpattern count = 0
|
2011 |
No options
|
2012 |
No first char
|
2013 |
No need char
|
2014 |
|
2015 |
/[[.ch.]]/
|
2016 |
Failed: POSIX collating elements are not supported at offset 1
|
2017 |
|
2018 |
/[[=ch=]]/
|
2019 |
Failed: POSIX collating elements are not supported at offset 1
|
2020 |
|
2021 |
/[[:rhubarb:]]/
|
2022 |
Failed: unknown POSIX class name at offset 3
|
2023 |
|
2024 |
/[[:upper:]]/i
|
2025 |
Capturing subpattern count = 0
|
2026 |
Options: caseless
|
2027 |
No first char
|
2028 |
No need char
|
2029 |
A
|
2030 |
0: A
|
2031 |
a
|
2032 |
0: a
|
2033 |
|
2034 |
/[[:lower:]]/i
|
2035 |
Capturing subpattern count = 0
|
2036 |
Options: caseless
|
2037 |
No first char
|
2038 |
No need char
|
2039 |
A
|
2040 |
0: A
|
2041 |
a
|
2042 |
0: a
|
2043 |
|
2044 |
/((?-i)[[:lower:]])[[:lower:]]/i
|
2045 |
Capturing subpattern count = 1
|
2046 |
Options: caseless
|
2047 |
Case state changes
|
2048 |
No first char
|
2049 |
No need char
|
2050 |
ab
|
2051 |
0: ab
|
2052 |
1: a
|
2053 |
aB
|
2054 |
0: aB
|
2055 |
1: a
|
2056 |
*** Failers
|
2057 |
0: ai
|
2058 |
1: a
|
2059 |
Ab
|
2060 |
No match
|
2061 |
AB
|
2062 |
No match
|
2063 |
|
2064 |
/[\200-\410]/
|
2065 |
Failed: range out of order in character class at offset 9
|
2066 |
|
2067 |
/ End of testinput2 /
|
2068 |
Capturing subpattern count = 0
|
2069 |
No options
|
2070 |
First char = ' '
|
2071 |
Need char = ' '
|
2072 |
|