Parent Directory
|
Revision Log
|
Patch
revision 61 by nigel, Sat Feb 24 21:39:58 2007 UTC | revision 166 by ph10, Wed May 9 14:48:28 2007 UTC | |
---|---|---|
# | Line 1 | Line 1 |
1 | PCRE version 3.9 02-Jan-2002 | /(a)b|/I |
/(a)b|/ | ||
2 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3 | No options | No options |
4 | No first char | No first char |
5 | No need char | No need char |
6 | ||
7 | /abc/ | /abc/I |
8 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
9 | No options | No options |
10 | First char = 'a' | First char = 'a' |
# | Line 24 No match | Line 22 No match |
22 | ABC | ABC |
23 | No match | No match |
24 | ||
25 | /^abc/ | /^abc/I |
26 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
27 | Options: anchored | Options: anchored |
28 | No first char | No first char |
29 | Need char = 'c' | No need char |
30 | abc | abc |
31 | 0: abc | 0: abc |
32 | \Aabc | \Aabc |
# | Line 40 No match | Line 38 No match |
38 | \Adefabc | \Adefabc |
39 | No match | No match |
40 | ||
41 | /a+bc/ | /a+bc/I |
42 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
43 | Partial matching not supported | |
44 | No options | No options |
45 | First char = 'a' | First char = 'a' |
46 | Need char = 'c' | Need char = 'c' |
47 | ||
48 | /a*bc/ | /a*bc/I |
49 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
50 | Partial matching not supported | |
51 | No options | No options |
52 | No first char | No first char |
53 | Need char = 'c' | Need char = 'c' |
54 | ||
55 | /a{3}bc/ | /a{3}bc/I |
56 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
57 | Partial matching not supported | |
58 | No options | No options |
59 | First char = 'a' | First char = 'a' |
60 | Need char = 'c' | Need char = 'c' |
61 | ||
62 | /(abc|a+z)/ | /(abc|a+z)/I |
63 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
64 | Partial matching not supported | |
65 | No options | No options |
66 | First char = 'a' | First char = 'a' |
67 | No need char | No need char |
68 | ||
69 | /^abc$/ | /^abc$/I |
70 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
71 | Options: anchored | Options: anchored |
72 | No first char | No first char |
73 | Need char = 'c' | No need char |
74 | abc | abc |
75 | 0: abc | 0: abc |
76 | *** Failers | *** Failers |
# | Line 76 No match | Line 78 No match |
78 | def\nabc | def\nabc |
79 | No match | No match |
80 | ||
81 | /ab\gdef/X | /ab\hdef/X |
82 | Failed: unrecognized character follows \ at offset 3 | Failed: unrecognized character follows \ at offset 3 |
83 | ||
84 | /(?X)ab\gdef/X | /(?X)ab\hdef/X |
85 | Failed: unrecognized character follows \ at offset 7 | Failed: unrecognized character follows \ at offset 7 |
86 | ||
87 | /x{5,4}/ | /x{5,4}/ |
# | Line 91 Failed: number too big in {} quantifier | Line 93 Failed: number too big in {} quantifier |
93 | /[abcd/ | /[abcd/ |
94 | Failed: missing terminating ] for character class at offset 5 | Failed: missing terminating ] for character class at offset 5 |
95 | ||
96 | /[\B]/ | /(?X)[\B]/ |
97 | Failed: invalid escape sequence in character class at offset 2 | Failed: invalid escape sequence in character class at offset 6 |
98 | ||
99 | /[z-a]/ | /[z-a]/ |
100 | Failed: range out of order in character class at offset 3 | Failed: range out of order in character class at offset 3 |
# | Line 109 Failed: missing ) after comment at offse | Line 111 Failed: missing ) after comment at offse |
111 | /(?z)abc/ | /(?z)abc/ |
112 | Failed: unrecognized character after (? at offset 2 | Failed: unrecognized character after (? at offset 2 |
113 | ||
114 | /.*b/ | /.*b/I |
115 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
116 | Partial matching not supported | |
117 | No options | No options |
118 | First char at start or follows \n | First char at start or follows newline |
119 | Need char = 'b' | Need char = 'b' |
120 | ||
121 | /.*?b/ | /.*?b/I |
122 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
123 | Partial matching not supported | |
124 | No options | No options |
125 | First char at start or follows \n | First char at start or follows newline |
126 | Need char = 'b' | Need char = 'b' |
127 | ||
128 | /cat|dog|elephant/ | /cat|dog|elephant/I |
129 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
130 | No options | No options |
131 | No first char | No first char |
# | Line 131 No need char | Line 135 No need char |
135 | this sentences rambles on and on for a while and then reaches elephant | this sentences rambles on and on for a while and then reaches elephant |
136 | 0: elephant | 0: elephant |
137 | ||
138 | /cat|dog|elephant/S | /cat|dog|elephant/IS |
139 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
140 | No options | No options |
141 | No first char | No first char |
142 | No need char | No need char |
143 | Starting character set: c d e | Starting byte set: c d e |
144 | this sentence eventually mentions a cat | this sentence eventually mentions a cat |
145 | 0: cat | 0: cat |
146 | this sentences rambles on and on for a while and then reaches elephant | this sentences rambles on and on for a while and then reaches elephant |
147 | 0: elephant | 0: elephant |
148 | ||
149 | /cat|dog|elephant/iS | /cat|dog|elephant/IiS |
150 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
151 | Options: caseless | Options: caseless |
152 | No first char | No first char |
153 | No need char | No need char |
154 | Starting character set: C D E c d e | Starting byte set: C D E c d e |
155 | this sentence eventually mentions a CAT cat | this sentence eventually mentions a CAT cat |
156 | 0: CAT | 0: CAT |
157 | this sentences rambles on and on for a while to elephant ElePhant | this sentences rambles on and on for a while to elephant ElePhant |
158 | 0: elephant | 0: elephant |
159 | ||
160 | /a|[bcd]/S | /a|[bcd]/IS |
161 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
162 | No options | No options |
163 | No first char | No first char |
164 | No need char | No need char |
165 | Starting character set: a b c d | Starting byte set: a b c d |
166 | ||
167 | /(a|[^\dZ])/S | /(a|[^\dZ])/IS |
168 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
169 | No options | No options |
170 | No first char | No first char |
171 | No need char | No need char |
172 | Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a | Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a |
173 | \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 | \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 |
174 | \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > | \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > |
175 | ? @ 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 | ? @ 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 |
# | Line 180 Starting character set: \x00 \x01 \x02 \ | Line 184 Starting character set: \x00 \x01 \x02 \ |
184 | \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb | \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb |
185 | \xfc \xfd \xfe \xff | \xfc \xfd \xfe \xff |
186 | ||
187 | /(a|b)*[\s]/S | /(a|b)*[\s]/IS |
188 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
189 | No options | No options |
190 | No first char | No first char |
191 | No need char | No need char |
192 | Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b | Starting byte set: \x09 \x0a \x0c \x0d \x20 a b |
193 | ||
194 | /(ab\2)/ | /(ab\2)/ |
195 | Failed: back reference to non-existent subpattern at offset 6 | Failed: reference to non-existent subpattern at offset 6 |
196 | ||
197 | /{4,5}abc/ | /{4,5}abc/ |
198 | Failed: nothing to repeat at offset 4 | Failed: nothing to repeat at offset 4 |
199 | ||
200 | /(a)(b)(c)\2/ | /(a)(b)(c)\2/I |
201 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
202 | Max back reference = 2 | Max back reference = 2 |
203 | No options | No options |
# | Line 218 Matched, but too many substrings | Line 222 Matched, but too many substrings |
222 | 0: abcb | 0: abcb |
223 | 1: a | 1: a |
224 | 2: b | 2: b |
225 | \O12abcb | \O12abcb |
226 | 0: abcb | 0: abcb |
227 | 1: a | 1: a |
228 | 2: b | 2: b |
229 | 3: c | 3: c |
230 | ||
231 | /(a)bc|(a)(b)\2/ | /(a)bc|(a)(b)\2/I |
232 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
233 | Max back reference = 2 | Max back reference = 2 |
234 | No options | No options |
# | Line 266 Matched, but too many substrings | Line 270 Matched, but too many substrings |
270 | 2: a | 2: a |
271 | 3: b | 3: b |
272 | ||
273 | /abc$/E | /abc$/IE |
274 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
275 | Options: dollar_endonly | Options: dollar_endonly |
276 | First char = 'a' | First char = 'a' |
# | Line 281 No match | Line 285 No match |
285 | No match | No match |
286 | ||
287 | /(a)(b)(c)(d)(e)\6/ | /(a)(b)(c)(d)(e)\6/ |
288 | Failed: back reference to non-existent subpattern at offset 17 | Failed: reference to non-existent subpattern at offset 17 |
289 | ||
290 | /the quick brown fox/ | /the quick brown fox/I |
291 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
292 | No options | No options |
293 | First char = 't' | First char = 't' |
# | Line 293 Need char = 'x' | Line 297 Need char = 'x' |
297 | this is a line with the quick brown fox | this is a line with the quick brown fox |
298 | 0: the quick brown fox | 0: the quick brown fox |
299 | ||
300 | /the quick brown fox/A | /the quick brown fox/IA |
301 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
302 | Options: anchored | Options: anchored |
303 | No first char | No first char |
304 | Need char = 'x' | No need char |
305 | the quick brown fox | the quick brown fox |
306 | 0: the quick brown fox | 0: the quick brown fox |
307 | *** Failers | *** Failers |
# | Line 308 No match | Line 312 No match |
312 | /ab(?z)cd/ | /ab(?z)cd/ |
313 | Failed: unrecognized character after (? at offset 4 | Failed: unrecognized character after (? at offset 4 |
314 | ||
315 | /^abc|def/ | /^abc|def/I |
316 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
317 | No options | No options |
318 | No first char | No first char |
# | Line 318 No need char | Line 322 No need char |
322 | abcdef\B | abcdef\B |
323 | 0: def | 0: def |
324 | ||
325 | /.*((abc)$|(def))/ | /.*((abc)$|(def))/I |
326 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
327 | Partial matching not supported | |
328 | No options | No options |
329 | First char at start or follows \n | First char at start or follows newline |
330 | No need char | No need char |
331 | defabc | defabc |
332 | 0: defabc | 0: defabc |
# | Line 333 No need char | Line 338 No need char |
338 | 2: <unset> | 2: <unset> |
339 | 3: def | 3: def |
340 | ||
341 | /abc/P | /abc/IP |
342 | abc | abc |
343 | 0: abc | 0: abc |
344 | *** Failers | *** Failers |
345 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
346 | ||
347 | /^abc|def/P | /^abc|def/IP |
348 | abcdef | abcdef |
349 | 0: abc | 0: abc |
350 | abcdef\B | abcdef\B |
351 | 0: def | 0: def |
352 | ||
353 | /.*((abc)$|(def))/P | /.*((abc)$|(def))/IP |
354 | defabc | defabc |
355 | 0: defabc | 0: defabc |
356 | 1: abc | 1: abc |
# | Line 354 No match: POSIX code 17: match failed | Line 359 No match: POSIX code 17: match failed |
359 | 0: def | 0: def |
360 | 1: def | 1: def |
361 | 3: def | 3: def |
362 | ||
363 | /the quick brown fox/P | /the quick brown fox/IP |
364 | the quick brown fox | the quick brown fox |
365 | 0: the quick brown fox | 0: the quick brown fox |
366 | *** Failers | *** Failers |
367 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
368 | The Quick Brown Fox | The Quick Brown Fox |
369 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
370 | ||
371 | /the quick brown fox/Pi | /the quick brown fox/IPi |
372 | the quick brown fox | the quick brown fox |
373 | 0: the quick brown fox | 0: the quick brown fox |
374 | The Quick Brown Fox | The Quick Brown Fox |
375 | 0: The Quick Brown Fox | 0: The Quick Brown Fox |
376 | ||
377 | /abc.def/P | /abc.def/IP |
378 | *** Failers | *** Failers |
379 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
380 | abc\ndef | abc\ndef |
381 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
382 | ||
383 | /abc$/P | /abc$/IP |
384 | abc | abc |
385 | 0: abc | 0: abc |
386 | abc\n | abc\n |
387 | 0: abc | 0: abc |
388 | ||
389 | /(abc)\2/P | /(abc)\2/IP |
390 | Failed: POSIX code 15: bad back reference at offset 7 | Failed: POSIX code 15: bad back reference at offset 7 |
391 | ||
392 | /(abc\1)/P | /(abc\1)/IP |
393 | abc | abc |
394 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
395 | ||
# | Line 394 Failed: unmatched parentheses at offset | Line 399 Failed: unmatched parentheses at offset |
399 | /a[]b/ | /a[]b/ |
400 | Failed: missing terminating ] for character class at offset 4 | Failed: missing terminating ] for character class at offset 4 |
401 | ||
402 | /[^aeiou ]{3,}/ | /[^aeiou ]{3,}/I |
403 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
404 | Partial matching not supported | |
405 | No options | No options |
406 | No first char | No first char |
407 | No need char | No need char |
408 | co-processors, and for | co-processors, and for |
409 | 0: -pr | 0: -pr |
410 | ||
411 | /<.*>/ | /<.*>/I |
412 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
413 | Partial matching not supported | |
414 | No options | No options |
415 | First char = '<' | First char = '<' |
416 | Need char = '>' | Need char = '>' |
417 | abc<def>ghi<klm>nop | abc<def>ghi<klm>nop |
418 | 0: <def>ghi<klm> | 0: <def>ghi<klm> |
419 | ||
420 | /<.*?>/ | /<.*?>/I |
421 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
422 | Partial matching not supported | |
423 | No options | No options |
424 | First char = '<' | First char = '<' |
425 | Need char = '>' | Need char = '>' |
426 | abc<def>ghi<klm>nop | abc<def>ghi<klm>nop |
427 | 0: <def> | 0: <def> |
428 | ||
429 | /<.*>/U | /<.*>/IU |
430 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
431 | Partial matching not supported | |
432 | Options: ungreedy | Options: ungreedy |
433 | First char = '<' | First char = '<' |
434 | Need char = '>' | Need char = '>' |
435 | abc<def>ghi<klm>nop | abc<def>ghi<klm>nop |
436 | 0: <def> | 0: <def> |
437 | ||
438 | /<.*>(?U)/ | /(?U)<.*>/I |
439 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
440 | Partial matching not supported | |
441 | Options: ungreedy | Options: ungreedy |
442 | First char = '<' | First char = '<' |
443 | Need char = '>' | Need char = '>' |
444 | abc<def>ghi<klm>nop | abc<def>ghi<klm>nop |
445 | 0: <def> | 0: <def> |
446 | ||
447 | /<.*?>/U | /<.*?>/IU |
448 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
449 | Partial matching not supported | |
450 | Options: ungreedy | Options: ungreedy |
451 | First char = '<' | First char = '<' |
452 | Need char = '>' | Need char = '>' |
453 | abc<def>ghi<klm>nop | abc<def>ghi<klm>nop |
454 | 0: <def>ghi<klm> | 0: <def>ghi<klm> |
455 | ||
456 | /={3,}/U | /={3,}/IU |
457 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
458 | Partial matching not supported | |
459 | Options: ungreedy | Options: ungreedy |
460 | First char = '=' | First char = '=' |
461 | Need char = '=' | Need char = '=' |
462 | abc========def | abc========def |
463 | 0: === | 0: === |
464 | ||
465 | /(?U)={3,}?/ | /(?U)={3,}?/I |
466 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
467 | Partial matching not supported | |
468 | Options: ungreedy | Options: ungreedy |
469 | First char = '=' | First char = '=' |
470 | Need char = '=' | Need char = '=' |
471 | abc========def | abc========def |
472 | 0: ======== | 0: ======== |
473 | ||
474 | /(?<!bar|cattle)foo/ | /(?<!bar|cattle)foo/I |
475 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
476 | No options | No options |
477 | First char = 'f' | First char = 'f' |
478 | Need char = 'o' | Need char = 'o' |
479 | foo | foo |
480 | 0: foo | 0: foo |
481 | catfoo | catfoo |
482 | 0: foo | 0: foo |
483 | *** Failers | *** Failers |
484 | No match | No match |
485 | the barfoo | the barfoo |
486 | No match | No match |
487 | and cattlefoo | and cattlefoo |
488 | No match | No match |
489 | ||
490 | /(?<=a+)b/ | /(?<=a+)b/ |
# | Line 483 Failed: lookbehind assertion is not fixe | Line 496 Failed: lookbehind assertion is not fixe |
496 | /(?<!(foo)a\1)bar/ | /(?<!(foo)a\1)bar/ |
497 | Failed: lookbehind assertion is not fixed length at offset 12 | Failed: lookbehind assertion is not fixed length at offset 12 |
498 | ||
499 | /(?i)abc/ | /(?i)abc/I |
500 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
501 | Options: caseless | Options: caseless |
502 | First char = 'a' | First char = 'a' (caseless) |
503 | Need char = 'c' | Need char = 'c' (caseless) |
504 | ||
505 | /(a|(?m)a)/ | /(a|(?m)a)/I |
506 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
507 | No options | No options |
508 | First char = 'a' | First char = 'a' |
509 | No need char | No need char |
510 | ||
511 | /(?i)^1234/ | /(?i)^1234/I |
512 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
513 | Options: anchored caseless | Options: anchored caseless |
514 | No first char | No first char |
515 | Need char = '4' | No need char |
516 | ||
517 | /(^b|(?i)^d)/ | /(^b|(?i)^d)/I |
518 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
519 | Options: anchored | Options: anchored |
Case state changes | ||
520 | No first char | No first char |
521 | No need char | No need char |
522 | ||
523 | /(?s).*/ | /(?s).*/I |
524 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
525 | Partial matching not supported | |
526 | Options: anchored dotall | Options: anchored dotall |
527 | No first char | No first char |
528 | No need char | No need char |
529 | ||
530 | /[abcd]/S | /[abcd]/IS |
531 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
532 | No options | No options |
533 | No first char | No first char |
534 | No need char | No need char |
535 | Starting character set: a b c d | Starting byte set: a b c d |
536 | ||
537 | /(?i)[abcd]/S | /(?i)[abcd]/IS |
538 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
539 | Options: caseless | Options: caseless |
540 | No first char | No first char |
541 | No need char | No need char |
542 | Starting character set: A B C D a b c d | Starting byte set: A B C D a b c d |
543 | ||
544 | /(?m)[xy]|(b|c)/S | /(?m)[xy]|(b|c)/IS |
545 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
546 | Options: multiline | Options: multiline |
547 | No first char | No first char |
548 | No need char | No need char |
549 | Starting character set: b c x y | Starting byte set: b c x y |
550 | ||
551 | /(^a|^b)/m | /(^a|^b)/Im |
552 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
553 | Options: multiline | Options: multiline |
554 | First char at start or follows \n | First char at start or follows newline |
555 | No need char | No need char |
556 | ||
557 | /(?i)(^a|^b)/m | /(?i)(^a|^b)/Im |
558 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
559 | Options: caseless multiline | Options: caseless multiline |
560 | First char at start or follows \n | First char at start or follows newline |
561 | No need char | No need char |
562 | ||
563 | /(a)(?(1)a|b|c)/ | /(a)(?(1)a|b|c)/ |
# | Line 554 Failed: conditional group contains more | Line 567 Failed: conditional group contains more |
567 | Failed: conditional group contains more than two branches at offset 12 | Failed: conditional group contains more than two branches at offset 12 |
568 | ||
569 | /(?(1a)/ | /(?(1a)/ |
570 | Failed: malformed number after (?( at offset 4 | Failed: missing ) at offset 6 |
571 | ||
572 | /(?(1a))/ | |
573 | Failed: reference to non-existent subpattern at offset 6 | |
574 | ||
575 | /(?(?i))/ | /(?(?i))/ |
576 | Failed: assertion expected after (?( at offset 3 | Failed: assertion expected after (?( at offset 3 |
577 | ||
578 | /(?(abc))/ | /(?(abc))/ |
579 | Failed: assertion expected after (?( at offset 3 | Failed: reference to non-existent subpattern at offset 7 |
580 | ||
581 | /(?(?<ab))/ | /(?(?<ab))/ |
582 | Failed: unrecognized character after (?< at offset 2 | Failed: syntax error in subpattern name (missing terminator) at offset 7 |
583 | ||
584 | /((?s)blah)\s+\1/ | /((?s)blah)\s+\1/I |
585 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
586 | Max back reference = 1 | Max back reference = 1 |
587 | Partial matching not supported | |
588 | No options | No options |
589 | First char = 'b' | First char = 'b' |
590 | Need char = 'h' | Need char = 'h' |
591 | ||
592 | /((?i)blah)\s+\1/ | /((?i)blah)\s+\1/I |
593 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
594 | Max back reference = 1 | Max back reference = 1 |
595 | Partial matching not supported | |
596 | No options | No options |
597 | Case state changes | First char = 'b' (caseless) |
598 | No first char | Need char = 'h' (caseless) |
Need char = 'h' | ||
599 | ||
600 | /((?i)b)/DS | /((?i)b)/IDZS |
601 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
602 | 0 16 Bra 0 | Bra 0 |
603 | 3 8 Bra 1 | Bra 1 |
604 | 6 01 Opt | 01 Opt |
605 | 8 1 b | NC b |
606 | 11 8 Ket | Ket |
607 | 14 00 Opt | 00 Opt |
608 | 16 16 Ket | Ket |
609 | 19 End | End |
610 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
611 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
612 | No options | No options |
613 | Case state changes | First char = 'b' (caseless) |
614 | No first char | No need char |
615 | Need char = 'b' | Study returned NULL |
Starting character set: B b | ||
616 | ||
617 | /(a*b|(?i:c*(?-i)d))/S | /(a*b|(?i:c*(?-i)d))/IS |
618 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
619 | Partial matching not supported | |
620 | No options | No options |
Case state changes | ||
621 | No first char | No first char |
622 | No need char | No need char |
623 | Starting character set: C a b c d | Starting byte set: C a b c d |
624 | ||
625 | /a$/ | /a$/I |
626 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
627 | No options | No options |
628 | First char = 'a' | First char = 'a' |
# | Line 615 No need char | Line 631 No need char |
631 | 0: a | 0: a |
632 | a\n | a\n |
633 | 0: a | 0: a |
634 | *** Failers | *** Failers |
635 | No match | No match |
636 | \Za | \Za |
637 | No match | No match |
638 | \Za\n | \Za\n |
639 | No match | No match |
640 | ||
641 | /a$/m | /a$/Im |
642 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
643 | Options: multiline | Options: multiline |
644 | First char = 'a' | First char = 'a' |
# | Line 631 No need char | Line 647 No need char |
647 | 0: a | 0: a |
648 | a\n | a\n |
649 | 0: a | 0: a |
650 | \Za\n | \Za\n |
651 | 0: a | 0: a |
652 | *** Failers | *** Failers |
653 | No match | No match |
654 | \Za | \Za |
655 | No match | No match |
656 | ||
657 | /\Aabc/m | /\Aabc/Im |
658 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
659 | Options: anchored multiline | Options: anchored multiline |
660 | No first char | No first char |
661 | Need char = 'c' | No need char |
662 | ||
663 | /^abc/m | /^abc/Im |
664 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
665 | Options: multiline | Options: multiline |
666 | First char at start or follows \n | First char at start or follows newline |
667 | Need char = 'c' | Need char = 'c' |
668 | ||
669 | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I |
670 | Capturing subpattern count = 5 | Capturing subpattern count = 5 |
671 | Partial matching not supported | |
672 | Options: anchored | Options: anchored |
673 | No first char | No first char |
674 | Need char = 'a' | No need char |
675 | aaaaabbbbbcccccdef | aaaaabbbbbcccccdef |
676 | 0: aaaaabbbbbcccccdef | 0: aaaaabbbbbcccccdef |
677 | 1: aaaaabbbbbcccccdef | 1: aaaaabbbbbcccccdef |
# | Line 663 Need char = 'a' | Line 680 Need char = 'a' |
680 | 4: bbbbccccc | 4: bbbbccccc |
681 | 5: def | 5: def |
682 | ||
683 | /(?<=foo)[ab]/S | /(?<=foo)[ab]/IS |
684 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
685 | No options | No options |
686 | No first char | No first char |
687 | No need char | No need char |
688 | Starting character set: a b | Starting byte set: a b |
689 | ||
690 | /(?<!foo)(alpha|omega)/S | /(?<!foo)(alpha|omega)/IS |
691 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
692 | No options | No options |
693 | No first char | No first char |
694 | Need char = 'a' | Need char = 'a' |
695 | Starting character set: a o | Starting byte set: a o |
696 | ||
697 | /(?!alphabet)[ab]/S | /(?!alphabet)[ab]/IS |
698 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
699 | No options | No options |
700 | No first char | No first char |
701 | No need char | No need char |
702 | Starting character set: a b | Starting byte set: a b |
703 | ||
704 | /(?<=foo\n)^bar/Im | |
705 | Capturing subpattern count = 0 | |
706 | Options: multiline | |
707 | No first char | |
708 | Need char = 'r' | |
709 | foo\nbarbar | |
710 | 0: bar | |
711 | ***Failers | |
712 | No match | |
713 | rhubarb | |
714 | No match | |
715 | barbell | |
716 | No match | |
717 | abc\nbarton | |
718 | No match | |
719 | ||
720 | /(?<=foo\n)^bar/m | /^(?<=foo\n)bar/Im |
721 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
722 | Options: multiline | Options: multiline |
723 | First char at start or follows \n | First char at start or follows newline |
724 | Need char = 'r' | Need char = 'r' |
725 | foo\nbarbar | |
726 | 0: bar | |
727 | ***Failers | |
728 | No match | |
729 | rhubarb | |
730 | No match | |
731 | barbell | |
732 | No match | |
733 | abc\nbarton | |
734 | No match | |
735 | ||
736 | /(?>^abc)/m | /(?>^abc)/Im |
737 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
738 | Options: multiline | Options: multiline |
739 | First char at start or follows \n | First char at start or follows newline |
740 | Need char = 'c' | Need char = 'c' |
741 | abc | abc |
742 | 0: abc | 0: abc |
# | Line 701 Need char = 'c' | Line 744 Need char = 'c' |
744 | 0: abc | 0: abc |
745 | *** Failers | *** Failers |
746 | No match | No match |
747 | defabc | defabc |
748 | No match | No match |
749 | ||
750 | /(?<=ab(c+)d)ef/ | /(?<=ab(c+)d)ef/ |
# | Line 714 Failed: lookbehind assertion is not fixe | Line 757 Failed: lookbehind assertion is not fixe |
757 | Failed: lookbehind assertion is not fixed length at offset 13 | Failed: lookbehind assertion is not fixed length at offset 13 |
758 | ||
759 | /The next three are in testinput2 because they have variable length branches/ | /The next three are in testinput2 because they have variable length branches/ |
Capturing subpattern count = 0 | ||
No options | ||
First char = 'T' | ||
Need char = 's' | ||
760 | ||
761 | /(?<=bullock|donkey)-cart/ | /(?<=bullock|donkey)-cart/I |
762 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
763 | No options | No options |
764 | First char = '-' | First char = '-' |
# | Line 732 Need char = 't' | Line 771 Need char = 't' |
771 | No match | No match |
772 | cart | cart |
773 | No match | No match |
774 | horse-and-cart | horse-and-cart |
775 | No match | No match |
776 | ||
777 | /(?<=ab(?i)x|y|z)/ | /(?<=ab(?i)x|y|z)/I |
778 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
779 | No options | No options |
Case state changes | ||
780 | No first char | No first char |
781 | No need char | No need char |
782 | ||
783 | /(?>.*)(?<=(abcd)|(xyz))/ | /(?>.*)(?<=(abcd)|(xyz))/I |
784 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
785 | Partial matching not supported | |
786 | No options | No options |
787 | First char at start or follows \n | First char at start or follows newline |
788 | No need char | No need char |
789 | alphabetabcd | alphabetabcd |
790 | 0: alphabetabcd | 0: alphabetabcd |
# | Line 755 No need char | Line 794 No need char |
794 | 1: <unset> | 1: <unset> |
795 | 2: xyz | 2: xyz |
796 | ||
797 | /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/ | /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I |
798 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
799 | No options | No options |
Case state changes | ||
800 | First char = 'Z' | First char = 'Z' |
801 | Need char = 'Z' | Need char = 'Z' |
802 | abxyZZ | abxyZZ |
# | Line 771 Need char = 'Z' | Line 809 Need char = 'Z' |
809 | 0: ZZ | 0: ZZ |
810 | bZZ | bZZ |
811 | 0: ZZ | 0: ZZ |
812 | BZZ | BZZ |
813 | 0: ZZ | 0: ZZ |
814 | *** Failers | *** Failers |
815 | No match | No match |
816 | ZZ | ZZ |
817 | No match | No match |
818 | abXYZZ | abXYZZ |
819 | No match | No match |
820 | zzz | zzz |
821 | No match | No match |
822 | bzz | bzz |
823 | No match | No match |
824 | ||
825 | /(?<!(foo)a)bar/ | /(?<!(foo)a)bar/I |
826 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
827 | No options | No options |
828 | First char = 'b' | First char = 'b' |
829 | Need char = 'r' | Need char = 'r' |
830 | bar | bar |
831 | 0: bar | 0: bar |
832 | foobbar | foobbar |
833 | 0: bar | 0: bar |
834 | *** Failers | *** Failers |
835 | No match | No match |
836 | fooabar | fooabar |
837 | No match | No match |
838 | ||
839 | /This one is here because Perl 5.005_02 doesn't fail it/ | /This one is here because Perl 5.005_02 doesn't fail it/I |
840 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
841 | No options | No options |
842 | First char = 'T' | First char = 'T' |
843 | Need char = 't' | Need char = 't' |
844 | ||
845 | /^(a)?(?(1)a|b)+$/ | /^(a)?(?(1)a|b)+$/I |
846 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
847 | Options: anchored | Options: anchored |
848 | No first char | No first char |
849 | No need char | No need char |
850 | *** Failers | *** Failers |
851 | No match | No match |
852 | a | a |
853 | No match | No match |
854 | ||
855 | /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/ | /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I |
856 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
857 | No options | No options |
858 | First char = 'T' | First char = 'T' |
859 | Need char = 'g' | Need char = 'g' |
860 | ||
861 | /^(a\1?){4}$/ | /^(a\1?){4}$/I |
862 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
863 | Max back reference = 1 | Max back reference = 1 |
864 | Options: anchored | Options: anchored |
865 | No first char | No first char |
866 | Need char = 'a' | No need char |
867 | aaaaaa | aaaaaa |
868 | 0: aaaaaa | 0: aaaaaa |
869 | 1: aa | 1: aa |
870 | ||
871 | /These are syntax tests from Perl 5.005/ | /These are syntax tests from Perl 5.005/I |
872 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
873 | No options | No options |
874 | First char = 'T' | First char = 'T' |
# | Line 864 Failed: nothing to repeat at offset 2 | Line 902 Failed: nothing to repeat at offset 2 |
902 | Failed: unmatched parentheses at offset 0 | Failed: unmatched parentheses at offset 0 |
903 | ||
904 | /\1/ | /\1/ |
905 | Failed: back reference to non-existent subpattern at offset 2 | Failed: reference to non-existent subpattern at offset 2 |
906 | ||
907 | /\2/ | /\2/ |
908 | Failed: back reference to non-existent subpattern at offset 2 | Failed: reference to non-existent subpattern at offset 2 |
909 | ||
910 | /(a)|\2/ | /(a)|\2/ |
911 | Failed: back reference to non-existent subpattern at offset 6 | Failed: reference to non-existent subpattern at offset 6 |
912 | ||
913 | /a[b-a]/i | /a[b-a]/Ii |
914 | Failed: range out of order in character class at offset 4 | Failed: range out of order in character class at offset 4 |
915 | ||
916 | /a[]b/i | /a[]b/Ii |
917 | Failed: missing terminating ] for character class at offset 4 | Failed: missing terminating ] for character class at offset 4 |
918 | ||
919 | /a[/i | /a[/Ii |
920 | Failed: missing terminating ] for character class at offset 2 | Failed: missing terminating ] for character class at offset 2 |
921 | ||
922 | /*a/i | /*a/Ii |
923 | Failed: nothing to repeat at offset 0 | Failed: nothing to repeat at offset 0 |
924 | ||
925 | /(*)b/i | /(*)b/Ii |
926 | Failed: nothing to repeat at offset 1 | Failed: nothing to repeat at offset 1 |
927 | ||
928 | /abc)/i | /abc)/Ii |
929 | Failed: unmatched parentheses at offset 3 | Failed: unmatched parentheses at offset 3 |
930 | ||
931 | /(abc/i | /(abc/Ii |
932 | Failed: missing ) at offset 4 | Failed: missing ) at offset 4 |
933 | ||
934 | /a**/i | /a**/Ii |
935 | Failed: nothing to repeat at offset 2 | Failed: nothing to repeat at offset 2 |
936 | ||
937 | /)(/i | /)(/Ii |
938 | Failed: unmatched parentheses at offset 0 | Failed: unmatched parentheses at offset 0 |
939 | ||
940 | /:(?:/ | /:(?:/ |
941 | Failed: missing ) at offset 4 | Failed: missing ) at offset 4 |
942 | ||
943 | /(?<%)b/ | /(?<%)b/ |
944 | Failed: unrecognized character after (?< at offset 0 | Failed: unrecognized character after (?< at offset 3 |
945 | ||
946 | /a(?{)b/ | /a(?{)b/ |
947 | Failed: unrecognized character after (? at offset 3 | Failed: unrecognized character after (? at offset 3 |
# | Line 921 Failed: unrecognized character after (? | Line 959 Failed: unrecognized character after (? |
959 | Failed: unrecognized character after (? at offset 3 | Failed: unrecognized character after (? at offset 3 |
960 | ||
961 | /(?(1?)a|b)/ | /(?(1?)a|b)/ |
962 | Failed: malformed number after (?( at offset 4 | Failed: malformed number or name after (?( at offset 4 |
963 | ||
964 | /(?(1)a|b|c)/ | /(?(1)a|b|c)/ |
965 | Failed: conditional group contains more than two branches at offset 10 | Failed: conditional group contains more than two branches at offset 10 |
# | Line 944 Failed: POSIX code 9: bad escape sequenc | Line 982 Failed: POSIX code 9: bad escape sequenc |
982 | /abc/\i | /abc/\i |
983 | Failed: \ at end of pattern at offset 4 | Failed: \ at end of pattern at offset 4 |
984 | ||
985 | /(a)bc(d)/ | /(a)bc(d)/I |
986 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
987 | No options | No options |
988 | First char = 'a' | First char = 'a' |
# | Line 963 Need char = 'd' | Line 1001 Need char = 'd' |
1001 | 1: a | 1: a |
1002 | 2: d | 2: d |
1003 | copy substring 5 failed -7 | copy substring 5 failed -7 |
1004 | ||
1005 | /(.{20})/ | /(.{20})/I |
1006 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1007 | Partial matching not supported | |
1008 | No options | No options |
1009 | No first char | No first char |
1010 | No need char | No need char |
# | Line 975 No need char | Line 1014 No need char |
1014 | abcdefghijklmnopqrstuvwxyz\C1 | abcdefghijklmnopqrstuvwxyz\C1 |
1015 | 0: abcdefghijklmnopqrst | 0: abcdefghijklmnopqrst |
1016 | 1: abcdefghijklmnopqrst | 1: abcdefghijklmnopqrst |
1017 | copy substring 1 failed -6 | 1C abcdefghijklmnopqrst (20) |
1018 | abcdefghijklmnopqrstuvwxyz\G1 | abcdefghijklmnopqrstuvwxyz\G1 |
1019 | 0: abcdefghijklmnopqrst | 0: abcdefghijklmnopqrst |
1020 | 1: abcdefghijklmnopqrst | 1: abcdefghijklmnopqrst |
1021 | 1G abcdefghijklmnopqrst (20) | 1G abcdefghijklmnopqrst (20) |
1022 | ||
1023 | /(.{15})/ | /(.{15})/I |
1024 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1025 | Partial matching not supported | |
1026 | No options | No options |
1027 | No first char | No first char |
1028 | No need char | No need char |
# | Line 995 No need char | Line 1035 No need char |
1035 | 1C abcdefghijklmno (15) | 1C abcdefghijklmno (15) |
1036 | 1G abcdefghijklmno (15) | 1G abcdefghijklmno (15) |
1037 | ||
1038 | /(.{16})/ | /(.{16})/I |
1039 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1040 | Partial matching not supported | |
1041 | No options | No options |
1042 | No first char | No first char |
1043 | No need char | No need char |
# | Line 1006 No need char | Line 1047 No need char |
1047 | abcdefghijklmnopqrstuvwxyz\C1\G1\L | abcdefghijklmnopqrstuvwxyz\C1\G1\L |
1048 | 0: abcdefghijklmnop | 0: abcdefghijklmnop |
1049 | 1: abcdefghijklmnop | 1: abcdefghijklmnop |
1050 | copy substring 1 failed -6 | 1C abcdefghijklmnop (16) |
1051 | 1G abcdefghijklmnop (16) | 1G abcdefghijklmnop (16) |
1052 | 0L abcdefghijklmnop | 0L abcdefghijklmnop |
1053 | 1L abcdefghijklmnop | 1L abcdefghijklmnop |
1054 | ||
1055 | /^(a|(bc))de(f)/ | /^(a|(bc))de(f)/I |
1056 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1057 | Options: anchored | Options: anchored |
1058 | No first char | No first char |
1059 | Need char = 'f' | No need char |
1060 | adef\G1\G2\G3\G4\L | adef\G1\G2\G3\G4\L |
1061 | 0: adef | 0: adef |
1062 | 1: a | 1: a |
1063 | 2: <unset> | 2: <unset> |
# | Line 1029 get substring 4 failed -7 | Line 1070 get substring 4 failed -7 |
1070 | 1L a | 1L a |
1071 | 2L | 2L |
1072 | 3L f | 3L f |
1073 | bcdef\G1\G2\G3\G4\L | bcdef\G1\G2\G3\G4\L |
1074 | 0: bcdef | 0: bcdef |
1075 | 1: bc | 1: bc |
1076 | 2: bc | 2: bc |
# | Line 1042 get substring 4 failed -7 | Line 1083 get substring 4 failed -7 |
1083 | 1L bc | 1L bc |
1084 | 2L bc | 2L bc |
1085 | 3L f | 3L f |
1086 | adefghijk\C0 | adefghijk\C0 |
1087 | 0: adef | 0: adef |
1088 | 1: a | 1: a |
1089 | 2: <unset> | 2: <unset> |
1090 | 3: f | 3: f |
1091 | 0C adef (4) | 0C adef (4) |
1092 | ||
1093 | /^abc\00def/ | /^abc\00def/I |
1094 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1095 | Options: anchored | Options: anchored |
1096 | No first char | No first char |
1097 | Need char = 'f' | No need char |
1098 | abc\00def\L\C0 | abc\00def\L\C0 |
1099 | 0: abc\x00def | 0: abc\x00def |
1100 | 0C abc (7) | 0C abc (7) |
1101 | 0L abc | 0L abc |
1102 | ||
1103 | /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ | /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ |
1104 | )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ | )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ |
1105 | )?)?)?)?)?)?)?)?)?otherword/M | )?)?)?)?)?)?)?)?)?otherword/I |
Memory allocation (code space): 428 | ||
1106 | Capturing subpattern count = 8 | Capturing subpattern count = 8 |
1107 | Partial matching not supported | |
1108 | No options | No options |
1109 | First char = 'w' | First char = 'w' |
1110 | Need char = 'd' | Need char = 'd' |
1111 | ||
1112 | /.*X/D | /.*X/IDZ |
1113 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1114 | 0 8 Bra 0 | Bra 0 |
1115 | 3 Any* | Any* |
1116 | 5 1 X | X |
1117 | 8 8 Ket | Ket |
1118 | 11 End | End |
1119 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1120 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1121 | Partial matching not supported | |
1122 | No options | No options |
1123 | First char at start or follows \n | First char at start or follows newline |
1124 | Need char = 'X' | Need char = 'X' |
1125 | ||
1126 | /.*X/Ds | /.*X/IDZs |
1127 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1128 | 0 8 Bra 0 | Bra 0 |
1129 | 3 Any* | Any* |
1130 | 5 1 X | X |
1131 | 8 8 Ket | Ket |
1132 | 11 End | End |
1133 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1134 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1135 | Partial matching not supported | |
1136 | Options: anchored dotall | Options: anchored dotall |
1137 | No first char | No first char |
1138 | Need char = 'X' | Need char = 'X' |
1139 | ||
1140 | /(.*X|^B)/D | /(.*X|^B)/IDZ |
1141 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1142 | 0 21 Bra 0 | Bra 0 |
1143 | 3 8 Bra 1 | Bra 1 |
1144 | 6 Any* | Any* |
1145 | 8 1 X | X |
1146 | 11 7 Alt | Alt |
1147 | 14 ^ | ^ |
1148 | 15 1 B | B |
1149 | 18 15 Ket | Ket |
1150 | 21 21 Ket | Ket |
1151 | 24 End | End |
1152 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1153 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1154 | Partial matching not supported | |
1155 | No options | No options |
1156 | First char at start or follows \n | First char at start or follows newline |
1157 | No need char | No need char |
1158 | ||
1159 | /(.*X|^B)/Ds | /(.*X|^B)/IDZs |
1160 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1161 | 0 21 Bra 0 | Bra 0 |
1162 | 3 8 Bra 1 | Bra 1 |
1163 | 6 Any* | Any* |
1164 | 8 1 X | X |
1165 | 11 7 Alt | Alt |
1166 | 14 ^ | ^ |
1167 | 15 1 B | B |
1168 | 18 15 Ket | Ket |
1169 | 21 21 Ket | Ket |
1170 | 24 End | End |
1171 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1172 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1173 | Partial matching not supported | |
1174 | Options: anchored dotall | Options: anchored dotall |
1175 | No first char | No first char |
1176 | No need char | No need char |
1177 | ||
1178 | /(?s)(.*X|^B)/D | /(?s)(.*X|^B)/IDZ |
1179 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1180 | 0 21 Bra 0 | Bra 0 |
1181 | 3 8 Bra 1 | Bra 1 |
1182 | 6 Any* | Any* |
1183 | 8 1 X | X |
1184 | 11 7 Alt | Alt |
1185 | 14 ^ | ^ |
1186 | 15 1 B | B |
1187 | 18 15 Ket | Ket |
1188 | 21 21 Ket | Ket |
1189 | 24 End | End |
1190 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1191 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1192 | Partial matching not supported | |
1193 | Options: anchored dotall | Options: anchored dotall |
1194 | No first char | No first char |
1195 | No need char | No need char |
1196 | ||
1197 | /(?s:.*X|^B)/D | /(?s:.*X|^B)/IDZ |
1198 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1199 | 0 27 Bra 0 | Bra 0 |
1200 | 3 10 Bra 0 | Bra 0 |
1201 | 6 04 Opt | 04 Opt |
1202 | 8 Any* | Any* |
1203 | 10 1 X | X |
1204 | 13 9 Alt | Alt |
1205 | 16 04 Opt | 04 Opt |
1206 | 18 ^ | ^ |
1207 | 19 1 B | B |
1208 | 22 19 Ket | Ket |
1209 | 25 00 Opt | 00 Opt |
1210 | 27 27 Ket | Ket |
1211 | 30 End | End |
1212 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1213 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1214 | Partial matching not supported | |
1215 | No options | No options |
1216 | First char at start or follows \n | First char at start or follows newline |
1217 | No need char | No need char |
1218 | ||
1219 | /\Biss\B/+ | /\Biss\B/I+ |
1220 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1221 | No options | No options |
1222 | First char = 'i' | First char = 'i' |
# | Line 1178 Need char = 's' | Line 1225 Need char = 's' |
1225 | 0: iss | 0: iss |
1226 | 0+ issippi | 0+ issippi |
1227 | ||
1228 | /\Biss\B/+P | /\Biss\B/I+P |
1229 | Mississippi | Mississippi |
1230 | 0: iss | 0: iss |
1231 | 0+ issippi | 0+ issippi |
1232 | ||
1233 | /iss/G+ | /iss/IG+ |
1234 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1235 | No options | No options |
1236 | First char = 'i' | First char = 'i' |
# | Line 1194 Need char = 's' | Line 1241 Need char = 's' |
1241 | 0: iss | 0: iss |
1242 | 0+ ippi | 0+ ippi |
1243 | ||
1244 | /\Biss\B/G+ | /\Biss\B/IG+ |
1245 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1246 | No options | No options |
1247 | First char = 'i' | First char = 'i' |
# | Line 1203 Need char = 's' | Line 1250 Need char = 's' |
1250 | 0: iss | 0: iss |
1251 | 0+ issippi | 0+ issippi |
1252 | ||
1253 | /\Biss\B/g+ | /\Biss\B/Ig+ |
1254 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1255 | No options | No options |
1256 | First char = 'i' | First char = 'i' |
# | Line 1218 No match | Line 1265 No match |
1265 | Mississippi\A | Mississippi\A |
1266 | No match | No match |
1267 | ||
1268 | /(?<=[Ms])iss/g+ | /(?<=[Ms])iss/Ig+ |
1269 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1270 | No options | No options |
1271 | First char = 'i' | First char = 'i' |
# | Line 1229 Need char = 's' | Line 1276 Need char = 's' |
1276 | 0: iss | 0: iss |
1277 | 0+ ippi | 0+ ippi |
1278 | ||
1279 | /(?<=[Ms])iss/G+ | /(?<=[Ms])iss/IG+ |
1280 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1281 | No options | No options |
1282 | First char = 'i' | First char = 'i' |
# | Line 1238 Need char = 's' | Line 1285 Need char = 's' |
1285 | 0: iss | 0: iss |
1286 | 0+ issippi | 0+ issippi |
1287 | ||
1288 | /^iss/g+ | /^iss/Ig+ |
1289 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1290 | Options: anchored | Options: anchored |
1291 | No first char | No first char |
1292 | Need char = 's' | No need char |
1293 | ississippi | ississippi |
1294 | 0: iss | 0: iss |
1295 | 0+ issippi | 0+ issippi |
1296 | ||
1297 | /.*iss/g+ | /.*iss/Ig+ |
1298 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1299 | Partial matching not supported | |
1300 | No options | No options |
1301 | First char at start or follows \n | First char at start or follows newline |
1302 | Need char = 's' | Need char = 's' |
1303 | abciss\nxyzisspqr | abciss\nxyzisspqr |
1304 | 0: abciss | 0: abciss |
1305 | 0+ \x0axyzisspqr | 0+ \x0axyzisspqr |
1306 | 0: xyziss | 0: xyziss |
1307 | 0+ pqr | 0+ pqr |
1308 | ||
1309 | /.i./+g | /.i./I+g |
1310 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1311 | No options | No options |
1312 | No first char | No first char |
# | Line 1284 Need char = 'i' | Line 1332 Need char = 'i' |
1332 | 0+ river | 0+ river |
1333 | 0: riv | 0: riv |
1334 | 0+ er | 0+ er |
1335 | Missouri river\A | Missouri river\A |
1336 | 0: Mis | 0: Mis |
1337 | 0+ souri river | 0+ souri river |
1338 | ||
1339 | /^.is/+g | /^.is/I+g |
1340 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1341 | Options: anchored | Options: anchored |
1342 | No first char | No first char |
1343 | Need char = 's' | No need char |
1344 | Mississippi | Mississippi |
1345 | 0: Mis | 0: Mis |
1346 | 0+ sissippi | 0+ sissippi |
1347 | ||
1348 | /^ab\n/g+ | /^ab\n/Ig+ |
1349 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1350 | Options: anchored | Options: anchored |
1351 | No first char | No first char |
1352 | Need char = 10 | No need char |
1353 | ab\nab\ncd | ab\nab\ncd |
1354 | 0: ab\x0a | 0: ab\x0a |
1355 | 0+ ab\x0acd | 0+ ab\x0acd |
1356 | ||
1357 | /^ab\n/mg+ | /^ab\n/Img+ |
1358 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1359 | Options: multiline | Options: multiline |
1360 | First char at start or follows \n | First char at start or follows newline |
1361 | Need char = 10 | Need char = 10 |
1362 | ab\nab\ncd | ab\nab\ncd |
1363 | 0: ab\x0a | 0: ab\x0a |
# | Line 1317 Need char = 10 | Line 1365 Need char = 10 |
1365 | 0: ab\x0a | 0: ab\x0a |
1366 | 0+ cd | 0+ cd |
1367 | ||
1368 | /abc/ | /abc/I |
1369 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1370 | No options | No options |
1371 | First char = 'a' | First char = 'a' |
1372 | Need char = 'c' | Need char = 'c' |
1373 | ||
1374 | /abc|bac/ | /abc|bac/I |
1375 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1376 | No options | No options |
1377 | No first char | No first char |
1378 | Need char = 'c' | Need char = 'c' |
1379 | ||
1380 | /(abc|bac)/ | /(abc|bac)/I |
1381 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1382 | No options | No options |
1383 | No first char | No first char |
1384 | Need char = 'c' | Need char = 'c' |
1385 | ||
1386 | /(abc|(c|dc))/ | /(abc|(c|dc))/I |
1387 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
1388 | No options | No options |
1389 | No first char | No first char |
1390 | Need char = 'c' | Need char = 'c' |
1391 | ||
1392 | /(abc|(d|de)c)/ | /(abc|(d|de)c)/I |
1393 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
1394 | No options | No options |
1395 | No first char | No first char |
1396 | Need char = 'c' | Need char = 'c' |
1397 | ||
1398 | /a*/ | /a*/I |
1399 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1400 | Partial matching not supported | |
1401 | No options | No options |
1402 | No first char | No first char |
1403 | No need char | No need char |
1404 | ||
1405 | /a+/ | /a+/I |
1406 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1407 | Partial matching not supported | |
1408 | No options | No options |
1409 | First char = 'a' | First char = 'a' |
1410 | No need char | No need char |
1411 | ||
1412 | /(baa|a+)/ | /(baa|a+)/I |
1413 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1414 | Partial matching not supported | |
1415 | No options | No options |
1416 | No first char | No first char |
1417 | Need char = 'a' | Need char = 'a' |
1418 | ||
1419 | /a{0,3}/ | /a{0,3}/I |
1420 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1421 | Partial matching not supported | |
1422 | No options | No options |
1423 | No first char | No first char |
1424 | No need char | No need char |
1425 | ||
1426 | /baa{3,}/ | /baa{3,}/I |
1427 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1428 | Partial matching not supported | |
1429 | No options | No options |
1430 | First char = 'b' | First char = 'b' |
1431 | Need char = 'a' | Need char = 'a' |
1432 | ||
1433 | /"([^\\"]+|\\.)*"/ | /"([^\\"]+|\\.)*"/I |
1434 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1435 | Partial matching not supported | |
1436 | No options | No options |
1437 | First char = '"' | First char = '"' |
1438 | Need char = '"' | Need char = '"' |
1439 | ||
1440 | /(abc|ab[cd])/ | /(abc|ab[cd])/I |
1441 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1442 | No options | No options |
1443 | First char = 'a' | First char = 'a' |
1444 | No need char | No need char |
1445 | ||
1446 | /(a|.)/ | /(a|.)/I |
1447 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1448 | No options | No options |
1449 | No first char | No first char |
1450 | No need char | No need char |
1451 | ||
1452 | /a|ba|\w/ | /a|ba|\w/I |
1453 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1454 | No options | No options |
1455 | No first char | No first char |
1456 | No need char | No need char |
1457 | ||
1458 | /abc(?=pqr)/ | /abc(?=pqr)/I |
1459 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1460 | No options | No options |
1461 | First char = 'a' | First char = 'a' |
1462 | Need char = 'r' | Need char = 'r' |
1463 | ||
1464 | /...(?<=abc)/ | /...(?<=abc)/I |
1465 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1466 | No options | No options |
1467 | No first char | No first char |
1468 | No need char | No need char |
1469 | ||
1470 | /abc(?!pqr)/ | /abc(?!pqr)/I |
1471 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1472 | No options | No options |
1473 | First char = 'a' | First char = 'a' |
1474 | Need char = 'c' | Need char = 'c' |
1475 | ||
1476 | /ab./ | /ab./I |
1477 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1478 | No options | No options |
1479 | First char = 'a' | First char = 'a' |
1480 | Need char = 'b' | Need char = 'b' |
1481 | ||
1482 | /ab[xyz]/ | /ab[xyz]/I |
1483 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1484 | No options | No options |
1485 | First char = 'a' | First char = 'a' |
1486 | Need char = 'b' | Need char = 'b' |
1487 | ||
1488 | /abc*/ | /abc*/I |
1489 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1490 | Partial matching not supported | |
1491 | No options | No options |
1492 | First char = 'a' | First char = 'a' |
1493 | Need char = 'b' | Need char = 'b' |
1494 | ||
1495 | /ab.c*/ | /ab.c*/I |
1496 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1497 | Partial matching not supported | |
1498 | No options | No options |
1499 | First char = 'a' | First char = 'a' |
1500 | Need char = 'b' | Need char = 'b' |
1501 | ||
1502 | /a.c*/ | /a.c*/I |
1503 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1504 | Partial matching not supported | |
1505 | No options | No options |
1506 | First char = 'a' | First char = 'a' |
1507 | No need char | No need char |
1508 | ||
1509 | /.c*/ | /.c*/I |
1510 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1511 | Partial matching not supported | |
1512 | No options | No options |
1513 | No first char | No first char |
1514 | No need char | No need char |
1515 | ||
1516 | /ac*/ | /ac*/I |
1517 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1518 | Partial matching not supported | |
1519 | No options | No options |
1520 | First char = 'a' | First char = 'a' |
1521 | No need char | No need char |
1522 | ||
1523 | /(a.c*|b.c*)/ | /(a.c*|b.c*)/I |
1524 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1525 | Partial matching not supported | |
1526 | No options | No options |
1527 | No first char | No first char |
1528 | No need char | No need char |
1529 | ||
1530 | /a.c*|aba/ | /a.c*|aba/I |
1531 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1532 | Partial matching not supported | |
1533 | No options | No options |
1534 | First char = 'a' | First char = 'a' |
1535 | No need char | No need char |
1536 | ||
1537 | /.+a/ | /.+a/I |
1538 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1539 | Partial matching not supported | |
1540 | No options | No options |
1541 | No first char | No first char |
1542 | Need char = 'a' | Need char = 'a' |
1543 | ||
1544 | /(?=abcda)a.*/ | /(?=abcda)a.*/I |
1545 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1546 | Partial matching not supported | |
1547 | No options | No options |
1548 | First char = 'a' | First char = 'a' |
1549 | No need char | Need char = 'a' |
1550 | ||
1551 | /(?=a)a.*/ | /(?=a)a.*/I |
1552 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1553 | Partial matching not supported | |
1554 | No options | No options |
1555 | First char = 'a' | First char = 'a' |
1556 | No need char | No need char |
1557 | ||
1558 | /a(b)*/ | /a(b)*/I |
1559 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1560 | No options | No options |
1561 | First char = 'a' | First char = 'a' |
1562 | No need char | No need char |
1563 | ||
1564 | /a\d*/ | /a\d*/I |
1565 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1566 | Partial matching not supported | |
1567 | No options | No options |
1568 | First char = 'a' | First char = 'a' |
1569 | No need char | No need char |
1570 | ||
1571 | /ab\d*/ | /ab\d*/I |
1572 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1573 | Partial matching not supported | |
1574 | No options | No options |
1575 | First char = 'a' | First char = 'a' |
1576 | Need char = 'b' | Need char = 'b' |
1577 | ||
1578 | /a(\d)*/ | /a(\d)*/I |
1579 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1580 | No options | No options |
1581 | First char = 'a' | First char = 'a' |
1582 | No need char | No need char |
1583 | ||
1584 | /abcde{0,0}/ | /abcde{0,0}/I |
1585 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1586 | No options | No options |
1587 | First char = 'a' | First char = 'a' |
1588 | Need char = 'd' | Need char = 'd' |
1589 | ||
1590 | /ab\d+/ | /ab\d+/I |
1591 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1592 | Partial matching not supported | |
1593 | No options | No options |
1594 | First char = 'a' | First char = 'a' |
1595 | Need char = 'b' | Need char = 'b' |
1596 | ||
1597 | /a(?(1)b)/ | /a(?(1)b)/I |
1598 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1599 | No options | No options |
1600 | First char = 'a' | First char = 'a' |
1601 | No need char | No need char |
1602 | ||
1603 | /a(?(1)bag|big)/ | /a(?(1)bag|big)/I |
1604 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1605 | No options | No options |
1606 | First char = 'a' | First char = 'a' |
1607 | Need char = 'g' | Need char = 'g' |
1608 | ||
1609 | /a(?(1)bag|big)*/ | /a(?(1)bag|big)*/I |
1610 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1611 | No options | No options |
1612 | First char = 'a' | First char = 'a' |
1613 | No need char | No need char |
1614 | ||
1615 | /a(?(1)bag|big)+/ | /a(?(1)bag|big)+/I |
1616 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1617 | No options | No options |
1618 | First char = 'a' | First char = 'a' |
1619 | Need char = 'g' | Need char = 'g' |
1620 | ||
1621 | /a(?(1)b..|b..)/ | /a(?(1)b..|b..)/I |
1622 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1623 | No options | No options |
1624 | First char = 'a' | First char = 'a' |
1625 | Need char = 'b' | Need char = 'b' |
1626 | ||
1627 | /ab\d{0}e/ | /ab\d{0}e/I |
1628 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1629 | No options | No options |
1630 | First char = 'a' | First char = 'a' |
1631 | Need char = 'e' | Need char = 'e' |
1632 | ||
1633 | /a?b?/ | /a?b?/I |
1634 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1635 | No options | No options |
1636 | No first char | No first char |
# | Line 1578 No need char | Line 1645 No need char |
1645 | 0: | 0: |
1646 | *** Failers | *** Failers |
1647 | 0: | 0: |
1648 | \N | \N |
1649 | No match | No match |
1650 | ||
1651 | /|-/ | /|-/I |
1652 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1653 | No options | No options |
1654 | No first char | No first char |
# | Line 1594 No need char | Line 1661 No need char |
1661 | 0: - | 0: - |
1662 | *** Failers | *** Failers |
1663 | 0: | 0: |
1664 | \Nabc | \Nabc |
1665 | No match | No match |
1666 | ||
1667 | /a*(b+)(z)(z)/P | /a*(b+)(z)(z)/IP |
1668 | aaaabbbbzzzz | aaaabbbbzzzz |
1669 | 0: aaaabbbbzz | 0: aaaabbbbzz |
1670 | 1: bbbb | 1: bbbb |
# | Line 1623 No match | Line 1690 No match |
1690 | 1: bbbb | 1: bbbb |
1691 | 2: z | 2: z |
1692 | 3: z | 3: z |
1693 | ||
1694 | /^.?abcd/S | /^.?abcd/IS |
1695 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1696 | Options: anchored | Options: anchored |
1697 | No first char | No first char |
# | Line 1638 Study returned NULL | Line 1705 Study returned NULL |
1705 | (?R) # Recurse - i.e. nested bracketed string | (?R) # Recurse - i.e. nested bracketed string |
1706 | )* # Zero or more contents | )* # Zero or more contents |
1707 | \) # Closing ) | \) # Closing ) |
1708 | /x | /Ix |
1709 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1710 | Partial matching not supported | |
1711 | Options: extended | Options: extended |
1712 | First char = '(' | First char = '(' |
1713 | Need char = ')' | Need char = ')' |
# | Line 1649 Need char = ')' | Line 1717 Need char = ')' |
1717 | 0: (abcd) | 0: (abcd) |
1718 | xyz(abcd) | xyz(abcd) |
1719 | 0: (abcd) | 0: (abcd) |
1720 | (ab(xy)cd)pqr | (ab(xy)cd)pqr |
1721 | 0: (ab(xy)cd) | 0: (ab(xy)cd) |
1722 | (ab(xycd)pqr | (ab(xycd)pqr |
1723 | 0: (xycd) | 0: (xycd) |
1724 | () abc () | () abc () |
1725 | 0: () | 0: () |
1726 | 12(abcde(fsh)xyz(foo(bar))lmno)89 | 12(abcde(fsh)xyz(foo(bar))lmno)89 |
1727 | 0: (abcde(fsh)xyz(foo(bar))lmno) | 0: (abcde(fsh)xyz(foo(bar))lmno) |
1728 | *** Failers | *** Failers |
1729 | No match | No match |
1730 | abcd | abcd |
1731 | No match | No match |
1732 | abcd) | abcd) |
1733 | No match | No match |
1734 | (abcd | (abcd |
1735 | No match | No match |
1736 | ||
1737 | /\( ( (?>[^()]+) | (?R) )* \) /xg | /\( ( (?>[^()]+) | (?R) )* \) /Ixg |
1738 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1739 | Partial matching not supported | |
1740 | Options: extended | Options: extended |
1741 | First char = '(' | First char = '(' |
1742 | Need char = ')' | Need char = ')' |
1743 | (ab(xy)cd)pqr | (ab(xy)cd)pqr |
1744 | 0: (ab(xy)cd) | 0: (ab(xy)cd) |
1745 | 1: cd | 1: cd |
1746 | 1(abcd)(x(y)z)pqr | 1(abcd)(x(y)z)pqr |
# | Line 1680 Need char = ')' | Line 1749 Need char = ')' |
1749 | 0: (x(y)z) | 0: (x(y)z) |
1750 | 1: z | 1: z |
1751 | ||
1752 | /\( (?: (?>[^()]+) | (?R) ) \) /x | /\( (?: (?>[^()]+) | (?R) ) \) /Ix |
1753 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1754 | Partial matching not supported | |
1755 | Options: extended | Options: extended |
1756 | First char = '(' | First char = '(' |
1757 | Need char = ')' | Need char = ')' |
# | Line 1689 Need char = ')' | Line 1759 Need char = ')' |
1759 | 0: (abcd) | 0: (abcd) |
1760 | (ab(xy)cd) | (ab(xy)cd) |
1761 | 0: (xy) | 0: (xy) |
1762 | (a(b(c)d)e) | (a(b(c)d)e) |
1763 | 0: (c) | 0: (c) |
1764 | ((ab)) | ((ab)) |
1765 | 0: ((ab)) | 0: ((ab)) |
1766 | *** Failers | *** Failers |
1767 | No match | No match |
1768 | () | () |
1769 | No match | No match |
1770 | ||
1771 | /\( (?: (?>[^()]+) | (?R) )? \) /x | /\( (?: (?>[^()]+) | (?R) )? \) /Ix |
1772 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1773 | Partial matching not supported | |
1774 | Options: extended | Options: extended |
1775 | First char = '(' | First char = '(' |
1776 | Need char = ')' | Need char = ')' |
# | Line 1708 Need char = ')' | Line 1779 Need char = ')' |
1779 | 12(abcde(fsh)xyz(foo(bar))lmno)89 | 12(abcde(fsh)xyz(foo(bar))lmno)89 |
1780 | 0: (fsh) | 0: (fsh) |
1781 | ||
1782 | /\( ( (?>[^()]+) | (?R) )* \) /x | /\( ( (?>[^()]+) | (?R) )* \) /Ix |
1783 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1784 | Partial matching not supported | |
1785 | Options: extended | Options: extended |
1786 | First char = '(' | First char = '(' |
1787 | Need char = ')' | Need char = ')' |
# | Line 1717 Need char = ')' | Line 1789 Need char = ')' |
1789 | 0: (ab(xy)cd) | 0: (ab(xy)cd) |
1790 | 1: cd | 1: cd |
1791 | ||
1792 | /\( ( ( (?>[^()]+) | (?R) )* ) \) /x | /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
1793 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
1794 | Partial matching not supported | |
1795 | Options: extended | Options: extended |
1796 | First char = '(' | First char = '(' |
1797 | Need char = ')' | Need char = ')' |
# | Line 1727 Need char = ')' | Line 1800 Need char = ')' |
1800 | 1: ab(xy)cd | 1: ab(xy)cd |
1801 | 2: cd | 2: cd |
1802 | ||
1803 | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
1804 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1805 | Partial matching not supported | |
1806 | Options: extended | Options: extended |
1807 | First char = '(' | First char = '(' |
1808 | Need char = ')' | Need char = ')' |
# | Line 1743 Need char = ')' | Line 1817 Need char = ')' |
1817 | 2: ab(xy)cd | 2: ab(xy)cd |
1818 | 3: cd | 3: cd |
1819 | ||
1820 | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix |
1821 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1822 | Partial matching not supported | |
1823 | Options: extended | Options: extended |
1824 | First char = '(' | First char = '(' |
1825 | Need char = ')' | Need char = ')' |
# | Line 1759 Need char = ')' | Line 1834 Need char = ')' |
1834 | 2: 123 | 2: 123 |
1835 | 3: cd | 3: cd |
1836 | ||
1837 | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix |
1838 | Capturing subpattern count = 11 | Capturing subpattern count = 11 |
1839 | Partial matching not supported | |
1840 | Options: extended | Options: extended |
1841 | First char = '(' | First char = '(' |
1842 | Need char = ')' | Need char = ')' |
# | Line 1778 Need char = ')' | Line 1854 Need char = ')' |
1854 | 10: ab(xy)cd | 10: ab(xy)cd |
1855 | 11: cd | 11: cd |
1856 | ||
1857 | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix |
1858 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1859 | Partial matching not supported | |
1860 | Options: extended | Options: extended |
1861 | First char = '(' | First char = '(' |
1862 | Need char = ')' | Need char = ')' |
# | Line 1787 Need char = ')' | Line 1864 Need char = ')' |
1864 | 0: (abcd(xyz<p>qrs)123) | 0: (abcd(xyz<p>qrs)123) |
1865 | 1: abcd(xyz<p>qrs)123 | 1: abcd(xyz<p>qrs)123 |
1866 | 2: 123 | 2: 123 |
1867 | 3: <p>qrs | 3: <unset> |
1868 | ||
1869 | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix |
1870 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1871 | Partial matching not supported | |
1872 | Options: extended | Options: extended |
1873 | First char = '(' | First char = '(' |
1874 | Need char = ')' | Need char = ')' |
# | Line 1805 Need char = ')' | Line 1883 Need char = ')' |
1883 | 2: ij | 2: ij |
1884 | 3: (cd(ef)gh) | 3: (cd(ef)gh) |
1885 | ||
1886 | /^[[:alnum:]]/D | /^[[:alnum:]]/DZ |
1887 | ------------------------------------------------------------------ | |
1888 | Bra 0 | |
1889 | ^ | |
1890 | [0-9A-Za-z] | |
1891 | Ket | |
1892 | End | |
1893 | ------------------------------------------------------------------ | |
1894 | Capturing subpattern count = 0 | |
1895 | Options: anchored | |
1896 | No first char | |
1897 | No need char | |
1898 | ||
1899 | /^[[:^alnum:]]/DZ | |
1900 | ------------------------------------------------------------------ | |
1901 | Bra 0 | |
1902 | ^ | |
1903 | [\x00-/:-@[-`{-\xff] | |
1904 | Ket | |
1905 | End | |
1906 | ------------------------------------------------------------------ | |
1907 | Capturing subpattern count = 0 | |
1908 | Options: anchored | |
1909 | No first char | |
1910 | No need char | |
1911 | ||
1912 | /^[[:alpha:]]/DZ | |
1913 | ------------------------------------------------------------------ | |
1914 | Bra 0 | |
1915 | ^ | |
1916 | [A-Za-z] | |
1917 | Ket | |
1918 | End | |
1919 | ------------------------------------------------------------------ | |
1920 | Capturing subpattern count = 0 | |
1921 | Options: anchored | |
1922 | No first char | |
1923 | No need char | |
1924 | ||
1925 | /^[[:^alpha:]]/DZ | |
1926 | ------------------------------------------------------------------ | |
1927 | Bra 0 | |
1928 | ^ | |
1929 | [\x00-@[-`{-\xff] | |
1930 | Ket | |
1931 | End | |
1932 | ------------------------------------------------------------------ | |
1933 | Capturing subpattern count = 0 | |
1934 | Options: anchored | |
1935 | No first char | |
1936 | No need char | |
1937 | ||
1938 | /[_[:alpha:]]/IS | |
1939 | Capturing subpattern count = 0 | |
1940 | No options | |
1941 | No first char | |
1942 | No need char | |
1943 | Starting byte set: 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 Z | |
1944 | _ 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 z | |
1945 | ||
1946 | /^[[:ascii:]]/DZ | |
1947 | ------------------------------------------------------------------ | |
1948 | Bra 0 | |
1949 | ^ | |
1950 | [\x00-\x7f] | |
1951 | Ket | |
1952 | End | |
1953 | ------------------------------------------------------------------ | |
1954 | Capturing subpattern count = 0 | |
1955 | Options: anchored | |
1956 | No first char | |
1957 | No need char | |
1958 | ||
1959 | /^[[:^ascii:]]/DZ | |
1960 | ------------------------------------------------------------------ | |
1961 | Bra 0 | |
1962 | ^ | |
1963 | [\x80-\xff] | |
1964 | Ket | |
1965 | End | |
1966 | ------------------------------------------------------------------ | |
1967 | Capturing subpattern count = 0 | |
1968 | Options: anchored | |
1969 | No first char | |
1970 | No need char | |
1971 | ||
1972 | /^[[:blank:]]/DZ | |
1973 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1974 | 0 37 Bra 0 | Bra 0 |
1975 | 3 ^ | ^ |
1976 | 4 [0-9A-Za-z] | [\x09 ] |
1977 | 37 37 Ket | Ket |
1978 | 40 End | End |
1979 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1980 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1981 | Options: anchored | Options: anchored |
1982 | No first char | No first char |
1983 | No need char | No need char |
1984 | ||
1985 | /^[[:alpha:]]/D | /^[[:^blank:]]/DZ |
1986 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1987 | 0 37 Bra 0 | Bra 0 |
1988 | 3 ^ | ^ |
1989 | 4 [A-Za-z] | [\x00-\x08\x0a-\x1f!-\xff] |
1990 | 37 37 Ket | Ket |
1991 | 40 End | End |
1992 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1993 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1994 | Options: anchored | Options: anchored |
1995 | No first char | No first char |
1996 | No need char | No need char |
1997 | ||
1998 | /^[[:ascii:]]/D | /[\n\x0b\x0c\x0d[:blank:]]/IS |
1999 | Capturing subpattern count = 0 | |
2000 | No options | |
2001 | No first char | |
2002 | No need char | |
2003 | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 | |
2004 | ||
2005 | /^[[:cntrl:]]/DZ | |
2006 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2007 | 0 37 Bra 0 | Bra 0 |
2008 | 3 ^ | ^ |
2009 | 4 [\x00-\x7f] | [\x00-\x1f\x7f] |
2010 | 37 37 Ket | Ket |
2011 | 40 End | End |
2012 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2013 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2014 | Options: anchored | Options: anchored |
2015 | No first char | No first char |
2016 | No need char | No need char |
2017 | ||
2018 | /^[[:cntrl:]]/D | /^[[:digit:]]/DZ |
2019 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2020 | 0 37 Bra 0 | Bra 0 |
2021 | 3 ^ | ^ |
2022 | 4 [\x00-\x1f\x7f] | [0-9] |
2023 | 37 37 Ket | Ket |
2024 | 40 End | End |
2025 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2026 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2027 | Options: anchored | Options: anchored |
2028 | No first char | No first char |
2029 | No need char | No need char |
2030 | ||
2031 | /^[[:digit:]]/D | /^[[:graph:]]/DZ |
2032 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2033 | 0 37 Bra 0 | Bra 0 |
2034 | 3 ^ | ^ |
2035 | 4 [0-9] | [!-~] |
2036 | 37 37 Ket | Ket |
2037 | 40 End | End |
2038 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2039 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2040 | Options: anchored | Options: anchored |
2041 | No first char | No first char |
2042 | No need char | No need char |
2043 | ||
2044 | /^[[:graph:]]/D | /^[[:lower:]]/DZ |
2045 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2046 | 0 37 Bra 0 | Bra 0 |
2047 | 3 ^ | ^ |
2048 | 4 [!-~] | [a-z] |
2049 | 37 37 Ket | Ket |
2050 | 40 End | End |
2051 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2052 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2053 | Options: anchored | Options: anchored |
2054 | No first char | No first char |
2055 | No need char | No need char |
2056 | ||
2057 | /^[[:lower:]]/D | /^[[:print:]]/DZ |
2058 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2059 | 0 37 Bra 0 | Bra 0 |
2060 | 3 ^ | ^ |
2061 | 4 [a-z] | [ -~] |
2062 | 37 37 Ket | Ket |
2063 | 40 End | End |
2064 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2065 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2066 | Options: anchored | Options: anchored |
2067 | No first char | No first char |
2068 | No need char | No need char |
2069 | ||
2070 | /^[[:print:]]/D | /^[[:punct:]]/DZ |
2071 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2072 | 0 37 Bra 0 | Bra 0 |
2073 | 3 ^ | ^ |
2074 | 4 [ -~] | [!-/:-@[-`{-~] |
2075 | 37 37 Ket | Ket |
2076 | 40 End | End |
2077 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2078 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2079 | Options: anchored | Options: anchored |
2080 | No first char | No first char |
2081 | No need char | No need char |
2082 | ||
2083 | /^[[:punct:]]/D | /^[[:space:]]/DZ |
2084 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2085 | 0 37 Bra 0 | Bra 0 |
2086 | 3 ^ | ^ |
2087 | 4 [!-/:-@[-`{-~] | [\x09-\x0d ] |
2088 | 37 37 Ket | Ket |
2089 | 40 End | End |
2090 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2091 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2092 | Options: anchored | Options: anchored |
2093 | No first char | No first char |
2094 | No need char | No need char |
2095 | ||
2096 | /^[[:space:]]/D | /^[[:upper:]]/DZ |
2097 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2098 | 0 37 Bra 0 | Bra 0 |
2099 | 3 ^ | ^ |
2100 | 4 [\x09-\x0d ] | [A-Z] |
2101 | 37 37 Ket | Ket |
2102 | 40 End | End |
2103 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2104 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2105 | Options: anchored | Options: anchored |
2106 | No first char | No first char |
2107 | No need char | No need char |
2108 | ||
2109 | /^[[:upper:]]/D | /^[[:xdigit:]]/DZ |
2110 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2111 | 0 37 Bra 0 | Bra 0 |
2112 | 3 ^ | ^ |
2113 | 4 [A-Z] | [0-9A-Fa-f] |
2114 | 37 37 Ket | Ket |
2115 | 40 End | End |
2116 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2117 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2118 | Options: anchored | Options: anchored |
2119 | No first char | No first char |
2120 | No need char | No need char |
2121 | ||
2122 | /^[[:xdigit:]]/D | /^[[:word:]]/DZ |
2123 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2124 | 0 37 Bra 0 | Bra 0 |
2125 | 3 ^ | ^ |
2126 | 4 [0-9A-Fa-f] | [0-9A-Z_a-z] |
2127 | 37 37 Ket | Ket |
2128 | 40 End | End |
2129 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2130 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2131 | Options: anchored | Options: anchored |
2132 | No first char | No first char |
2133 | No need char | No need char |
2134 | ||
2135 | /^[[:word:]]/D | /^[[:^cntrl:]]/DZ |
2136 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2137 | 0 37 Bra 0 | Bra 0 |
2138 | 3 ^ | ^ |
2139 | 4 [0-9A-Z_a-z] | [ -~\x80-\xff] |
2140 | 37 37 Ket | Ket |
2141 | 40 End | End |
2142 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2143 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2144 | Options: anchored | Options: anchored |
2145 | No first char | No first char |
2146 | No need char | No need char |
2147 | ||
2148 | /^[[:^cntrl:]]/D | /^[12[:^digit:]]/DZ |
2149 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2150 | 0 37 Bra 0 | Bra 0 |
2151 | 3 ^ | ^ |
2152 | 4 [ -~\x80-\xff] | [\x00-/12:-\xff] |
2153 | 37 37 Ket | Ket |
2154 | 40 End | End |
2155 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2156 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2157 | Options: anchored | Options: anchored |
2158 | No first char | No first char |
2159 | No need char | No need char |
2160 | ||
2161 | /^[12[:^digit:]]/D | /^[[:^blank:]]/DZ |
2162 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2163 | 0 37 Bra 0 | Bra 0 |
2164 | 3 ^ | ^ |
2165 | 4 [\x00-/1-2:-\xff] | [\x00-\x08\x0a-\x1f!-\xff] |
2166 | 37 37 Ket | Ket |
2167 | 40 End | End |
2168 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2169 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2170 | Options: anchored | Options: anchored |
2171 | No first char | No first char |
2172 | No need char | No need char |
2173 | ||
2174 | /[01[:alpha:]%]/D | /[01[:alpha:]%]/DZ |
2175 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2176 | 0 36 Bra 0 | Bra 0 |
2177 | 3 [%0-1A-Za-z] | [%01A-Za-z] |
2178 | 36 36 Ket | Ket |
2179 | 39 End | End |
2180 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2181 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2182 | No options | No options |
2183 | No first char | No first char |
2184 | No need char | No need char |
2185 | ||
2186 | /[[.ch.]]/ | /[[.ch.]]/I |
2187 | Failed: POSIX collating elements are not supported at offset 1 | Failed: POSIX collating elements are not supported at offset 1 |
2188 | ||
2189 | /[[=ch=]]/ | /[[=ch=]]/I |
2190 | Failed: POSIX collating elements are not supported at offset 1 | Failed: POSIX collating elements are not supported at offset 1 |
2191 | ||
2192 | /[[:rhubarb:]]/ | /[[:rhubarb:]]/I |
2193 | Failed: unknown POSIX class name at offset 3 | Failed: unknown POSIX class name at offset 3 |
2194 | ||
2195 | /[[:upper:]]/i | /[[:upper:]]/Ii |
2196 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2197 | Options: caseless | Options: caseless |
2198 | No first char | No first char |
2199 | No need char | No need char |
2200 | A | A |
2201 | 0: A | 0: A |
2202 | a | a |
2203 | 0: a | 0: a |
2204 | ||
2205 | /[[:lower:]]/i | /[[:lower:]]/Ii |
2206 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2207 | Options: caseless | Options: caseless |
2208 | No first char | No first char |
2209 | No need char | No need char |
2210 | A | A |
2211 | 0: A | 0: A |
2212 | a | a |
2213 | 0: a | 0: a |
2214 | ||
2215 | /((?-i)[[:lower:]])[[:lower:]]/i | /((?-i)[[:lower:]])[[:lower:]]/Ii |
2216 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2217 | Options: caseless | Options: caseless |
Case state changes | ||
2218 | No first char | No first char |
2219 | No need char | No need char |
2220 | ab | ab |
# | Line 2058 No need char | Line 2228 No need char |
2228 | 1: a | 1: a |
2229 | Ab | Ab |
2230 | No match | No match |
2231 | AB | AB |
2232 | No match | No match |
2233 | ||
2234 | /[\200-\410]/ | /[\200-\110]/I |
2235 | Failed: range out of order in character class at offset 9 | Failed: range out of order in character class at offset 9 |
2236 | ||
2237 | /^(?(0)f|b)oo/ | /^(?(0)f|b)oo/I |
2238 | Failed: invalid condition (?(0) at offset 5 | Failed: invalid condition (?(0) at offset 6 |
2239 | ||
2240 | /This one's here because of the large output vector needed/ | /This one's here because of the large output vector needed/I |
2241 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2242 | No options | No options |
2243 | First char = 'T' | First char = 'T' |
2244 | Need char = 'd' | Need char = 'd' |
2245 | ||
2246 | /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/ | /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I |
2247 | Capturing subpattern count = 271 | Capturing subpattern count = 271 |
2248 | Max back reference = 270 | Max back reference = 270 |
2249 | Partial matching not supported | |
2250 | No options | No options |
2251 | No first char | No first char |
2252 | No need char | No need char |
# | Line 2353 No need char | Line 2524 No need char |
2524 | 270: ABC | 270: ABC |
2525 | 271: ABC | 271: ABC |
2526 | ||
2527 | /This one's here because Perl does this differently and PCRE can't at present/ | /This one's here because Perl does this differently and PCRE can't at present/I |
2528 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2529 | No options | No options |
2530 | First char = 'T' | First char = 'T' |
2531 | Need char = 't' | Need char = 't' |
2532 | ||
2533 | /(main(O)?)+/ | /(main(O)?)+/I |
2534 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
2535 | No options | No options |
2536 | First char = 'm' | First char = 'm' |
# | Line 2371 Need char = 'n' | Line 2542 Need char = 'n' |
2542 | 0: mainOmain | 0: mainOmain |
2543 | 1: main | 1: main |
2544 | 2: O | 2: O |
2545 | ||
2546 | / End of testinput2 / | /These are all cases where Perl does it differently (nested captures)/I |
2547 | Capturing subpattern count = 1 | |
2548 | No options | |
2549 | First char = 'T' | |
2550 | Need char = 's' | |
2551 | ||
2552 | /^(a(b)?)+$/I | |
2553 | Capturing subpattern count = 2 | |
2554 | Options: anchored | |
2555 | No first char | |
2556 | No need char | |
2557 | aba | |
2558 | 0: aba | |
2559 | 1: a | |
2560 | 2: b | |
2561 | ||
2562 | /^(aa(bb)?)+$/I | |
2563 | Capturing subpattern count = 2 | |
2564 | Options: anchored | |
2565 | No first char | |
2566 | No need char | |
2567 | aabbaa | |
2568 | 0: aabbaa | |
2569 | 1: aa | |
2570 | 2: bb | |
2571 | ||
2572 | /^(aa|aa(bb))+$/I | |
2573 | Capturing subpattern count = 2 | |
2574 | Options: anchored | |
2575 | No first char | |
2576 | No need char | |
2577 | aabbaa | |
2578 | 0: aabbaa | |
2579 | 1: aa | |
2580 | 2: bb | |
2581 | ||
2582 | /^(aa(bb)??)+$/I | |
2583 | Capturing subpattern count = 2 | |
2584 | Options: anchored | |
2585 | No first char | |
2586 | No need char | |
2587 | aabbaa | |
2588 | 0: aabbaa | |
2589 | 1: aa | |
2590 | 2: bb | |
2591 | ||
2592 | /^(?:aa(bb)?)+$/I | |
2593 | Capturing subpattern count = 1 | |
2594 | Options: anchored | |
2595 | No first char | |
2596 | No need char | |
2597 | aabbaa | |
2598 | 0: aabbaa | |
2599 | 1: bb | |
2600 | ||
2601 | /^(aa(b(b))?)+$/I | |
2602 | Capturing subpattern count = 3 | |
2603 | Options: anchored | |
2604 | No first char | |
2605 | No need char | |
2606 | aabbaa | |
2607 | 0: aabbaa | |
2608 | 1: aa | |
2609 | 2: bb | |
2610 | 3: b | |
2611 | ||
2612 | /^(?:aa(b(b))?)+$/I | |
2613 | Capturing subpattern count = 2 | |
2614 | Options: anchored | |
2615 | No first char | |
2616 | No need char | |
2617 | aabbaa | |
2618 | 0: aabbaa | |
2619 | 1: bb | |
2620 | 2: b | |
2621 | ||
2622 | /^(?:aa(b(?:b))?)+$/I | |
2623 | Capturing subpattern count = 1 | |
2624 | Options: anchored | |
2625 | No first char | |
2626 | No need char | |
2627 | aabbaa | |
2628 | 0: aabbaa | |
2629 | 1: bb | |
2630 | ||
2631 | /^(?:aa(bb(?:b))?)+$/I | |
2632 | Capturing subpattern count = 1 | |
2633 | Options: anchored | |
2634 | No first char | |
2635 | No need char | |
2636 | aabbbaa | |
2637 | 0: aabbbaa | |
2638 | 1: bbb | |
2639 | ||
2640 | /^(?:aa(b(?:bb))?)+$/I | |
2641 | Capturing subpattern count = 1 | |
2642 | Options: anchored | |
2643 | No first char | |
2644 | No need char | |
2645 | aabbbaa | |
2646 | 0: aabbbaa | |
2647 | 1: bbb | |
2648 | ||
2649 | /^(?:aa(?:b(b))?)+$/I | |
2650 | Capturing subpattern count = 1 | |
2651 | Options: anchored | |
2652 | No first char | |
2653 | No need char | |
2654 | aabbaa | |
2655 | 0: aabbaa | |
2656 | 1: b | |
2657 | ||
2658 | /^(?:aa(?:b(bb))?)+$/I | |
2659 | Capturing subpattern count = 1 | |
2660 | Options: anchored | |
2661 | No first char | |
2662 | No need char | |
2663 | aabbbaa | |
2664 | 0: aabbbaa | |
2665 | 1: bb | |
2666 | ||
2667 | /^(aa(b(bb))?)+$/I | |
2668 | Capturing subpattern count = 3 | |
2669 | Options: anchored | |
2670 | No first char | |
2671 | No need char | |
2672 | aabbbaa | |
2673 | 0: aabbbaa | |
2674 | 1: aa | |
2675 | 2: bbb | |
2676 | 3: bb | |
2677 | ||
2678 | /^(aa(bb(bb))?)+$/I | |
2679 | Capturing subpattern count = 3 | |
2680 | Options: anchored | |
2681 | No first char | |
2682 | No need char | |
2683 | aabbbbaa | |
2684 | 0: aabbbbaa | |
2685 | 1: aa | |
2686 | 2: bbbb | |
2687 | 3: bb | |
2688 | ||
2689 | /--------------------------------------------------------------------/I | |
2690 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2691 | No options | No options |
2692 | First char = ' ' | First char = '-' |
2693 | Need char = ' ' | Need char = '-' |
2694 | ||
2695 | /#/IxDZ | |
2696 | ------------------------------------------------------------------ | |
2697 | Bra 0 | |
2698 | Ket | |
2699 | End | |
2700 | ------------------------------------------------------------------ | |
2701 | Capturing subpattern count = 0 | |
2702 | Options: extended | |
2703 | No first char | |
2704 | No need char | |
2705 | ||
2706 | /a#/IxDZ | |
2707 | ------------------------------------------------------------------ | |
2708 | Bra 0 | |
2709 | a | |
2710 | Ket | |
2711 | End | |
2712 | ------------------------------------------------------------------ | |
2713 | Capturing subpattern count = 0 | |
2714 | Options: extended | |
2715 | First char = 'a' | |
2716 | No need char | |
2717 | ||
2718 | /[\s]/DZ | |
2719 | ------------------------------------------------------------------ | |
2720 | Bra 0 | |
2721 | [\x09\x0a\x0c\x0d ] | |
2722 | Ket | |
2723 | End | |
2724 | ------------------------------------------------------------------ | |
2725 | Capturing subpattern count = 0 | |
2726 | No options | |
2727 | No first char | |
2728 | No need char | |
2729 | ||
2730 | /[\S]/DZ | |
2731 | ------------------------------------------------------------------ | |
2732 | Bra 0 | |
2733 | [\x00-\x08\x0b\x0e-\x1f!-\xff] | |
2734 | Ket | |
2735 | End | |
2736 | ------------------------------------------------------------------ | |
2737 | Capturing subpattern count = 0 | |
2738 | No options | |
2739 | No first char | |
2740 | No need char | |
2741 | ||
2742 | /a(?i)b/DZ | |
2743 | ------------------------------------------------------------------ | |
2744 | Bra 0 | |
2745 | a | |
2746 | 01 Opt | |
2747 | NC b | |
2748 | Ket | |
2749 | End | |
2750 | ------------------------------------------------------------------ | |
2751 | Capturing subpattern count = 0 | |
2752 | No options | |
2753 | First char = 'a' | |
2754 | Need char = 'b' (caseless) | |
2755 | ab | |
2756 | 0: ab | |
2757 | aB | |
2758 | 0: aB | |
2759 | *** Failers | |
2760 | No match | |
2761 | AB | |
2762 | No match | |
2763 | ||
2764 | /(a(?i)b)/DZ | |
2765 | ------------------------------------------------------------------ | |
2766 | Bra 0 | |
2767 | Bra 1 | |
2768 | a | |
2769 | 01 Opt | |
2770 | NC b | |
2771 | Ket | |
2772 | 00 Opt | |
2773 | Ket | |
2774 | End | |
2775 | ------------------------------------------------------------------ | |
2776 | Capturing subpattern count = 1 | |
2777 | No options | |
2778 | First char = 'a' | |
2779 | Need char = 'b' (caseless) | |
2780 | ab | |
2781 | 0: ab | |
2782 | 1: ab | |
2783 | aB | |
2784 | 0: aB | |
2785 | 1: aB | |
2786 | *** Failers | |
2787 | No match | |
2788 | AB | |
2789 | No match | |
2790 | ||
2791 | / (?i)abc/IxDZ | |
2792 | ------------------------------------------------------------------ | |
2793 | Bra 0 | |
2794 | NC abc | |
2795 | Ket | |
2796 | End | |
2797 | ------------------------------------------------------------------ | |
2798 | Capturing subpattern count = 0 | |
2799 | Options: caseless extended | |
2800 | First char = 'a' (caseless) | |
2801 | Need char = 'c' (caseless) | |
2802 | ||
2803 | /#this is a comment | |
2804 | (?i)abc/IxDZ | |
2805 | ------------------------------------------------------------------ | |
2806 | Bra 0 | |
2807 | NC abc | |
2808 | Ket | |
2809 | End | |
2810 | ------------------------------------------------------------------ | |
2811 | Capturing subpattern count = 0 | |
2812 | Options: caseless extended | |
2813 | First char = 'a' (caseless) | |
2814 | Need char = 'c' (caseless) | |
2815 | ||
2816 | /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ | |
2817 | ------------------------------------------------------------------ | |
2818 | Bra 0 | |
2819 | 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 | |
2820 | Ket | |
2821 | End | |
2822 | ------------------------------------------------------------------ | |
2823 | Capturing subpattern count = 0 | |
2824 | No options | |
2825 | First char = '1' | |
2826 | Need char = '0' | |
2827 | ||
2828 | /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ | |
2829 | ------------------------------------------------------------------ | |
2830 | Bra 0 | |
2831 | 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 | |
2832 | Ket | |
2833 | End | |
2834 | ------------------------------------------------------------------ | |
2835 | Capturing subpattern count = 0 | |
2836 | No options | |
2837 | First char = '1' | |
2838 | Need char = '0' | |
2839 | ||
2840 | /\Q\E/DZ | |
2841 | ------------------------------------------------------------------ | |
2842 | Bra 0 | |
2843 | Ket | |
2844 | End | |
2845 | ------------------------------------------------------------------ | |
2846 | Capturing subpattern count = 0 | |
2847 | No options | |
2848 | No first char | |
2849 | No need char | |
2850 | \ | |
2851 | 0: | |
2852 | ||
2853 | /\Q\Ex/DZ | |
2854 | ------------------------------------------------------------------ | |
2855 | Bra 0 | |
2856 | x | |
2857 | Ket | |
2858 | End | |
2859 | ------------------------------------------------------------------ | |
2860 | Capturing subpattern count = 0 | |
2861 | No options | |
2862 | First char = 'x' | |
2863 | No need char | |
2864 | ||
2865 | / \Q\E/DZ | |
2866 | ------------------------------------------------------------------ | |
2867 | Bra 0 | |
2868 | ||
2869 | Ket | |
2870 | End | |
2871 | ------------------------------------------------------------------ | |
2872 | Capturing subpattern count = 0 | |
2873 | No options | |
2874 | First char = ' ' | |
2875 | No need char | |
2876 | ||
2877 | /a\Q\E/DZ | |
2878 | ------------------------------------------------------------------ | |
2879 | Bra 0 | |
2880 | a | |
2881 | Ket | |
2882 | End | |
2883 | ------------------------------------------------------------------ | |
2884 | Capturing subpattern count = 0 | |
2885 | No options | |
2886 | First char = 'a' | |
2887 | No need char | |
2888 | abc | |
2889 | 0: a | |
2890 | bca | |
2891 | 0: a | |
2892 | bac | |
2893 | 0: a | |
2894 | ||
2895 | /a\Q\Eb/DZ | |
2896 | ------------------------------------------------------------------ | |
2897 | Bra 0 | |
2898 | ab | |
2899 | Ket | |
2900 | End | |
2901 | ------------------------------------------------------------------ | |
2902 | Capturing subpattern count = 0 | |
2903 | No options | |
2904 | First char = 'a' | |
2905 | Need char = 'b' | |
2906 | abc | |
2907 | 0: ab | |
2908 | ||
2909 | /\Q\Eabc/DZ | |
2910 | ------------------------------------------------------------------ | |
2911 | Bra 0 | |
2912 | abc | |
2913 | Ket | |
2914 | End | |
2915 | ------------------------------------------------------------------ | |
2916 | Capturing subpattern count = 0 | |
2917 | No options | |
2918 | First char = 'a' | |
2919 | Need char = 'c' | |
2920 | ||
2921 | /x*+\w/DZ | |
2922 | ------------------------------------------------------------------ | |
2923 | Bra 0 | |
2924 | x*+ | |
2925 | \w | |
2926 | Ket | |
2927 | End | |
2928 | ------------------------------------------------------------------ | |
2929 | Capturing subpattern count = 0 | |
2930 | Partial matching not supported | |
2931 | No options | |
2932 | No first char | |
2933 | No need char | |
2934 | *** Failers | |
2935 | 0: F | |
2936 | xxxxx | |
2937 | No match | |
2938 | ||
2939 | /x?+/DZ | |
2940 | ------------------------------------------------------------------ | |
2941 | Bra 0 | |
2942 | x?+ | |
2943 | Ket | |
2944 | End | |
2945 | ------------------------------------------------------------------ | |
2946 | Capturing subpattern count = 0 | |
2947 | No options | |
2948 | No first char | |
2949 | No need char | |
2950 | ||
2951 | /x++/DZ | |
2952 | ------------------------------------------------------------------ | |
2953 | Bra 0 | |
2954 | x++ | |
2955 | Ket | |
2956 | End | |
2957 | ------------------------------------------------------------------ | |
2958 | Capturing subpattern count = 0 | |
2959 | Partial matching not supported | |
2960 | No options | |
2961 | First char = 'x' | |
2962 | No need char | |
2963 | ||
2964 | /x{1,3}+/DZ | |
2965 | ------------------------------------------------------------------ | |
2966 | Bra 0 | |
2967 | Once | |
2968 | x | |
2969 | x{0,2} | |
2970 | Ket | |
2971 | Ket | |
2972 | End | |
2973 | ------------------------------------------------------------------ | |
2974 | Capturing subpattern count = 0 | |
2975 | Partial matching not supported | |
2976 | No options | |
2977 | First char = 'x' | |
2978 | No need char | |
2979 | ||
2980 | /(x)*+/DZ | |
2981 | ------------------------------------------------------------------ | |
2982 | Bra 0 | |
2983 | Once | |
2984 | Brazero | |
2985 | Bra 1 | |
2986 | x | |
2987 | KetRmax | |
2988 | Ket | |
2989 | Ket | |
2990 | End | |
2991 | ------------------------------------------------------------------ | |
2992 | Capturing subpattern count = 1 | |
2993 | No options | |
2994 | No first char | |
2995 | No need char | |
2996 | ||
2997 | /^(\w++|\s++)*$/I | |
2998 | Capturing subpattern count = 1 | |
2999 | Partial matching not supported | |
3000 | Options: anchored | |
3001 | No first char | |
3002 | No need char | |
3003 | now is the time for all good men to come to the aid of the party | |
3004 | 0: now is the time for all good men to come to the aid of the party | |
3005 | 1: party | |
3006 | *** Failers | |
3007 | No match | |
3008 | this is not a line with only words and spaces! | |
3009 | No match | |
3010 | ||
3011 | /(\d++)(\w)/I | |
3012 | Capturing subpattern count = 2 | |
3013 | Partial matching not supported | |
3014 | No options | |
3015 | No first char | |
3016 | No need char | |
3017 | 12345a | |
3018 | 0: 12345a | |
3019 | 1: 12345 | |
3020 | 2: a | |
3021 | *** Failers | |
3022 | No match | |
3023 | 12345+ | |
3024 | No match | |
3025 | ||
3026 | /a++b/I | |
3027 | Capturing subpattern count = 0 | |
3028 | Partial matching not supported | |
3029 | No options | |
3030 | First char = 'a' | |
3031 | Need char = 'b' | |
3032 | aaab | |
3033 | 0: aaab | |
3034 | ||
3035 | /(a++b)/I | |
3036 | Capturing subpattern count = 1 | |
3037 | Partial matching not supported | |
3038 | No options | |
3039 | First char = 'a' | |
3040 | Need char = 'b' | |
3041 | aaab | |
3042 | 0: aaab | |
3043 | 1: aaab | |
3044 | ||
3045 | /(a++)b/I | |
3046 | Capturing subpattern count = 1 | |
3047 | Partial matching not supported | |
3048 | No options | |
3049 | First char = 'a' | |
3050 | Need char = 'b' | |
3051 | aaab | |
3052 | 0: aaab | |
3053 | 1: aaa | |
3054 | ||
3055 | /([^()]++|\([^()]*\))+/I | |
3056 | Capturing subpattern count = 1 | |
3057 | Partial matching not supported | |
3058 | No options | |
3059 | No first char | |
3060 | No need char | |
3061 | ((abc(ade)ufh()()x | |
3062 | 0: abc(ade)ufh()()x | |
3063 | 1: x | |
3064 | ||
3065 | /\(([^()]++|\([^()]+\))+\)/I | |
3066 | Capturing subpattern count = 1 | |
3067 | Partial matching not supported | |
3068 | No options | |
3069 | First char = '(' | |
3070 | Need char = ')' | |
3071 | (abc) | |
3072 | 0: (abc) | |
3073 | 1: abc | |
3074 | (abc(def)xyz) | |
3075 | 0: (abc(def)xyz) | |
3076 | 1: xyz | |
3077 | *** Failers | |
3078 | No match | |
3079 | ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | |
3080 | No match | |
3081 | ||
3082 | /(abc){1,3}+/DZ | |
3083 | ------------------------------------------------------------------ | |
3084 | Bra 0 | |
3085 | Once | |
3086 | Bra 1 | |
3087 | abc | |
3088 | Ket | |
3089 | Brazero | |
3090 | Bra 0 | |
3091 | Bra 1 | |
3092 | abc | |
3093 | Ket | |
3094 | Brazero | |
3095 | Bra 1 | |
3096 | abc | |
3097 | Ket | |
3098 | Ket | |
3099 | Ket | |
3100 | Ket | |
3101 | End | |
3102 | ------------------------------------------------------------------ | |
3103 | Capturing subpattern count = 1 | |
3104 | No options | |
3105 | First char = 'a' | |
3106 | Need char = 'c' | |
3107 | ||
3108 | /a+?+/I | |
3109 | Failed: nothing to repeat at offset 3 | |
3110 | ||
3111 | /a{2,3}?+b/I | |
3112 | Failed: nothing to repeat at offset 7 | |
3113 | ||
3114 | /(?U)a+?+/I | |
3115 | Failed: nothing to repeat at offset 7 | |
3116 | ||
3117 | /a{2,3}?+b/IU | |
3118 | Failed: nothing to repeat at offset 7 | |
3119 | ||
3120 | /x(?U)a++b/DZ | |
3121 | ------------------------------------------------------------------ | |
3122 | Bra 0 | |
3123 | x | |
3124 | a++ | |
3125 | b | |
3126 | Ket | |
3127 | End | |
3128 | ------------------------------------------------------------------ | |
3129 | Capturing subpattern count = 0 | |
3130 | Partial matching not supported | |
3131 | No options | |
3132 | First char = 'x' | |
3133 | Need char = 'b' | |
3134 | xaaaab | |
3135 | 0: xaaaab | |
3136 | ||
3137 | /(?U)xa++b/DZ | |
3138 | ------------------------------------------------------------------ | |
3139 | Bra 0 | |
3140 | x | |
3141 | a++ | |
3142 | b | |
3143 | Ket | |
3144 | End | |
3145 | ------------------------------------------------------------------ | |
3146 | Capturing subpattern count = 0 | |
3147 | Partial matching not supported | |
3148 | Options: ungreedy | |
3149 | First char = 'x' | |
3150 | Need char = 'b' | |
3151 | xaaaab | |
3152 | 0: xaaaab | |
3153 | ||
3154 | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ | |
3155 | ------------------------------------------------------------------ | |
3156 | Bra 0 | |
3157 | ^ | |
3158 | Bra 1 | |
3159 | Bra 2 | |
3160 | a+ | |
3161 | Ket | |
3162 | Bra 3 | |
3163 | [ab]+? | |
3164 | Ket | |
3165 | Bra 4 | |
3166 | [bc]+ | |
3167 | Ket | |
3168 | Bra 5 | |
3169 | \w* | |
3170 | Ket | |
3171 | Ket | |
3172 | Ket | |
3173 | End | |
3174 | ------------------------------------------------------------------ | |
3175 | Capturing subpattern count = 5 | |
3176 | Partial matching not supported | |
3177 | Options: anchored | |
3178 | No first char | |
3179 | No need char | |
3180 | ||
3181 | /^x(?U)a+b/DZ | |
3182 | ------------------------------------------------------------------ | |
3183 | Bra 0 | |
3184 | ^ | |
3185 | x | |
3186 | a++ | |
3187 | b | |
3188 | Ket | |
3189 | End | |
3190 | ------------------------------------------------------------------ | |
3191 | Capturing subpattern count = 0 | |
3192 | Partial matching not supported | |
3193 | Options: anchored | |
3194 | No first char | |
3195 | Need char = 'b' | |
3196 | ||
3197 | /^x(?U)(a+)b/DZ | |
3198 | ------------------------------------------------------------------ | |
3199 | Bra 0 | |
3200 | ^ | |
3201 | x | |
3202 | Bra 1 | |
3203 | a+? | |
3204 | Ket | |
3205 | b | |
3206 | Ket | |
3207 | End | |
3208 | ------------------------------------------------------------------ | |
3209 | Capturing subpattern count = 1 | |
3210 | Partial matching not supported | |
3211 | Options: anchored | |
3212 | No first char | |
3213 | Need char = 'b' | |
3214 | ||
3215 | /[.x.]/I | |
3216 | Failed: POSIX collating elements are not supported at offset 0 | |
3217 | ||
3218 | /[=x=]/I | |
3219 | Failed: POSIX collating elements are not supported at offset 0 | |
3220 | ||
3221 | /[:x:]/I | |
3222 | Failed: POSIX named classes are supported only within a class at offset 0 | |
3223 | ||
3224 | /\l/I | |
3225 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | |
3226 | ||
3227 | /\L/I | |
3228 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | |
3229 | ||
3230 | /\N{name}/I | |
3231 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | |
3232 | ||
3233 | /\u/I | |
3234 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | |
3235 | ||
3236 | /\U/I | |
3237 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | |
3238 | ||
3239 | /[/I | |
3240 | Failed: missing terminating ] for character class at offset 1 | |
3241 | ||
3242 | /[a-/I | |
3243 | Failed: missing terminating ] for character class at offset 3 | |
3244 | ||
3245 | /[[:space:]/I | |
3246 | Failed: missing terminating ] for character class at offset 10 | |
3247 | ||
3248 | /[\s]/IDZ | |
3249 | ------------------------------------------------------------------ | |
3250 | Bra 0 | |
3251 | [\x09\x0a\x0c\x0d ] | |
3252 | Ket | |
3253 | End | |
3254 | ------------------------------------------------------------------ | |
3255 | Capturing subpattern count = 0 | |
3256 | No options | |
3257 | No first char | |
3258 | No need char | |
3259 | ||
3260 | /[[:space:]]/IDZ | |
3261 | ------------------------------------------------------------------ | |
3262 | Bra 0 | |
3263 | [\x09-\x0d ] | |
3264 | Ket | |
3265 | End | |
3266 | ------------------------------------------------------------------ | |
3267 | Capturing subpattern count = 0 | |
3268 | No options | |
3269 | No first char | |
3270 | No need char | |
3271 | ||
3272 | /[[:space:]abcde]/IDZ | |
3273 | ------------------------------------------------------------------ | |
3274 | Bra 0 | |
3275 | [\x09-\x0d a-e] | |
3276 | Ket | |
3277 | End | |
3278 | ------------------------------------------------------------------ | |
3279 | Capturing subpattern count = 0 | |
3280 | No options | |
3281 | No first char | |
3282 | No need char | |
3283 | ||
3284 | /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix | |
3285 | Capturing subpattern count = 0 | |
3286 | Partial matching not supported | |
3287 | Options: extended | |
3288 | First char = '<' | |
3289 | Need char = '>' | |
3290 | <> | |
3291 | 0: <> | |
3292 | <abcd> | |
3293 | 0: <abcd> | |
3294 | <abc <123> hij> | |
3295 | 0: <abc <123> hij> | |
3296 | <abc <def> hij> | |
3297 | 0: <def> | |
3298 | <abc<>def> | |
3299 | 0: <abc<>def> | |
3300 | <abc<> | |
3301 | 0: <> | |
3302 | *** Failers | |
3303 | No match | |
3304 | <abc | |
3305 | No match | |
3306 | ||
3307 | |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ | |
3308 | ------------------------------------------------------------------ | |
3309 | Bra 0 | |
3310 | 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X | |
3311 | \b | |
3312 | Ket | |
3313 | End | |
3314 | ------------------------------------------------------------------ | |
3315 | Capturing subpattern count = 0 | |
3316 | No options | |
3317 | First char = '8' | |
3318 | Need char = 'X' | |
3319 | ||
3320 | |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ | |
3321 | ------------------------------------------------------------------ | |
3322 | Bra 0 | |
3323 | $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X | |
3324 | \b | |
3325 | Ket | |
3326 | End | |
3327 | ------------------------------------------------------------------ | |
3328 | Capturing subpattern count = 0 | |
3329 | No options | |
3330 | First char = '$' | |
3331 | Need char = 'X' | |
3332 | ||
3333 | /(.*)\d+\1/I | |
3334 | Capturing subpattern count = 1 | |
3335 | Max back reference = 1 | |
3336 | Partial matching not supported | |
3337 | No options | |
3338 | No first char | |
3339 | No need char | |
3340 | ||
3341 | /(.*)\d+/I | |
3342 | Capturing subpattern count = 1 | |
3343 | Partial matching not supported | |
3344 | No options | |
3345 | First char at start or follows newline | |
3346 | No need char | |
3347 | ||
3348 | /(.*)\d+\1/Is | |
3349 | Capturing subpattern count = 1 | |
3350 | Max back reference = 1 | |
3351 | Partial matching not supported | |
3352 | Options: dotall | |
3353 | No first char | |
3354 | No need char | |
3355 | ||
3356 | /(.*)\d+/Is | |
3357 | Capturing subpattern count = 1 | |
3358 | Partial matching not supported | |
3359 | Options: anchored dotall | |
3360 | No first char | |
3361 | No need char | |
3362 | ||
3363 | /(.*(xyz))\d+\2/I | |
3364 | Capturing subpattern count = 2 | |
3365 | Max back reference = 2 | |
3366 | Partial matching not supported | |
3367 | No options | |
3368 | First char at start or follows newline | |
3369 | Need char = 'z' | |
3370 | ||
3371 | /((.*))\d+\1/I | |
3372 | Capturing subpattern count = 2 | |
3373 | Max back reference = 1 | |
3374 | Partial matching not supported | |
3375 | No options | |
3376 | No first char | |
3377 | No need char | |
3378 | abc123bc | |
3379 | 0: bc123bc | |
3380 | 1: bc | |
3381 | 2: bc | |
3382 | ||
3383 | /a[b]/I | |
3384 | Capturing subpattern count = 0 | |
3385 | No options | |
3386 | First char = 'a' | |
3387 | Need char = 'b' | |
3388 | ||
3389 | /(?=a).*/I | |
3390 | Capturing subpattern count = 0 | |
3391 | Partial matching not supported | |
3392 | No options | |
3393 | First char = 'a' | |
3394 | No need char | |
3395 | ||
3396 | /(?=abc).xyz/IiI | |
3397 | Capturing subpattern count = 0 | |
3398 | Options: caseless | |
3399 | First char = 'a' (caseless) | |
3400 | Need char = 'z' (caseless) | |
3401 | ||
3402 | /(?=abc)(?i).xyz/I | |
3403 | Capturing subpattern count = 0 | |
3404 | No options | |
3405 | First char = 'a' | |
3406 | Need char = 'z' (caseless) | |
3407 | ||
3408 | /(?=a)(?=b)/I | |
3409 | Capturing subpattern count = 0 | |
3410 | No options | |
3411 | First char = 'a' | |
3412 | No need char | |
3413 | ||
3414 | /(?=.)a/I | |
3415 | Capturing subpattern count = 0 | |
3416 | No options | |
3417 | First char = 'a' | |
3418 | No need char | |
3419 | ||
3420 | /((?=abcda)a)/I | |
3421 | Capturing subpattern count = 1 | |
3422 | No options | |
3423 | First char = 'a' | |
3424 | Need char = 'a' | |
3425 | ||
3426 | /((?=abcda)ab)/I | |
3427 | Capturing subpattern count = 1 | |
3428 | No options | |
3429 | First char = 'a' | |
3430 | Need char = 'b' | |
3431 | ||
3432 | /()a/I | |
3433 | Capturing subpattern count = 1 | |
3434 | No options | |
3435 | No first char | |
3436 | Need char = 'a' | |
3437 | ||
3438 | /(?(1)ab|ac)/I | |
3439 | Capturing subpattern count = 0 | |
3440 | No options | |
3441 | First char = 'a' | |
3442 | No need char | |
3443 | ||
3444 | /(?(1)abz|acz)/I | |
3445 | Capturing subpattern count = 0 | |
3446 | No options | |
3447 | First char = 'a' | |
3448 | Need char = 'z' | |
3449 | ||
3450 | /(?(1)abz)/I | |
3451 | Capturing subpattern count = 0 | |
3452 | No options | |
3453 | No first char | |
3454 | No need char | |
3455 | ||
3456 | /(?(1)abz)123/I | |
3457 | Capturing subpattern count = 0 | |
3458 | No options | |
3459 | No first char | |
3460 | Need char = '3' | |
3461 | ||
3462 | /(a)+/I | |
3463 | Capturing subpattern count = 1 | |
3464 | No options | |
3465 | First char = 'a' | |
3466 | No need char | |
3467 | ||
3468 | /(a){2,3}/I | |
3469 | Capturing subpattern count = 1 | |
3470 | No options | |
3471 | First char = 'a' | |
3472 | Need char = 'a' | |
3473 | ||
3474 | /(a)*/I | |
3475 | Capturing subpattern count = 1 | |
3476 | No options | |
3477 | No first char | |
3478 | No need char | |
3479 | ||
3480 | /[a]/I | |
3481 | Capturing subpattern count = 0 | |
3482 | No options | |
3483 | First char = 'a' | |
3484 | No need char | |
3485 | ||
3486 | /[ab]/I | |
3487 | Capturing subpattern count = 0 | |
3488 | No options | |
3489 | No first char | |
3490 | No need char | |
3491 | ||
3492 | /[ab]/IS | |
3493 | Capturing subpattern count = 0 | |
3494 | No options | |
3495 | No first char | |
3496 | No need char | |
3497 | Starting byte set: a b | |
3498 | ||
3499 | /[^a]/I | |
3500 | Capturing subpattern count = 0 | |
3501 | No options | |
3502 | No first char | |
3503 | No need char | |
3504 | ||
3505 | /\d456/I | |
3506 | Capturing subpattern count = 0 | |
3507 | No options | |
3508 | No first char | |
3509 | Need char = '6' | |
3510 | ||
3511 | /\d456/IS | |
3512 | Capturing subpattern count = 0 | |
3513 | No options | |
3514 | No first char | |
3515 | Need char = '6' | |
3516 | Starting byte set: 0 1 2 3 4 5 6 7 8 9 | |
3517 | ||
3518 | /a^b/I | |
3519 | Capturing subpattern count = 0 | |
3520 | No options | |
3521 | First char = 'a' | |
3522 | Need char = 'b' | |
3523 | ||
3524 | /^a/Im | |
3525 | Capturing subpattern count = 0 | |
3526 | Options: multiline | |
3527 | First char at start or follows newline | |
3528 | Need char = 'a' | |
3529 | abcde | |
3530 | 0: a | |
3531 | xy\nabc | |
3532 | 0: a | |
3533 | *** Failers | |
3534 | No match | |
3535 | xyabc | |
3536 | No match | |
3537 | ||
3538 | /c|abc/I | |
3539 | Capturing subpattern count = 0 | |
3540 | No options | |
3541 | No first char | |
3542 | Need char = 'c' | |
3543 | ||
3544 | /(?i)[ab]/IS | |
3545 | Capturing subpattern count = 0 | |
3546 | Options: caseless | |
3547 | No first char | |
3548 | No need char | |
3549 | Starting byte set: A B a b | |
3550 | ||
3551 | /[ab](?i)cd/IS | |
3552 | Capturing subpattern count = 0 | |
3553 | No options | |
3554 | No first char | |
3555 | Need char = 'd' (caseless) | |
3556 | Starting byte set: a b | |
3557 | ||
3558 | /abc(?C)def/I | |
3559 | Capturing subpattern count = 0 | |
3560 | No options | |
3561 | First char = 'a' | |
3562 | Need char = 'f' | |
3563 | abcdef | |
3564 | --->abcdef | |
3565 | 0 ^ ^ d | |
3566 | 0: abcdef | |
3567 | 1234abcdef | |
3568 | --->1234abcdef | |
3569 | 0 ^ ^ d | |
3570 | 0: abcdef | |
3571 | *** Failers | |
3572 | No match | |
3573 | abcxyz | |
3574 | No match | |
3575 | abcxyzf | |
3576 | --->abcxyzf | |
3577 | 0 ^ ^ d | |
3578 | No match | |
3579 | ||
3580 | /abc(?C)de(?C1)f/I | |
3581 | Capturing subpattern count = 0 | |
3582 | No options | |
3583 | First char = 'a' | |
3584 | Need char = 'f' | |
3585 | 123abcdef | |
3586 | --->123abcdef | |
3587 | 0 ^ ^ d | |
3588 | 1 ^ ^ f | |
3589 | 0: abcdef | |
3590 | ||
3591 | /(?C1)\dabc(?C2)def/I | |
3592 | Capturing subpattern count = 0 | |
3593 | No options | |
3594 | No first char | |
3595 | Need char = 'f' | |
3596 | 1234abcdef | |
3597 | --->1234abcdef | |
3598 | 1 ^ \d | |
3599 | 1 ^ \d | |
3600 | 1 ^ \d | |
3601 | 1 ^ \d | |
3602 | 2 ^ ^ d | |
3603 | 0: 4abcdef | |
3604 | *** Failers | |
3605 | No match | |
3606 | abcdef | |
3607 | --->abcdef | |
3608 | 1 ^ \d | |
3609 | 1 ^ \d | |
3610 | 1 ^ \d | |
3611 | 1 ^ \d | |
3612 | 1 ^ \d | |
3613 | 1 ^ \d | |
3614 | No match | |
3615 | ||
3616 | /(?C255)ab/I | |
3617 | Capturing subpattern count = 0 | |
3618 | No options | |
3619 | First char = 'a' | |
3620 | Need char = 'b' | |
3621 | ||
3622 | /(?C256)ab/I | |
3623 | Failed: number after (?C is > 255 at offset 6 | |
3624 | ||
3625 | /(?Cab)xx/I | |
3626 | Failed: closing ) for (?C expected at offset 3 | |
3627 | ||
3628 | /(?C12vr)x/I | |
3629 | Failed: closing ) for (?C expected at offset 5 | |
3630 | ||
3631 | /abc(?C)def/I | |
3632 | Capturing subpattern count = 0 | |
3633 | No options | |
3634 | First char = 'a' | |
3635 | Need char = 'f' | |
3636 | *** Failers | |
3637 | No match | |
3638 | \x83\x0\x61bcdef | |
3639 | --->\x83\x00abcdef | |
3640 | 0 ^ ^ d | |
3641 | 0: abcdef | |
3642 | ||
3643 | /(abc)(?C)de(?C1)f/I | |
3644 | Capturing subpattern count = 1 | |
3645 | No options | |
3646 | First char = 'a' | |
3647 | Need char = 'f' | |
3648 | 123abcdef | |
3649 | --->123abcdef | |
3650 | 0 ^ ^ d | |
3651 | 1 ^ ^ f | |
3652 | 0: abcdef | |
3653 | 1: abc | |
3654 | 123abcdef\C+ | |
3655 | Callout 0: last capture = 1 | |
3656 | 0: <unset> | |
3657 | 1: abc | |
3658 | --->123abcdef | |
3659 | ^ ^ d | |
3660 | Callout 1: last capture = 1 | |
3661 | 0: <unset> | |
3662 | 1: abc | |
3663 | --->123abcdef | |
3664 | ^ ^ f | |
3665 | 0: abcdef | |
3666 | 1: abc | |
3667 | 123abcdef\C- | |
3668 | 0: abcdef | |
3669 | 1: abc | |
3670 | *** Failers | |
3671 | No match | |
3672 | 123abcdef\C!1 | |
3673 | --->123abcdef | |
3674 | 0 ^ ^ d | |
3675 | 1 ^ ^ f | |
3676 | No match | |
3677 | ||
3678 | /(?C0)(abc(?C1))*/I | |
3679 | Capturing subpattern count = 1 | |
3680 | No options | |
3681 | No first char | |
3682 | No need char | |
3683 | abcabcabc | |
3684 | --->abcabcabc | |
3685 | 0 ^ (abc(?C1))* | |
3686 | 1 ^ ^ ) | |
3687 | 1 ^ ^ ) | |
3688 | 1 ^ ^ ) | |
3689 | 0: abcabcabc | |
3690 | 1: abc | |
3691 | abcabc\C!1!3 | |
3692 | --->abcabc | |
3693 | 0 ^ (abc(?C1))* | |
3694 | 1 ^ ^ ) | |
3695 | 1 ^ ^ ) | |
3696 | 0: abcabc | |
3697 | 1: abc | |
3698 | *** Failers | |
3699 | --->*** Failers | |
3700 | 0 ^ (abc(?C1))* | |
3701 | 0: | |
3702 | abcabcabc\C!1!3 | |
3703 | --->abcabcabc | |
3704 | 0 ^ (abc(?C1))* | |
3705 | 1 ^ ^ ) | |
3706 | 1 ^ ^ ) | |
3707 | 1 ^ ^ ) | |
3708 | 0: abcabc | |
3709 | 1: abc | |
3710 | ||
3711 | /(\d{3}(?C))*/I | |
3712 | Capturing subpattern count = 1 | |
3713 | Partial matching not supported | |
3714 | No options | |
3715 | No first char | |
3716 | No need char | |
3717 | 123\C+ | |
3718 | Callout 0: last capture = -1 | |
3719 | 0: <unset> | |
3720 | --->123 | |
3721 | ^ ^ ) | |
3722 | 0: 123 | |
3723 | 1: 123 | |
3724 | 123456\C+ | |
3725 | Callout 0: last capture = -1 | |
3726 | 0: <unset> | |
3727 | --->123456 | |
3728 | ^ ^ ) | |
3729 | Callout 0: last capture = 1 | |
3730 | 0: <unset> | |
3731 | 1: 123 | |
3732 | --->123456 | |
3733 | ^ ^ ) | |
3734 | 0: 123456 | |
3735 | 1: 456 | |
3736 | 123456789\C+ | |
3737 | Callout 0: last capture = -1 | |
3738 | 0: <unset> | |
3739 | --->123456789 | |
3740 | ^ ^ ) | |
3741 | Callout 0: last capture = 1 | |
3742 | 0: <unset> | |
3743 | 1: 123 | |
3744 | --->123456789 | |
3745 | ^ ^ ) | |
3746 | Callout 0: last capture = 1 | |
3747 | 0: <unset> | |
3748 | 1: 456 | |
3749 | --->123456789 | |
3750 | ^ ^ ) | |
3751 | 0: 123456789 | |
3752 | 1: 789 | |
3753 | ||
3754 | /((xyz)(?C)p|(?C1)xyzabc)/I | |
3755 | Capturing subpattern count = 2 | |
3756 | No options | |
3757 | First char = 'x' | |
3758 | No need char | |
3759 | xyzabc\C+ | |
3760 | Callout 0: last capture = 2 | |
3761 | 0: <unset> | |
3762 | 1: <unset> | |
3763 | 2: xyz | |
3764 | --->xyzabc | |
3765 | ^ ^ p | |
3766 | Callout 1: last capture = -1 | |
3767 | 0: <unset> | |
3768 | --->xyzabc | |
3769 | ^ x | |
3770 | 0: xyzabc | |
3771 | 1: xyzabc | |
3772 | ||
3773 | /(X)((xyz)(?C)p|(?C1)xyzabc)/I | |
3774 | Capturing subpattern count = 3 | |
3775 | No options | |
3776 | First char = 'X' | |
3777 | Need char = 'x' | |
3778 | Xxyzabc\C+ | |
3779 | Callout 0: last capture = 3 | |
3780 | 0: <unset> | |
3781 | 1: X | |
3782 | 2: <unset> | |
3783 | 3: xyz | |
3784 | --->Xxyzabc | |
3785 | ^ ^ p | |
3786 | Callout 1: last capture = 1 | |
3787 | 0: <unset> | |
3788 | 1: X | |
3789 | --->Xxyzabc | |
3790 | ^^ x | |
3791 | 0: Xxyzabc | |
3792 | 1: X | |
3793 | 2: xyzabc | |
3794 | ||
3795 | /(?=(abc))(?C)abcdef/I | |
3796 | Capturing subpattern count = 1 | |
3797 | No options | |
3798 | First char = 'a' | |
3799 | Need char = 'f' | |
3800 | abcdef\C+ | |
3801 | Callout 0: last capture = 1 | |
3802 | 0: <unset> | |
3803 | 1: abc | |
3804 | --->abcdef | |
3805 | ^ a | |
3806 | 0: abcdef | |
3807 | 1: abc | |
3808 | ||
3809 | /(?!(abc)(?C1)d)(?C2)abcxyz/I | |
3810 | Capturing subpattern count = 1 | |
3811 | No options | |
3812 | First char = 'a' | |
3813 | Need char = 'z' | |
3814 | abcxyz\C+ | |
3815 | Callout 1: last capture = 1 | |
3816 | 0: <unset> | |
3817 | 1: abc | |
3818 | --->abcxyz | |
3819 | ^ ^ d | |
3820 | Callout 2: last capture = -1 | |
3821 | 0: <unset> | |
3822 | --->abcxyz | |
3823 | ^ a | |
3824 | 0: abcxyz | |
3825 | ||
3826 | /(?<=(abc)(?C))xyz/I | |
3827 | Capturing subpattern count = 1 | |
3828 | No options | |
3829 | First char = 'x' | |
3830 | Need char = 'z' | |
3831 | abcxyz\C+ | |
3832 | Callout 0: last capture = 1 | |
3833 | 0: <unset> | |
3834 | 1: abc | |
3835 | --->abcxyz | |
3836 | ^ ) | |
3837 | 0: xyz | |
3838 | 1: abc | |
3839 | ||
3840 | /a(b+)(c*)(?C1)/I | |
3841 | Capturing subpattern count = 2 | |
3842 | Partial matching not supported | |
3843 | No options | |
3844 | First char = 'a' | |
3845 | Need char = 'b' | |
3846 | abbbbbccc\C*1 | |
3847 | --->abbbbbccc | |
3848 | 1 ^ ^ | |
3849 | Callout data = 1 | |
3850 | 1 ^ ^ | |
3851 | Callout data = 1 | |
3852 | 1 ^ ^ | |
3853 | Callout data = 1 | |
3854 | 1 ^ ^ | |
3855 | Callout data = 1 | |
3856 | 1 ^ ^ | |
3857 | Callout data = 1 | |
3858 | 1 ^ ^ | |
3859 | Callout data = 1 | |
3860 | 1 ^ ^ | |
3861 | Callout data = 1 | |
3862 | 1 ^ ^ | |
3863 | Callout data = 1 | |
3864 | No match | |
3865 | ||
3866 | /a(b+?)(c*?)(?C1)/I | |
3867 | Capturing subpattern count = 2 | |
3868 | Partial matching not supported | |
3869 | No options | |
3870 | First char = 'a' | |
3871 | Need char = 'b' | |
3872 | abbbbbccc\C*1 | |
3873 | --->abbbbbccc | |
3874 | 1 ^ ^ | |
3875 | Callout data = 1 | |
3876 | 1 ^ ^ | |
3877 | Callout data = 1 | |
3878 | 1 ^ ^ | |
3879 | Callout data = 1 | |
3880 | 1 ^ ^ | |
3881 | Callout data = 1 | |
3882 | 1 ^ ^ | |
3883 | Callout data = 1 | |
3884 | 1 ^ ^ | |
3885 | Callout data = 1 | |
3886 | 1 ^ ^ | |
3887 | Callout data = 1 | |
3888 | 1 ^ ^ | |
3889 | Callout data = 1 | |
3890 | No match | |
3891 | ||
3892 | /(?C)abc/I | |
3893 | Capturing subpattern count = 0 | |
3894 | No options | |
3895 | First char = 'a' | |
3896 | Need char = 'c' | |
3897 | ||
3898 | /(?C)^abc/I | |
3899 | Capturing subpattern count = 0 | |
3900 | Options: anchored | |
3901 | No first char | |
3902 | No need char | |
3903 | ||
3904 | /(?C)a|b/IS | |
3905 | Capturing subpattern count = 0 | |
3906 | No options | |
3907 | No first char | |
3908 | No need char | |
3909 | Starting byte set: a b | |
3910 | ||
3911 | /(?R)/I | |
3912 | Failed: recursive call could loop indefinitely at offset 3 | |
3913 | ||
3914 | /(a|(?R))/I | |
3915 | Failed: recursive call could loop indefinitely at offset 6 | |
3916 | ||
3917 | /(ab|(bc|(de|(?R))))/I | |
3918 | Failed: recursive call could loop indefinitely at offset 15 | |
3919 | ||
3920 | /x(ab|(bc|(de|(?R))))/I | |
3921 | Capturing subpattern count = 3 | |
3922 | No options | |
3923 | First char = 'x' | |
3924 | No need char | |
3925 | xab | |
3926 | 0: xab | |
3927 | 1: ab | |
3928 | xbc | |
3929 | 0: xbc | |
3930 | 1: bc | |
3931 | 2: bc | |
3932 | xde | |
3933 | 0: xde | |
3934 | 1: de | |
3935 | 2: de | |
3936 | 3: de | |
3937 | xxab | |
3938 | 0: xxab | |
3939 | 1: xab | |
3940 | 2: xab | |
3941 | 3: xab | |
3942 | xxxab | |
3943 | 0: xxxab | |
3944 | 1: xxab | |
3945 | 2: xxab | |
3946 | 3: xxab | |
3947 | *** Failers | |
3948 | No match | |
3949 | xyab | |
3950 | No match | |
3951 | ||
3952 | /(ab|(bc|(de|(?1))))/I | |
3953 | Failed: recursive call could loop indefinitely at offset 15 | |
3954 | ||
3955 | /x(ab|(bc|(de|(?1)x)x)x)/I | |
3956 | Failed: recursive call could loop indefinitely at offset 16 | |
3957 | ||
3958 | /^([^()]|\((?1)*\))*$/I | |
3959 | Capturing subpattern count = 1 | |
3960 | Options: anchored | |
3961 | No first char | |
3962 | No need char | |
3963 | abc | |
3964 | 0: abc | |
3965 | 1: c | |
3966 | a(b)c | |
3967 | 0: a(b)c | |
3968 | 1: c | |
3969 | a(b(c))d | |
3970 | 0: a(b(c))d | |
3971 | 1: d | |
3972 | *** Failers) | |
3973 | No match | |
3974 | a(b(c)d | |
3975 | No match | |
3976 | ||
3977 | /^>abc>([^()]|\((?1)*\))*<xyz<$/I | |
3978 | Capturing subpattern count = 1 | |
3979 | Options: anchored | |
3980 | No first char | |
3981 | Need char = '<' | |
3982 | >abc>123<xyz< | |
3983 | 0: >abc>123<xyz< | |
3984 | 1: 3 | |
3985 | >abc>1(2)3<xyz< | |
3986 | 0: >abc>1(2)3<xyz< | |
3987 | 1: 3 | |
3988 | >abc>(1(2)3)<xyz< | |
3989 | 0: >abc>(1(2)3)<xyz< | |
3990 | 1: (1(2)3) | |
3991 | ||
3992 | /(a(?1)b)/DZ | |
3993 | ------------------------------------------------------------------ | |
3994 | Bra 0 | |
3995 | Bra 1 | |
3996 | a | |
3997 | Once | |
3998 | Recurse | |
3999 | Ket | |
4000 | b | |
4001 | Ket | |
4002 | Ket | |
4003 | End | |
4004 | ------------------------------------------------------------------ | |
4005 | Capturing subpattern count = 1 | |
4006 | No options | |
4007 | First char = 'a' | |
4008 | Need char = 'b' | |
4009 | ||
4010 | /(a(?1)+b)/DZ | |
4011 | ------------------------------------------------------------------ | |
4012 | Bra 0 | |
4013 | Bra 1 | |
4014 | a | |
4015 | Once | |
4016 | Recurse | |
4017 | KetRmax | |
4018 | b | |
4019 | Ket | |
4020 | Ket | |
4021 | End | |
4022 | ------------------------------------------------------------------ | |
4023 | Capturing subpattern count = 1 | |
4024 | No options | |
4025 | First char = 'a' | |
4026 | Need char = 'b' | |
4027 | ||
4028 | /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii | |
4029 | Capturing subpattern count = 4 | |
4030 | Max back reference = 4 | |
4031 | Partial matching not supported | |
4032 | Options: anchored caseless | |
4033 | No first char | |
4034 | No need char | |
4035 | 1221 | |
4036 | 0: 1221 | |
4037 | 1: 1221 | |
4038 | 2: 1 | |
4039 | Satan, oscillate my metallic sonatas! | |
4040 | 0: Satan, oscillate my metallic sonatas! | |
4041 | 1: <unset> | |
4042 | 2: <unset> | |
4043 | 3: Satan, oscillate my metallic sonatas | |
4044 | 4: S | |
4045 | A man, a plan, a canal: Panama! | |
4046 | 0: A man, a plan, a canal: Panama! | |
4047 | 1: <unset> | |
4048 | 2: <unset> | |
4049 | 3: A man, a plan, a canal: Panama | |
4050 | 4: A | |
4051 | Able was I ere I saw Elba. | |
4052 | 0: Able was I ere I saw Elba. | |
4053 | 1: <unset> | |
4054 | 2: <unset> | |
4055 | 3: Able was I ere I saw Elba | |
4056 | 4: A | |
4057 | *** Failers | |
4058 | No match | |
4059 | The quick brown fox | |
4060 | No match | |
4061 | ||
4062 | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I | |
4063 | Capturing subpattern count = 2 | |
4064 | Partial matching not supported | |
4065 | Options: anchored | |
4066 | No first char | |
4067 | No need char | |
4068 | 12 | |
4069 | 0: 12 | |
4070 | 1: 12 | |
4071 | (((2+2)*-3)-7) | |
4072 | 0: (((2+2)*-3)-7) | |
4073 | 1: (((2+2)*-3)-7) | |
4074 | 2: - | |
4075 | -12 | |
4076 | 0: -12 | |
4077 | 1: -12 | |
4078 | *** Failers | |
4079 | No match | |
4080 | ((2+2)*-3)-7) | |
4081 | No match | |
4082 | ||
4083 | /^(x(y|(?1){2})z)/I | |
4084 | Capturing subpattern count = 2 | |
4085 | Options: anchored | |
4086 | No first char | |
4087 | No need char | |
4088 | xyz | |
4089 | 0: xyz | |
4090 | 1: xyz | |
4091 | 2: y | |
4092 | xxyzxyzz | |
4093 | 0: xxyzxyzz | |
4094 | 1: xxyzxyzz | |
4095 | 2: xyzxyz | |
4096 | *** Failers | |
4097 | No match | |
4098 | xxyzz | |
4099 | No match | |
4100 | xxyzxyzxyzz | |
4101 | No match | |
4102 | ||
4103 | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix | |
4104 | Capturing subpattern count = 2 | |
4105 | Partial matching not supported | |
4106 | Options: extended | |
4107 | First char = '<' | |
4108 | Need char = '>' | |
4109 | <> | |
4110 | 0: <> | |
4111 | 1: <> | |
4112 | 2: <> | |
4113 | <abcd> | |
4114 | 0: <abcd> | |
4115 | 1: <abcd> | |
4116 | 2: <abcd> | |
4117 | <abc <123> hij> | |
4118 | 0: <abc <123> hij> | |
4119 | 1: <abc <123> hij> | |
4120 | 2: <abc <123> hij> | |
4121 | <abc <def> hij> | |
4122 | 0: <def> | |
4123 | 1: <def> | |
4124 | 2: <def> | |
4125 | <abc<>def> | |
4126 | 0: <abc<>def> | |
4127 | 1: <abc<>def> | |
4128 | 2: <abc<>def> | |
4129 | <abc<> | |
4130 | 0: <> | |
4131 | 1: <> | |
4132 | 2: <> | |
4133 | *** Failers | |
4134 | No match | |
4135 | <abc | |
4136 | No match | |
4137 | ||
4138 | /(?1)/I | |
4139 | Failed: reference to non-existent subpattern at offset 3 | |
4140 | ||
4141 | /((?2)(abc)/I | |
4142 | Failed: missing ) at offset 10 | |
4143 | ||
4144 | /^(abc)def(?1)/I | |
4145 | Capturing subpattern count = 1 | |
4146 | Options: anchored | |
4147 | No first char | |
4148 | No need char | |
4149 | abcdefabc | |
4150 | 0: abcdefabc | |
4151 | 1: abc | |
4152 | ||
4153 | /^(a|b|c)=(?1)+/I | |
4154 | Capturing subpattern count = 1 | |
4155 | Options: anchored | |
4156 | No first char | |
4157 | No need char | |
4158 | a=a | |
4159 | 0: a=a | |
4160 | 1: a | |
4161 | a=b | |
4162 | 0: a=b | |
4163 | 1: a | |
4164 | a=bc | |
4165 | 0: a=bc | |
4166 | 1: a | |
4167 | ||
4168 | /^(a|b|c)=((?1))+/I | |
4169 | Capturing subpattern count = 2 | |
4170 | Options: anchored | |
4171 | No first char | |
4172 | No need char | |
4173 | a=a | |
4174 | 0: a=a | |
4175 | 1: a | |
4176 | 2: a | |
4177 | a=b | |
4178 | 0: a=b | |
4179 | 1: a | |
4180 | 2: b | |
4181 | a=bc | |
4182 | 0: a=bc | |
4183 | 1: a | |
4184 | 2: c | |
4185 | ||
4186 | /a(?P<name1>b|c)d(?P<longername2>e)/DZ | |
4187 | ------------------------------------------------------------------ | |
4188 | Bra 0 | |
4189 | a | |
4190 | Bra 1 | |
4191 | b | |
4192 | Alt | |
4193 | c | |
4194 | Ket | |
4195 | d | |
4196 | Bra 2 | |
4197 | e | |
4198 | Ket | |
4199 | Ket | |
4200 | End | |
4201 | ------------------------------------------------------------------ | |
4202 |