Parent Directory
|
Revision Log
|
Patch
revision 67 by nigel, Sat Feb 24 21:40:13 2007 UTC | revision 149 by ph10, Mon Apr 16 15:28:08 2007 UTC | |
---|---|---|
# | Line 1 | Line 1 |
1 | PCRE version 4.2 14-Apr-2003 | /(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 |
# | 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 |
# | 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 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 | Study size = 40 | Starting byte set: c d e |
Starting character 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 | Study size = 40 | Starting byte set: C D E c d e |
Starting character 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 | Study size = 40 | Starting byte set: a b c d |
Starting character 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 | Study size = 40 | Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a |
Starting character 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 184 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 | Study size = 40 | Starting byte set: \x09 \x0a \x0c \x0d \x20 a b |
Starting character set: \x09 \x0a \x0c \x0d \x20 a b | ||
193 | ||
194 | /(ab\2)/ | /(ab\2)/ |
195 | Failed: reference to non-existent subpattern at offset 6 | Failed: reference to non-existent subpattern at offset 6 |
# | Line 198 Failed: reference to non-existent subpat | Line 197 Failed: reference to non-existent subpat |
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 223 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 271 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 288 No match | Line 287 No match |
287 | /(a)(b)(c)(d)(e)\6/ | /(a)(b)(c)(d)(e)\6/ |
288 | Failed: 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 298 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 |
# | Line 313 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 323 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 338 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 359 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 399 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 488 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' (caseless) | First char = 'a' (caseless) |
503 | Need char = 'c' (caseless) | 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 | No need char | 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 | Study size = 40 | Starting byte set: a b c d |
Starting character 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 | Study size = 40 | Starting byte set: A B C D a b c d |
Starting character 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 | Study size = 40 | Starting byte set: b c x y |
Starting character 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 562 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 5 | 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 |
Case state changes | ||
597 | First char = 'b' (caseless) | First char = 'b' (caseless) |
598 | Need char = 'h' (caseless) | Need char = 'h' (caseless) |
599 | ||
600 | /((?i)b)/DS | /((?i)b)/IDS |
601 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
602 | 0 16 Bra 0 | 0 17 Bra 0 |
603 | 3 8 Bra 1 | 3 9 Bra 1 |
604 | 6 01 Opt | 8 01 Opt |
605 | 8 1 b | 10 NC b |
606 | 11 8 Ket | 12 9 Ket |
607 | 14 00 Opt | 15 00 Opt |
608 | 16 16 Ket | 17 17 Ket |
609 | 19 End | 20 End |
610 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
611 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
612 | No options | No options |
Case state changes | ||
613 | First char = 'b' (caseless) | First char = 'b' (caseless) |
614 | No need char | No need char |
615 | Study returned NULL | Study returned NULL |
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 | Study size = 40 | Starting byte set: C a b c d |
Starting character 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 624 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 640 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 | No need char | 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 | No need char | No need char |
# | Line 672 No need char | Line 680 No need char |
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 | Study size = 40 | Starting byte set: a b |
Starting character 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 | Study size = 40 | Starting byte set: a o |
Starting character 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 | Study size = 40 | Starting byte set: a b |
703 | Starting character set: a b | |
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 713 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 726 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 744 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 767 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 783 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 |
# | Line 841 No need char | Line 867 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 884 Failed: reference to non-existent subpat | Line 910 Failed: reference to non-existent subpat |
910 | /(a)|\2/ | /(a)|\2/ |
911 | Failed: 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 | /:(?:/ | /:(?:/ |
# | Line 933 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 956 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 975 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 987 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 1007 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 1018 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 | No need char | 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 1041 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 1054 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 | No need char | 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/IM |
1106 | Memory allocation (code space): 428 | Memory allocation (code space): 444 |
1107 | Capturing subpattern count = 8 | Capturing subpattern count = 8 |
1108 | Partial matching not supported | |
1109 | No options | No options |
1110 | First char = 'w' | First char = 'w' |
1111 | Need char = 'd' | Need char = 'd' |
1112 | ||
1113 | /.*X/D | /.*X/ID |
1114 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1115 | 0 8 Bra 0 | 0 7 Bra 0 |
1116 | 3 Any* | 3 Any* |
1117 | 5 1 X | 5 X |
1118 | 8 8 Ket | 7 7 Ket |
1119 | 11 End | 10 End |
1120 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1121 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1122 | Partial matching not supported | |
1123 | No options | No options |
1124 | First char at start or follows \n | First char at start or follows newline |
1125 | Need char = 'X' | Need char = 'X' |
1126 | ||
1127 | /.*X/Ds | /.*X/IDs |
1128 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1129 | 0 8 Bra 0 | 0 7 Bra 0 |
1130 | 3 Any* | 3 Any* |
1131 | 5 1 X | 5 X |
1132 | 8 8 Ket | 7 7 Ket |
1133 | 11 End | 10 End |
1134 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1135 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1136 | Partial matching not supported | |
1137 | Options: anchored dotall | Options: anchored dotall |
1138 | No first char | No first char |
1139 | Need char = 'X' | Need char = 'X' |
1140 | ||
1141 | /(.*X|^B)/D | /(.*X|^B)/ID |
1142 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1143 | 0 21 Bra 0 | 0 21 Bra 0 |
1144 | 3 8 Bra 1 | 3 9 Bra 1 |
1145 | 6 Any* | 8 Any* |
1146 | 8 1 X | 10 X |
1147 | 11 7 Alt | 12 6 Alt |
1148 | 14 ^ | 15 ^ |
1149 | 15 1 B | 16 B |
1150 | 18 15 Ket | 18 15 Ket |
1151 | 21 21 Ket | 21 21 Ket |
1152 | 24 End | 24 End |
1153 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1154 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1155 | Partial matching not supported | |
1156 | No options | No options |
1157 | First char at start or follows \n | First char at start or follows newline |
1158 | No need char | No need char |
1159 | ||
1160 | /(.*X|^B)/Ds | /(.*X|^B)/IDs |
1161 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1162 | 0 21 Bra 0 | 0 21 Bra 0 |
1163 | 3 8 Bra 1 | 3 9 Bra 1 |
1164 | 6 Any* | 8 Any* |
1165 | 8 1 X | 10 X |
1166 | 11 7 Alt | 12 6 Alt |
1167 | 14 ^ | 15 ^ |
1168 | 15 1 B | 16 B |
1169 | 18 15 Ket | 18 15 Ket |
1170 | 21 21 Ket | 21 21 Ket |
1171 | 24 End | 24 End |
1172 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1173 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1174 | Partial matching not supported | |
1175 | Options: anchored dotall | Options: anchored dotall |
1176 | No first char | No first char |
1177 | No need char | No need char |
1178 | ||
1179 | /(?s)(.*X|^B)/D | /(?s)(.*X|^B)/ID |
1180 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1181 | 0 21 Bra 0 | 0 21 Bra 0 |
1182 | 3 8 Bra 1 | 3 9 Bra 1 |
1183 | 6 Any* | 8 Any* |
1184 | 8 1 X | 10 X |
1185 | 11 7 Alt | 12 6 Alt |
1186 | 14 ^ | 15 ^ |
1187 | 15 1 B | 16 B |
1188 | 18 15 Ket | 18 15 Ket |
1189 | 21 21 Ket | 21 21 Ket |
1190 | 24 End | 24 End |
1191 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1192 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1193 | Partial matching not supported | |
1194 | Options: anchored dotall | Options: anchored dotall |
1195 | No first char | No first char |
1196 | No need char | No need char |
1197 | ||
1198 | /(?s:.*X|^B)/D | /(?s:.*X|^B)/ID |
1199 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1200 | 0 27 Bra 0 | 0 25 Bra 0 |
1201 | 3 10 Bra 0 | 3 9 Bra 0 |
1202 | 6 04 Opt | 6 04 Opt |
1203 | 8 Any* | 8 Any* |
1204 | 10 1 X | 10 X |
1205 | 13 9 Alt | 12 8 Alt |
1206 | 16 04 Opt | 15 04 Opt |
1207 | 18 ^ | 17 ^ |
1208 | 19 1 B | 18 B |
1209 | 22 19 Ket | 20 17 Ket |
1210 | 25 00 Opt | 23 00 Opt |
1211 | 27 27 Ket | 25 25 Ket |
1212 | 30 End | 28 End |
1213 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1214 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1215 | Partial matching not supported | |
1216 | No options | No options |
1217 | First char at start or follows \n | First char at start or follows newline |
1218 | No need char | No need char |
1219 | ||
1220 | /\Biss\B/+ | /\Biss\B/I+ |
1221 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1222 | No options | No options |
1223 | First char = 'i' | First char = 'i' |
# | Line 1190 Need char = 's' | Line 1226 Need char = 's' |
1226 | 0: iss | 0: iss |
1227 | 0+ issippi | 0+ issippi |
1228 | ||
1229 | /\Biss\B/+P | /\Biss\B/I+P |
1230 | Mississippi | Mississippi |
1231 | 0: iss | 0: iss |
1232 | 0+ issippi | 0+ issippi |
1233 | ||
1234 | /iss/G+ | /iss/IG+ |
1235 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1236 | No options | No options |
1237 | First char = 'i' | First char = 'i' |
# | Line 1206 Need char = 's' | Line 1242 Need char = 's' |
1242 | 0: iss | 0: iss |
1243 | 0+ ippi | 0+ ippi |
1244 | ||
1245 | /\Biss\B/G+ | /\Biss\B/IG+ |
1246 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1247 | No options | No options |
1248 | First char = 'i' | First char = 'i' |
# | Line 1215 Need char = 's' | Line 1251 Need char = 's' |
1251 | 0: iss | 0: iss |
1252 | 0+ issippi | 0+ issippi |
1253 | ||
1254 | /\Biss\B/g+ | /\Biss\B/Ig+ |
1255 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1256 | No options | No options |
1257 | First char = 'i' | First char = 'i' |
# | Line 1230 No match | Line 1266 No match |
1266 | Mississippi\A | Mississippi\A |
1267 | No match | No match |
1268 | ||
1269 | /(?<=[Ms])iss/g+ | /(?<=[Ms])iss/Ig+ |
1270 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1271 | No options | No options |
1272 | First char = 'i' | First char = 'i' |
# | Line 1241 Need char = 's' | Line 1277 Need char = 's' |
1277 | 0: iss | 0: iss |
1278 | 0+ ippi | 0+ ippi |
1279 | ||
1280 | /(?<=[Ms])iss/G+ | /(?<=[Ms])iss/IG+ |
1281 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1282 | No options | No options |
1283 | First char = 'i' | First char = 'i' |
# | Line 1250 Need char = 's' | Line 1286 Need char = 's' |
1286 | 0: iss | 0: iss |
1287 | 0+ issippi | 0+ issippi |
1288 | ||
1289 | /^iss/g+ | /^iss/Ig+ |
1290 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1291 | Options: anchored | Options: anchored |
1292 | No first char | No first char |
# | Line 1258 No need char | Line 1294 No need char |
1294 | ississippi | ississippi |
1295 | 0: iss | 0: iss |
1296 | 0+ issippi | 0+ issippi |
1297 | ||
1298 | /.*iss/g+ | /.*iss/Ig+ |
1299 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1300 | Partial matching not supported | |
1301 | No options | No options |
1302 | First char at start or follows \n | First char at start or follows newline |
1303 | Need char = 's' | Need char = 's' |
1304 | abciss\nxyzisspqr | abciss\nxyzisspqr |
1305 | 0: abciss | 0: abciss |
1306 | 0+ \x0axyzisspqr | 0+ \x0axyzisspqr |
1307 | 0: xyziss | 0: xyziss |
1308 | 0+ pqr | 0+ pqr |
1309 | ||
1310 | /.i./+g | /.i./I+g |
1311 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1312 | No options | No options |
1313 | No first char | No first char |
# | Line 1296 Need char = 'i' | Line 1333 Need char = 'i' |
1333 | 0+ river | 0+ river |
1334 | 0: riv | 0: riv |
1335 | 0+ er | 0+ er |
1336 | Missouri river\A | Missouri river\A |
1337 | 0: Mis | 0: Mis |
1338 | 0+ souri river | 0+ souri river |
1339 | ||
1340 | /^.is/+g | /^.is/I+g |
1341 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1342 | Options: anchored | Options: anchored |
1343 | No first char | No first char |
# | Line 1309 No need char | Line 1346 No need char |
1346 | 0: Mis | 0: Mis |
1347 | 0+ sissippi | 0+ sissippi |
1348 | ||
1349 | /^ab\n/g+ | /^ab\n/Ig+ |
1350 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1351 | Options: anchored | Options: anchored |
1352 | No first char | No first char |
# | Line 1318 No need char | Line 1355 No need char |
1355 | 0: ab\x0a | 0: ab\x0a |
1356 | 0+ ab\x0acd | 0+ ab\x0acd |
1357 | ||
1358 | /^ab\n/mg+ | /^ab\n/Img+ |
1359 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1360 | Options: multiline | Options: multiline |
1361 | First char at start or follows \n | First char at start or follows newline |
1362 | Need char = 10 | Need char = 10 |
1363 | ab\nab\ncd | ab\nab\ncd |
1364 | 0: ab\x0a | 0: ab\x0a |
# | Line 1329 Need char = 10 | Line 1366 Need char = 10 |
1366 | 0: ab\x0a | 0: ab\x0a |
1367 | 0+ cd | 0+ cd |
1368 | ||
1369 | /abc/ | /abc/I |
1370 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1371 | No options | No options |
1372 | First char = 'a' | First char = 'a' |
1373 | Need char = 'c' | Need char = 'c' |
1374 | ||
1375 | /abc|bac/ | /abc|bac/I |
1376 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1377 | No options | No options |
1378 | No first char | No first char |
1379 | Need char = 'c' | Need char = 'c' |
1380 | ||
1381 | /(abc|bac)/ | /(abc|bac)/I |
1382 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1383 | No options | No options |
1384 | No first char | No first char |
1385 | Need char = 'c' | Need char = 'c' |
1386 | ||
1387 | /(abc|(c|dc))/ | /(abc|(c|dc))/I |
1388 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
1389 | No options | No options |
1390 | No first char | No first char |
1391 | Need char = 'c' | Need char = 'c' |
1392 | ||
1393 | /(abc|(d|de)c)/ | /(abc|(d|de)c)/I |
1394 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
1395 | No options | No options |
1396 | No first char | No first char |
1397 | Need char = 'c' | Need char = 'c' |
1398 | ||
1399 | /a*/ | /a*/I |
1400 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1401 | Partial matching not supported | |
1402 | No options | No options |
1403 | No first char | No first char |
1404 | No need char | No need char |
1405 | ||
1406 | /a+/ | /a+/I |
1407 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1408 | Partial matching not supported | |
1409 | No options | No options |
1410 | First char = 'a' | First char = 'a' |
1411 | No need char | No need char |
1412 | ||
1413 | /(baa|a+)/ | /(baa|a+)/I |
1414 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1415 | Partial matching not supported | |
1416 | No options | No options |
1417 | No first char | No first char |
1418 | Need char = 'a' | Need char = 'a' |
1419 | ||
1420 | /a{0,3}/ | /a{0,3}/I |
1421 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1422 | Partial matching not supported | |
1423 | No options | No options |
1424 | No first char | No first char |
1425 | No need char | No need char |
1426 | ||
1427 | /baa{3,}/ | /baa{3,}/I |
1428 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1429 | Partial matching not supported | |
1430 | No options | No options |
1431 | First char = 'b' | First char = 'b' |
1432 | Need char = 'a' | Need char = 'a' |
1433 | ||
1434 | /"([^\\"]+|\\.)*"/ | /"([^\\"]+|\\.)*"/I |
1435 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1436 | Partial matching not supported | |
1437 | No options | No options |
1438 | First char = '"' | First char = '"' |
1439 | Need char = '"' | Need char = '"' |
1440 | ||
1441 | /(abc|ab[cd])/ | /(abc|ab[cd])/I |
1442 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1443 | No options | No options |
1444 | First char = 'a' | First char = 'a' |
1445 | No need char | No need char |
1446 | ||
1447 | /(a|.)/ | /(a|.)/I |
1448 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1449 | No options | No options |
1450 | No first char | No first char |
1451 | No need char | No need char |
1452 | ||
1453 | /a|ba|\w/ | /a|ba|\w/I |
1454 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1455 | No options | No options |
1456 | No first char | No first char |
1457 | No need char | No need char |
1458 | ||
1459 | /abc(?=pqr)/ | /abc(?=pqr)/I |
1460 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1461 | No options | No options |
1462 | First char = 'a' | First char = 'a' |
1463 | Need char = 'r' | Need char = 'r' |
1464 | ||
1465 | /...(?<=abc)/ | /...(?<=abc)/I |
1466 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1467 | No options | No options |
1468 | No first char | No first char |
1469 | No need char | No need char |
1470 | ||
1471 | /abc(?!pqr)/ | /abc(?!pqr)/I |
1472 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1473 | No options | No options |
1474 | First char = 'a' | First char = 'a' |
1475 | Need char = 'c' | Need char = 'c' |
1476 | ||
1477 | /ab./ | /ab./I |
1478 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1479 | No options | No options |
1480 | First char = 'a' | First char = 'a' |
1481 | Need char = 'b' | Need char = 'b' |
1482 | ||
1483 | /ab[xyz]/ | /ab[xyz]/I |
1484 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1485 | No options | No options |
1486 | First char = 'a' | First char = 'a' |
1487 | Need char = 'b' | Need char = 'b' |
1488 | ||
1489 | /abc*/ | /abc*/I |
1490 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1491 | Partial matching not supported | |
1492 | No options | No options |
1493 | First char = 'a' | First char = 'a' |
1494 | Need char = 'b' | Need char = 'b' |
1495 | ||
1496 | /ab.c*/ | /ab.c*/I |
1497 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1498 | Partial matching not supported | |
1499 | No options | No options |
1500 | First char = 'a' | First char = 'a' |
1501 | Need char = 'b' | Need char = 'b' |
1502 | ||
1503 | /a.c*/ | /a.c*/I |
1504 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1505 | Partial matching not supported | |
1506 | No options | No options |
1507 | First char = 'a' | First char = 'a' |
1508 | No need char | No need char |
1509 | ||
1510 | /.c*/ | /.c*/I |
1511 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1512 | Partial matching not supported | |
1513 | No options | No options |
1514 | No first char | No first char |
1515 | No need char | No need char |
1516 | ||
1517 | /ac*/ | /ac*/I |
1518 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1519 | Partial matching not supported | |
1520 | No options | No options |
1521 | First char = 'a' | First char = 'a' |
1522 | No need char | No need char |
1523 | ||
1524 | /(a.c*|b.c*)/ | /(a.c*|b.c*)/I |
1525 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1526 | Partial matching not supported | |
1527 | No options | No options |
1528 | No first char | No first char |
1529 | No need char | No need char |
1530 | ||
1531 | /a.c*|aba/ | /a.c*|aba/I |
1532 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1533 | Partial matching not supported | |
1534 | No options | No options |
1535 | First char = 'a' | First char = 'a' |
1536 | No need char | No need char |
1537 | ||
1538 | /.+a/ | /.+a/I |
1539 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1540 | Partial matching not supported | |
1541 | No options | No options |
1542 | No first char | No first char |
1543 | Need char = 'a' | Need char = 'a' |
1544 | ||
1545 | /(?=abcda)a.*/ | /(?=abcda)a.*/I |
1546 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1547 | Partial matching not supported | |
1548 | No options | No options |
1549 | First char = 'a' | First char = 'a' |
1550 | Need char = 'a' | Need char = 'a' |
1551 | ||
1552 | /(?=a)a.*/ | /(?=a)a.*/I |
1553 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1554 | Partial matching not supported | |
1555 | No options | No options |
1556 | First char = 'a' | First char = 'a' |
1557 | No need char | No need char |
1558 | ||
1559 | /a(b)*/ | /a(b)*/I |
1560 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1561 | No options | No options |
1562 | First char = 'a' | First char = 'a' |
1563 | No need char | No need char |
1564 | ||
1565 | /a\d*/ | /a\d*/I |
1566 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1567 | Partial matching not supported | |
1568 | No options | No options |
1569 | First char = 'a' | First char = 'a' |
1570 | No need char | No need char |
1571 | ||
1572 | /ab\d*/ | /ab\d*/I |
1573 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1574 | Partial matching not supported | |
1575 | No options | No options |
1576 | First char = 'a' | First char = 'a' |
1577 | Need char = 'b' | Need char = 'b' |
1578 | ||
1579 | /a(\d)*/ | /a(\d)*/I |
1580 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1581 | No options | No options |
1582 | First char = 'a' | First char = 'a' |
1583 | No need char | No need char |
1584 | ||
1585 | /abcde{0,0}/ | /abcde{0,0}/I |
1586 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1587 | No options | No options |
1588 | First char = 'a' | First char = 'a' |
1589 | Need char = 'd' | Need char = 'd' |
1590 | ||
1591 | /ab\d+/ | /ab\d+/I |
1592 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1593 | Partial matching not supported | |
1594 | No options | No options |
1595 | First char = 'a' | First char = 'a' |
1596 | Need char = 'b' | Need char = 'b' |
1597 | ||
1598 | /a(?(1)b)/ | /a(?(1)b)/I |
1599 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1600 | No options | No options |
1601 | First char = 'a' | First char = 'a' |
1602 | No need char | No need char |
1603 | ||
1604 | /a(?(1)bag|big)/ | /a(?(1)bag|big)/I |
1605 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1606 | No options | No options |
1607 | First char = 'a' | First char = 'a' |
1608 | Need char = 'g' | Need char = 'g' |
1609 | ||
1610 | /a(?(1)bag|big)*/ | /a(?(1)bag|big)*/I |
1611 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1612 | No options | No options |
1613 | First char = 'a' | First char = 'a' |
1614 | No need char | No need char |
1615 | ||
1616 | /a(?(1)bag|big)+/ | /a(?(1)bag|big)+/I |
1617 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1618 | No options | No options |
1619 | First char = 'a' | First char = 'a' |
1620 | Need char = 'g' | Need char = 'g' |
1621 | ||
1622 | /a(?(1)b..|b..)/ | /a(?(1)b..|b..)/I |
1623 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1624 | No options | No options |
1625 | First char = 'a' | First char = 'a' |
1626 | Need char = 'b' | Need char = 'b' |
1627 | ||
1628 | /ab\d{0}e/ | /ab\d{0}e/I |
1629 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1630 | No options | No options |
1631 | First char = 'a' | First char = 'a' |
1632 | Need char = 'e' | Need char = 'e' |
1633 | ||
1634 | /a?b?/ | /a?b?/I |
1635 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1636 | No options | No options |
1637 | No first char | No first char |
# | Line 1590 No need char | Line 1646 No need char |
1646 | 0: | 0: |
1647 | *** Failers | *** Failers |
1648 | 0: | 0: |
1649 | \N | \N |
1650 | No match | No match |
1651 | ||
1652 | /|-/ | /|-/I |
1653 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1654 | No options | No options |
1655 | No first char | No first char |
# | Line 1606 No need char | Line 1662 No need char |
1662 | 0: - | 0: - |
1663 | *** Failers | *** Failers |
1664 | 0: | 0: |
1665 | \Nabc | \Nabc |
1666 | No match | No match |
1667 | ||
1668 | /a*(b+)(z)(z)/P | /a*(b+)(z)(z)/IP |
1669 | aaaabbbbzzzz | aaaabbbbzzzz |
1670 | 0: aaaabbbbzz | 0: aaaabbbbzz |
1671 | 1: bbbb | 1: bbbb |
# | Line 1635 No match | Line 1691 No match |
1691 | 1: bbbb | 1: bbbb |
1692 | 2: z | 2: z |
1693 | 3: z | 3: z |
1694 | ||
1695 | /^.?abcd/S | /^.?abcd/IS |
1696 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1697 | Options: anchored | Options: anchored |
1698 | No first char | No first char |
# | Line 1650 Study returned NULL | Line 1706 Study returned NULL |
1706 | (?R) # Recurse - i.e. nested bracketed string | (?R) # Recurse - i.e. nested bracketed string |
1707 | )* # Zero or more contents | )* # Zero or more contents |
1708 | \) # Closing ) | \) # Closing ) |
1709 | /x | /Ix |
1710 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1711 | Partial matching not supported | |
1712 | Options: extended | Options: extended |
1713 | First char = '(' | First char = '(' |
1714 | Need char = ')' | Need char = ')' |
# | Line 1661 Need char = ')' | Line 1718 Need char = ')' |
1718 | 0: (abcd) | 0: (abcd) |
1719 | xyz(abcd) | xyz(abcd) |
1720 | 0: (abcd) | 0: (abcd) |
1721 | (ab(xy)cd)pqr | (ab(xy)cd)pqr |
1722 | 0: (ab(xy)cd) | 0: (ab(xy)cd) |
1723 | (ab(xycd)pqr | (ab(xycd)pqr |
1724 | 0: (xycd) | 0: (xycd) |
1725 | () abc () | () abc () |
1726 | 0: () | 0: () |
1727 | 12(abcde(fsh)xyz(foo(bar))lmno)89 | 12(abcde(fsh)xyz(foo(bar))lmno)89 |
1728 | 0: (abcde(fsh)xyz(foo(bar))lmno) | 0: (abcde(fsh)xyz(foo(bar))lmno) |
1729 | *** Failers | *** Failers |
1730 | No match | No match |
1731 | abcd | abcd |
1732 | No match | No match |
1733 | abcd) | abcd) |
1734 | No match | No match |
1735 | (abcd | (abcd |
1736 | No match | No match |
1737 | ||
1738 | /\( ( (?>[^()]+) | (?R) )* \) /xg | /\( ( (?>[^()]+) | (?R) )* \) /Ixg |
1739 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1740 | Partial matching not supported | |
1741 | Options: extended | Options: extended |
1742 | First char = '(' | First char = '(' |
1743 | Need char = ')' | Need char = ')' |
1744 | (ab(xy)cd)pqr | (ab(xy)cd)pqr |
1745 | 0: (ab(xy)cd) | 0: (ab(xy)cd) |
1746 | 1: cd | 1: cd |
1747 | 1(abcd)(x(y)z)pqr | 1(abcd)(x(y)z)pqr |
# | Line 1692 Need char = ')' | Line 1750 Need char = ')' |
1750 | 0: (x(y)z) | 0: (x(y)z) |
1751 | 1: z | 1: z |
1752 | ||
1753 | /\( (?: (?>[^()]+) | (?R) ) \) /x | /\( (?: (?>[^()]+) | (?R) ) \) /Ix |
1754 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1755 | Partial matching not supported | |
1756 | Options: extended | Options: extended |
1757 | First char = '(' | First char = '(' |
1758 | Need char = ')' | Need char = ')' |
# | Line 1701 Need char = ')' | Line 1760 Need char = ')' |
1760 | 0: (abcd) | 0: (abcd) |
1761 | (ab(xy)cd) | (ab(xy)cd) |
1762 | 0: (xy) | 0: (xy) |
1763 | (a(b(c)d)e) | (a(b(c)d)e) |
1764 | 0: (c) | 0: (c) |
1765 | ((ab)) | ((ab)) |
1766 | 0: ((ab)) | 0: ((ab)) |
1767 | *** Failers | *** Failers |
1768 | No match | No match |
1769 | () | () |
1770 | No match | No match |
1771 | ||
1772 | /\( (?: (?>[^()]+) | (?R) )? \) /x | /\( (?: (?>[^()]+) | (?R) )? \) /Ix |
1773 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
1774 | Partial matching not supported | |
1775 | Options: extended | Options: extended |
1776 | First char = '(' | First char = '(' |
1777 | Need char = ')' | Need char = ')' |
# | Line 1720 Need char = ')' | Line 1780 Need char = ')' |
1780 | 12(abcde(fsh)xyz(foo(bar))lmno)89 | 12(abcde(fsh)xyz(foo(bar))lmno)89 |
1781 | 0: (fsh) | 0: (fsh) |
1782 | ||
1783 | /\( ( (?>[^()]+) | (?R) )* \) /x | /\( ( (?>[^()]+) | (?R) )* \) /Ix |
1784 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
1785 | Partial matching not supported | |
1786 | Options: extended | Options: extended |
1787 | First char = '(' | First char = '(' |
1788 | Need char = ')' | Need char = ')' |
# | Line 1729 Need char = ')' | Line 1790 Need char = ')' |
1790 | 0: (ab(xy)cd) | 0: (ab(xy)cd) |
1791 | 1: cd | 1: cd |
1792 | ||
1793 | /\( ( ( (?>[^()]+) | (?R) )* ) \) /x | /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
1794 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
1795 | Partial matching not supported | |
1796 | Options: extended | Options: extended |
1797 | First char = '(' | First char = '(' |
1798 | Need char = ')' | Need char = ')' |
# | Line 1739 Need char = ')' | Line 1801 Need char = ')' |
1801 | 1: ab(xy)cd | 1: ab(xy)cd |
1802 | 2: cd | 2: cd |
1803 | ||
1804 | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
1805 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1806 | Partial matching not supported | |
1807 | Options: extended | Options: extended |
1808 | First char = '(' | First char = '(' |
1809 | Need char = ')' | Need char = ')' |
# | Line 1755 Need char = ')' | Line 1818 Need char = ')' |
1818 | 2: ab(xy)cd | 2: ab(xy)cd |
1819 | 3: cd | 3: cd |
1820 | ||
1821 | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix |
1822 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1823 | Partial matching not supported | |
1824 | Options: extended | Options: extended |
1825 | First char = '(' | First char = '(' |
1826 | Need char = ')' | Need char = ')' |
# | Line 1771 Need char = ')' | Line 1835 Need char = ')' |
1835 | 2: 123 | 2: 123 |
1836 | 3: cd | 3: cd |
1837 | ||
1838 | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix |
1839 | Capturing subpattern count = 11 | Capturing subpattern count = 11 |
1840 | Partial matching not supported | |
1841 | Options: extended | Options: extended |
1842 | First char = '(' | First char = '(' |
1843 | Need char = ')' | Need char = ')' |
# | Line 1790 Need char = ')' | Line 1855 Need char = ')' |
1855 | 10: ab(xy)cd | 10: ab(xy)cd |
1856 | 11: cd | 11: cd |
1857 | ||
1858 | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix |
1859 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1860 | Partial matching not supported | |
1861 | Options: extended | Options: extended |
1862 | First char = '(' | First char = '(' |
1863 | Need char = ')' | Need char = ')' |
# | Line 1801 Need char = ')' | Line 1867 Need char = ')' |
1867 | 2: 123 | 2: 123 |
1868 | 3: <unset> | 3: <unset> |
1869 | ||
1870 | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix |
1871 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
1872 | Partial matching not supported | |
1873 | Options: extended | Options: extended |
1874 | First char = '(' | First char = '(' |
1875 | Need char = ')' | Need char = ')' |
# | Line 1830 Options: anchored | Line 1897 Options: anchored |
1897 | No first char | No first char |
1898 | No need char | No need char |
1899 | ||
1900 | /^[[:^alnum:]]/D | |
1901 | ------------------------------------------------------------------ | |
1902 | 0 37 Bra 0 | |
1903 | 3 ^ | |
1904 | 4 [\x00-/:-@[-`{-\xff] | |
1905 | 37 37 Ket | |
1906 | 40 End | |
1907 | ------------------------------------------------------------------ | |
1908 | Capturing subpattern count = 0 | |
1909 | Options: anchored | |
1910 | No first char | |
1911 | No need char | |
1912 | ||
1913 | /^[[:alpha:]]/D | /^[[:alpha:]]/D |
1914 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1915 | 0 37 Bra 0 | 0 37 Bra 0 |
# | Line 1842 Capturing subpattern count = 0 | Line 1922 Capturing subpattern count = 0 |
1922 | Options: anchored | Options: anchored |
1923 | No first char | No first char |
1924 | No need char | No need char |
1925 | ||
1926 | /^[[:^alpha:]]/D | |
1927 | ------------------------------------------------------------------ | |
1928 | 0 37 Bra 0 | |
1929 | 3 ^ | |
1930 | 4 [\x00-@[-`{-\xff] | |
1931 | 37 37 Ket | |
1932 | 40 End | |
1933 | ------------------------------------------------------------------ | |
1934 | Capturing subpattern count = 0 | |
1935 | Options: anchored | |
1936 | No first char | |
1937 | No need char | |
1938 | ||
1939 | /[_[:alpha:]]/IS | |
1940 | Capturing subpattern count = 0 | |
1941 | No options | |
1942 | No first char | |
1943 | No need char | |
1944 | 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 | |
1945 | _ 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 | |
1946 | ||
1947 | /^[[:ascii:]]/D | /^[[:ascii:]]/D |
1948 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1949 | 0 37 Bra 0 | 0 37 Bra 0 |
# | Line 1856 Options: anchored | Line 1957 Options: anchored |
1957 | No first char | No first char |
1958 | No need char | No need char |
1959 | ||
1960 | /^[[:^ascii:]]/D | |
1961 | ------------------------------------------------------------------ | |
1962 | 0 37 Bra 0 | |
1963 | 3 ^ | |
1964 | 4 [\x80-\xff] | |
1965 | 37 37 Ket | |
1966 | 40 End | |
1967 | ------------------------------------------------------------------ | |
1968 | Capturing subpattern count = 0 | |
1969 | Options: anchored | |
1970 | No first char | |
1971 | No need char | |
1972 | ||
1973 | /^[[:blank:]]/D | /^[[:blank:]]/D |
1974 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
1975 | 0 37 Bra 0 | 0 37 Bra 0 |
# | Line 1869 Options: anchored | Line 1983 Options: anchored |
1983 | No first char | No first char |
1984 | No need char | No need char |
1985 | ||
1986 | /^[[:^blank:]]/D | |
1987 | ------------------------------------------------------------------ | |
1988 | 0 37 Bra 0 | |
1989 | 3 ^ | |
1990 | 4 [\x00-\x08\x0a-\x1f!-\xff] | |
1991 | 37 37 Ket | |
1992 | 40 End | |
1993 | ------------------------------------------------------------------ | |
1994 | Capturing subpattern count = 0 | |
1995 | Options: anchored | |
1996 | No first char | |
1997 | No need char | |
1998 | ||
1999 | /[\n\x0b\x0c\x0d[:blank:]]/IS | |
2000 | Capturing subpattern count = 0 | |
2001 | No options | |
2002 | No first char | |
2003 | No need char | |
2004 | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 | |
2005 | ||
2006 | /^[[:cntrl:]]/D | /^[[:cntrl:]]/D |
2007 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2008 | 0 37 Bra 0 | 0 37 Bra 0 |
# | Line 2016 No need char | Line 2150 No need char |
2150 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2151 | 0 37 Bra 0 | 0 37 Bra 0 |
2152 | 3 ^ | 3 ^ |
2153 | 4 [\x00-/1-2:-\xff] | 4 [\x00-/12:-\xff] |
2154 | 37 37 Ket | 37 37 Ket |
2155 | 40 End | 40 End |
2156 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
# | Line 2041 No need char | Line 2175 No need char |
2175 | /[01[:alpha:]%]/D | /[01[:alpha:]%]/D |
2176 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2177 | 0 36 Bra 0 | 0 36 Bra 0 |
2178 | 3 [%0-1A-Za-z] | 3 [%01A-Za-z] |
2179 | 36 36 Ket | 36 36 Ket |
2180 | 39 End | 39 End |
2181 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
# | Line 2050 No options | Line 2184 No options |
2184 | No first char | No first char |
2185 | No need char | No need char |
2186 | ||
2187 | /[[.ch.]]/ | /[[.ch.]]/I |
2188 | Failed: POSIX collating elements are not supported at offset 1 | Failed: POSIX collating elements are not supported at offset 1 |
2189 | ||
2190 | /[[=ch=]]/ | /[[=ch=]]/I |
2191 | Failed: POSIX collating elements are not supported at offset 1 | Failed: POSIX collating elements are not supported at offset 1 |
2192 | ||
2193 | /[[:rhubarb:]]/ | /[[:rhubarb:]]/I |
2194 | Failed: unknown POSIX class name at offset 3 | Failed: unknown POSIX class name at offset 3 |
2195 | ||
2196 | /[[:upper:]]/i | /[[:upper:]]/Ii |
2197 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2198 | Options: caseless | Options: caseless |
2199 | No first char | No first char |
2200 | No need char | No need char |
2201 | A | A |
2202 | 0: A | 0: A |
2203 | a | a |
2204 | 0: a | 0: a |
2205 | ||
2206 | /[[:lower:]]/i | /[[:lower:]]/Ii |
2207 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2208 | Options: caseless | Options: caseless |
2209 | No first char | No first char |
2210 | No need char | No need char |
2211 | A | A |
2212 | 0: A | 0: A |
2213 | a | a |
2214 | 0: a | 0: a |
2215 | ||
2216 | /((?-i)[[:lower:]])[[:lower:]]/i | /((?-i)[[:lower:]])[[:lower:]]/Ii |
2217 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2218 | Options: caseless | Options: caseless |
Case state changes | ||
2219 | No first char | No first char |
2220 | No need char | No need char |
2221 | ab | ab |
# | Line 2096 No need char | Line 2229 No need char |
2229 | 1: a | 1: a |
2230 | Ab | Ab |
2231 | No match | No match |
2232 | AB | AB |
2233 | No match | No match |
2234 | ||
2235 | /[\200-\410]/ | /[\200-\110]/I |
2236 | Failed: range out of order in character class at offset 9 | Failed: range out of order in character class at offset 9 |
2237 | ||
2238 | /^(?(0)f|b)oo/ | /^(?(0)f|b)oo/I |
2239 | Failed: invalid condition (?(0) at offset 5 | Failed: invalid condition (?(0) at offset 6 |
2240 | ||
2241 | /This one's here because of the large output vector needed/ | /This one's here because of the large output vector needed/I |
2242 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2243 | No options | No options |
2244 | First char = 'T' | First char = 'T' |
2245 | Need char = 'd' | Need char = 'd' |
2246 | ||
2247 | /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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 |
2248 | Capturing subpattern count = 271 | Capturing subpattern count = 271 |
2249 | Max back reference = 270 | Max back reference = 270 |
2250 | Partial matching not supported | |
2251 | No options | No options |
2252 | No first char | No first char |
2253 | No need char | No need char |
# | Line 2391 No need char | Line 2525 No need char |
2525 | 270: ABC | 270: ABC |
2526 | 271: ABC | 271: ABC |
2527 | ||
2528 | /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 |
2529 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2530 | No options | No options |
2531 | First char = 'T' | First char = 'T' |
2532 | Need char = 't' | Need char = 't' |
2533 | ||
2534 | /(main(O)?)+/ | /(main(O)?)+/I |
2535 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
2536 | No options | No options |
2537 | First char = 'm' | First char = 'm' |
# | Line 2409 Need char = 'n' | Line 2543 Need char = 'n' |
2543 | 0: mainOmain | 0: mainOmain |
2544 | 1: main | 1: main |
2545 | 2: O | 2: O |
2546 | ||
2547 | /These are all cases where Perl does it differently (nested captures)/ | /These are all cases where Perl does it differently (nested captures)/I |
2548 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2549 | No options | No options |
2550 | First char = 'T' | First char = 'T' |
2551 | Need char = 's' | Need char = 's' |
2552 | ||
2553 | /^(a(b)?)+$/ | /^(a(b)?)+$/I |
2554 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
2555 | Options: anchored | Options: anchored |
2556 | No first char | No first char |
# | Line 2425 No need char | Line 2559 No need char |
2559 | 0: aba | 0: aba |
2560 | 1: a | 1: a |
2561 | 2: b | 2: b |
2562 | ||
2563 | /^(aa(bb)?)+$/ | /^(aa(bb)?)+$/I |
2564 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
2565 | Options: anchored | Options: anchored |
2566 | No first char | No first char |
2567 | No need char | No need char |
2568 | aabbaa | aabbaa |
2569 | 0: aabbaa | 0: aabbaa |
2570 | 1: aa | 1: aa |
2571 | 2: bb | 2: bb |
2572 | ||
2573 | /^(aa|aa(bb))+$/ | /^(aa|aa(bb))+$/I |
2574 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
2575 | Options: anchored | Options: anchored |
2576 | No first char | No first char |
2577 | No need char | No need char |
2578 | aabbaa | aabbaa |
2579 | 0: aabbaa | 0: aabbaa |
2580 | 1: aa | 1: aa |
2581 | 2: bb | 2: bb |
2582 | ||
2583 | /^(aa(bb)??)+$/ | /^(aa(bb)??)+$/I |
2584 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
2585 | Options: anchored | Options: anchored |
2586 | No first char | No first char |
2587 | No need char | No need char |
2588 | aabbaa | aabbaa |
2589 | 0: aabbaa | 0: aabbaa |
2590 | 1: aa | 1: aa |
2591 | 2: bb | 2: bb |
2592 | ||
2593 | /^(?:aa(bb)?)+$/ | /^(?:aa(bb)?)+$/I |
2594 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2595 | Options: anchored | Options: anchored |
2596 | No first char | No first char |
2597 | No need char | No need char |
2598 | aabbaa | aabbaa |
2599 | 0: aabbaa | 0: aabbaa |
2600 | 1: bb | 1: bb |
2601 | ||
2602 | /^(aa(b(b))?)+$/ | /^(aa(b(b))?)+$/I |
2603 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
2604 | Options: anchored | Options: anchored |
2605 | No first char | No first char |
2606 | No need char | No need char |
2607 | aabbaa | aabbaa |
2608 | 0: aabbaa | 0: aabbaa |
2609 | 1: aa | 1: aa |
2610 | 2: bb | 2: bb |
2611 | 3: b | 3: b |
2612 | ||
2613 | /^(?:aa(b(b))?)+$/ | /^(?:aa(b(b))?)+$/I |
2614 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
2615 | Options: anchored | Options: anchored |
2616 | No first char | No first char |
2617 | No need char | No need char |
2618 | aabbaa | aabbaa |
2619 | 0: aabbaa | 0: aabbaa |
2620 | 1: bb | 1: bb |
2621 | 2: b | 2: b |
2622 | ||
2623 | /^(?:aa(b(?:b))?)+$/ | /^(?:aa(b(?:b))?)+$/I |
2624 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2625 | Options: anchored | Options: anchored |
2626 | No first char | No first char |
2627 | No need char | No need char |
2628 | aabbaa | aabbaa |
2629 | 0: aabbaa | 0: aabbaa |
2630 | 1: bb | 1: bb |
2631 | ||
2632 | /^(?:aa(bb(?:b))?)+$/ | /^(?:aa(bb(?:b))?)+$/I |
2633 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2634 | Options: anchored | Options: anchored |
2635 | No first char | No first char |
2636 | No need char | No need char |
2637 | aabbbaa | aabbbaa |
2638 | 0: aabbbaa | 0: aabbbaa |
2639 | 1: bbb | 1: bbb |
2640 | ||
2641 | /^(?:aa(b(?:bb))?)+$/ | /^(?:aa(b(?:bb))?)+$/I |
2642 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2643 | Options: anchored | Options: anchored |
2644 | No first char | No first char |
2645 | No need char | No need char |
2646 | aabbbaa | aabbbaa |
2647 | 0: aabbbaa | 0: aabbbaa |
2648 | 1: bbb | 1: bbb |
2649 | ||
2650 | /^(?:aa(?:b(b))?)+$/ | /^(?:aa(?:b(b))?)+$/I |
2651 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2652 | Options: anchored | Options: anchored |
2653 | No first char | No first char |
2654 | No need char | No need char |
2655 | aabbaa | aabbaa |
2656 | 0: aabbaa | 0: aabbaa |
2657 | 1: b | 1: b |
2658 | ||
2659 | /^(?:aa(?:b(bb))?)+$/ | /^(?:aa(?:b(bb))?)+$/I |
2660 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2661 | Options: anchored | Options: anchored |
2662 | No first char | No first char |
2663 | No need char | No need char |
2664 | aabbbaa | aabbbaa |
2665 | 0: aabbbaa | 0: aabbbaa |
2666 | 1: bb | 1: bb |
2667 | ||
2668 | /^(aa(b(bb))?)+$/ | /^(aa(b(bb))?)+$/I |
2669 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
2670 | Options: anchored | Options: anchored |
2671 | No first char | No first char |
2672 | No need char | No need char |
2673 | aabbbaa | aabbbaa |
2674 | 0: aabbbaa | 0: aabbbaa |
2675 | 1: aa | 1: aa |
2676 | 2: bbb | 2: bbb |
2677 | 3: bb | 3: bb |
2678 | ||
2679 | /^(aa(bb(bb))?)+$/ | /^(aa(bb(bb))?)+$/I |
2680 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
2681 | Options: anchored | Options: anchored |
2682 | No first char | No first char |
2683 | No need char | No need char |
2684 | aabbbbaa | aabbbbaa |
2685 | 0: aabbbbaa | 0: aabbbbaa |
2686 | 1: aa | 1: aa |
2687 | 2: bbbb | 2: bbbb |
2688 | 3: bb | 3: bb |
2689 | ||
2690 | /--------------------------------------------------------------------/ | /--------------------------------------------------------------------/I |
2691 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2692 | No options | No options |
2693 | First char = '-' | First char = '-' |
2694 | Need char = '-' | Need char = '-' |
2695 | ||
2696 | /#/xMD | /#/IxMD |
2697 | Memory allocation (code space): 7 | Memory allocation (code space): 7 |
2698 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2699 | 0 3 Bra 0 | 0 3 Bra 0 |
# | Line 2571 Options: extended | Line 2705 Options: extended |
2705 | No first char | No first char |
2706 | No need char | No need char |
2707 | ||
2708 | /a#/xMD | /a#/IxMD |
2709 | Memory allocation (code space): 13 | Memory allocation (code space): 9 |
2710 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2711 | 0 6 Bra 0 | 0 5 Bra 0 |
2712 | 3 1 a | 3 a |
2713 | 6 6 Ket | 5 5 Ket |
2714 | 9 End | 8 End |
2715 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2716 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2717 | Options: extended | Options: extended |
# | Line 2587 No need char | Line 2721 No need char |
2721 | /[\s]/D | /[\s]/D |
2722 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2723 | 0 36 Bra 0 | 0 36 Bra 0 |
2724 | 3 [\x09-\x0a\x0c-\x0d ] | 3 [\x09\x0a\x0c\x0d ] |
2725 | 36 36 Ket | 36 36 Ket |
2726 | 39 End | 39 End |
2727 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
# | Line 2610 No need char | Line 2744 No need char |
2744 | ||
2745 | /a(?i)b/D | /a(?i)b/D |
2746 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2747 | 0 11 Bra 0 | 0 9 Bra 0 |
2748 | 3 1 a | 3 a |
2749 | 6 01 Opt | 5 01 Opt |
2750 | 8 1 b | 7 NC b |
2751 | 11 11 Ket | 9 9 Ket |
2752 | 14 End | 12 End |
2753 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2754 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2755 | No options | No options |
Case state changes | ||
2756 | First char = 'a' | First char = 'a' |
2757 | Need char = 'b' (caseless) | Need char = 'b' (caseless) |
2758 | ab | ab |
2759 | 0: ab | 0: ab |
2760 | aB | aB |
2761 | 0: aB | 0: aB |
2762 | *** Failers | *** Failers |
2763 | No match | No match |
2764 | AB | AB |
2765 | No match | No match |
2766 | ||
2767 | /(a(?i)b)/D | /(a(?i)b)/D |
2768 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2769 | 0 19 Bra 0 | 0 19 Bra 0 |
2770 | 3 11 Bra 1 | 3 11 Bra 1 |
2771 | 6 1 a | 8 a |
2772 | 9 01 Opt | 10 01 Opt |
2773 | 11 1 b | 12 NC b |
2774 | 14 11 Ket | 14 11 Ket |
2775 | 17 00 Opt | 17 00 Opt |
2776 | 19 19 Ket | 19 19 Ket |
# | Line 2645 No match | Line 2778 No match |
2778 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2779 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2780 | No options | No options |
Case state changes | ||
2781 | First char = 'a' | First char = 'a' |
2782 | Need char = 'b' (caseless) | Need char = 'b' (caseless) |
2783 | ab | ab |
# | Line 2654 Need char = 'b' (caseless) | Line 2786 Need char = 'b' (caseless) |
2786 | aB | aB |
2787 | 0: aB | 0: aB |
2788 | 1: aB | 1: aB |
2789 | *** Failers | *** Failers |
2790 | No match | No match |
2791 | AB | AB |
2792 | No match | No match |
2793 | ||
2794 | / (?i)abc/xD | / (?i)abc/IxD |
2795 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2796 | 0 8 Bra 0 | 0 9 Bra 0 |
2797 | 3 3 abc | 3 NC abc |
2798 | 8 8 Ket | 9 9 Ket |
2799 | 11 End | 12 End |
2800 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2801 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2802 | Options: caseless extended | Options: caseless extended |
# | Line 2672 First char = 'a' (caseless) | Line 2804 First char = 'a' (caseless) |
2804 | Need char = 'c' (caseless) | Need char = 'c' (caseless) |
2805 | ||
2806 | /#this is a comment | /#this is a comment |
2807 | (?i)abc/xD | (?i)abc/IxD |
2808 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2809 | 0 8 Bra 0 | 0 9 Bra 0 |
2810 | 3 3 abc | 3 NC abc |
2811 | 8 8 Ket | 9 9 Ket |
2812 | 11 End | 12 End |
2813 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2814 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2815 | Options: caseless extended | Options: caseless extended |
# | Line 2686 Need char = 'c' (caseless) | Line 2818 Need char = 'c' (caseless) |
2818 | ||
2819 | /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D | /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D |
2820 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2821 | 0 307 Bra 0 | 0 603 Bra 0 |
2822 | 3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 | 3 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 |
2823 | 255 50 12345678901234567890123456789012345678901234567890 | 603 603 Ket |
2824 | 307 307 Ket | 606 End |
310 End | ||
2825 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2826 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2827 | No options | No options |
# | Line 2699 Need char = '0' | Line 2830 Need char = '0' |
2830 | ||
2831 | /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D | /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D |
2832 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2833 | 0 307 Bra 0 | 0 603 Bra 0 |
2834 | 3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 | 3 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 |
2835 | 255 50 12345678901234567890123456789012345678901234567890 | 603 603 Ket |
2836 | 307 307 Ket | 606 End |
310 End | ||
2837 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2838 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2839 | No options | No options |
# | Line 2725 No need char | Line 2855 No need char |
2855 | ||
2856 | /\Q\Ex/D | /\Q\Ex/D |
2857 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2858 | 0 6 Bra 0 | 0 5 Bra 0 |
2859 | 3 1 x | 3 x |
2860 | 6 6 Ket | 5 5 Ket |
2861 | 9 End | 8 End |
2862 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2863 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2864 | No options | No options |
# | Line 2737 No need char | Line 2867 No need char |
2867 | ||
2868 | / \Q\E/D | / \Q\E/D |
2869 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2870 | 0 6 Bra 0 | 0 5 Bra 0 |
2871 | 3 1 | 3 |
2872 | 6 6 Ket | 5 5 Ket |
2873 | 9 End | 8 End |
2874 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2875 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2876 | No options | No options |
# | Line 2749 No need char | Line 2879 No need char |
2879 | ||
2880 | /a\Q\E/D | /a\Q\E/D |
2881 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2882 | 0 6 Bra 0 | 0 5 Bra 0 |
2883 | 3 1 a | 3 a |
2884 | 6 6 Ket | 5 5 Ket |
2885 | 9 End | 8 End |
2886 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2887 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2888 | No options | No options |
# | Line 2762 No need char | Line 2892 No need char |
2892 | 0: a | 0: a |
2893 | bca | bca |
2894 | 0: a | 0: a |
2895 | bac | bac |
2896 | 0: a | 0: a |
2897 | ||
2898 | /a\Q\Eb/D | /a\Q\Eb/D |
2899 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2900 | 0 9 Bra 0 | 0 7 Bra 0 |
2901 | 3 1 a | 3 ab |
2902 | 6 1 b | 7 7 Ket |
2903 | 9 9 Ket | 10 End |
12 End | ||
2904 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2905 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2906 | No options | No options |
# | Line 2782 Need char = 'b' | Line 2911 Need char = 'b' |
2911 | ||
2912 | /\Q\Eabc/D | /\Q\Eabc/D |
2913 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2914 | 0 8 Bra 0 | 0 9 Bra 0 |
2915 | 3 3 abc | 3 abc |
2916 | 8 8 Ket | 9 9 Ket |
2917 | 11 End | 12 End |
2918 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2919 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2920 | No options | No options |
# | Line 2794 Need char = 'c' | Line 2923 Need char = 'c' |
2923 | ||
2924 | /x*+\w/D | /x*+\w/D |
2925 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2926 | 0 12 Bra 0 | 0 6 Bra 0 |
2927 | 3 5 Once | 3 x*+ |
2928 | 6 x* | 5 \w |
2929 | 8 5 Ket | 6 6 Ket |
2930 | 11 \w | 9 End |
12 12 Ket | ||
15 End | ||
2931 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2932 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2933 | Partial matching not supported | |
2934 | No options | No options |
2935 | No first char | No first char |
2936 | No need char | No need char |
# | Line 2810 No need char | Line 2938 No need char |
2938 | 0: F | 0: F |
2939 | xxxxx | xxxxx |
2940 | No match | No match |
2941 | ||
2942 | /x?+/D | /x?+/D |
2943 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2944 | 0 11 Bra 0 | 0 5 Bra 0 |
2945 | 3 5 Once | 3 x?+ |
2946 | 6 x? | 5 5 Ket |
2947 | 8 5 Ket | 8 End |
11 11 Ket | ||
14 End | ||
2948 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2949 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2950 | No options | No options |
# | Line 2827 No need char | Line 2953 No need char |
2953 | ||
2954 | /x++/D | /x++/D |
2955 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2956 | 0 11 Bra 0 | 0 5 Bra 0 |
2957 | 3 5 Once | 3 x++ |
2958 | 6 x+ | 5 5 Ket |
2959 | 8 5 Ket | 8 End |
11 11 Ket | ||
14 End | ||
2960 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2961 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2962 | Partial matching not supported | |
2963 | No options | No options |
2964 | First char = 'x' | First char = 'x' |
2965 | No need char | No need char |
2966 | ||
2967 | /x{1,3}+/D | /x{1,3}+/D |
2968 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2969 | 0 16 Bra 0 | 0 15 Bra 0 |
2970 | 3 10 Once | 3 9 Once |
2971 | 6 1 x | 6 x |
2972 | 9 x{,2} | 8 x{0,2} |
2973 | 13 10 Ket | 12 9 Ket |
2974 | 16 16 Ket | 15 15 Ket |
2975 | 19 End | 18 End |
2976 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2977 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
2978 | Partial matching not supported | |
2979 | No options | No options |
2980 | First char = 'x' | First char = 'x' |
2981 | No need char | No need char |
2982 | ||
2983 | /(x)*+/D | /(x)*+/D |
2984 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2985 | 0 19 Bra 0 | 0 20 Bra 0 |
2986 | 3 13 Once | 3 14 Once |
2987 | 6 Brazero | 6 Brazero |
2988 | 7 6 Bra 1 | 7 7 Bra 1 |
2989 | 10 1 x | 12 x |
2990 | 13 6 KetRmax | 14 7 KetRmax |
2991 | 16 13 Ket | 17 14 Ket |
2992 | 19 19 Ket | 20 20 Ket |
2993 | 22 End | 23 End |
2994 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
2995 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
2996 | No options | No options |
2997 | No first char | No first char |
2998 | No need char | No need char |
2999 | ||
3000 | /^(\w++|\s++)*$/ | /^(\w++|\s++)*$/I |
3001 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3002 | Partial matching not supported | |
3003 | Options: anchored | Options: anchored |
3004 | No first char | No first char |
3005 | No need char | No need char |
# | Line 2883 No need char | Line 3010 No need char |
3010 | No match | No match |
3011 | this is not a line with only words and spaces! | this is not a line with only words and spaces! |
3012 | No match | No match |
3013 | ||
3014 | /(\d++)(\w)/ | /(\d++)(\w)/I |
3015 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
3016 | Partial matching not supported | |
3017 | No options | No options |
3018 | No first char | No first char |
3019 | No need char | No need char |
# | Line 2895 No need char | Line 3023 No need char |
3023 | 2: a | 2: a |
3024 | *** Failers | *** Failers |
3025 | No match | No match |
3026 | 12345+ | 12345+ |
3027 | No match | No match |
3028 | ||
3029 | /a++b/ | /a++b/I |
3030 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3031 | Partial matching not supported | |
3032 | No options | No options |
3033 | First char = 'a' | First char = 'a' |
3034 | Need char = 'b' | Need char = 'b' |
3035 | aaab | aaab |
3036 | 0: aaab | 0: aaab |
3037 | ||
3038 | /(a++b)/ | /(a++b)/I |
3039 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3040 | Partial matching not supported | |
3041 | No options | No options |
3042 | First char = 'a' | First char = 'a' |
3043 | Need char = 'b' | Need char = 'b' |
# | Line 2915 Need char = 'b' | Line 3045 Need char = 'b' |
3045 | 0: aaab | 0: aaab |
3046 | 1: aaab | 1: aaab |
3047 | ||
3048 | /(a++)b/ | /(a++)b/I |
3049 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3050 | Partial matching not supported | |
3051 | No options | No options |
3052 | First char = 'a' | First char = 'a' |
3053 | Need char = 'b' | Need char = 'b' |
# | Line 2924 Need char = 'b' | Line 3055 Need char = 'b' |
3055 | 0: aaab | 0: aaab |
3056 | 1: aaa | 1: aaa |
3057 | ||
3058 | /([^()]++|\([^()]*\))+/ | /([^()]++|\([^()]*\))+/I |
3059 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3060 | Partial matching not supported | |
3061 | No options | No options |
3062 | No first char | No first char |
3063 | No need char | No need char |
3064 | ((abc(ade)ufh()()x | ((abc(ade)ufh()()x |
3065 | 0: abc(ade)ufh()()x | 0: abc(ade)ufh()()x |
3066 | 1: x | 1: x |
3067 | ||
3068 | /\(([^()]++|\([^()]+\))+\)/ | /\(([^()]++|\([^()]+\))+\)/I |
3069 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3070 | Partial matching not supported | |
3071 | No options | No options |
3072 | First char = '(' | First char = '(' |
3073 | Need char = ')' | Need char = ')' |
# | Line 2946 Need char = ')' | Line 3079 Need char = ')' |
3079 | 1: xyz | 1: xyz |
3080 | *** Failers | *** Failers |
3081 | No match | No match |
3082 | ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
3083 | No match | No match |
3084 | ||
3085 | /(abc){1,3}+/D | /(abc){1,3}+/D |
3086 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3087 | 0 50 Bra 0 | 0 59 Bra 0 |
3088 | 3 44 Once | 3 53 Once |
3089 | 6 8 Bra 1 | 6 11 Bra 1 |
3090 | 9 3 abc | 11 abc |
3091 | 14 8 Ket | 17 11 Ket |
3092 | 17 Brazero | 20 Brazero |
3093 | 18 26 Bra 0 | 21 32 Bra 0 |
3094 | 21 8 Bra 1 | 24 11 Bra 1 |
3095 | 24 3 abc | 29 abc |
3096 | 29 8 Ket | 35 11 Ket |
3097 | 32 Brazero | 38 Brazero |
3098 | 33 8 Bra 1 | 39 11 Bra 1 |
3099 | 36 3 abc | 44 abc |
3100 | 41 8 Ket | 50 11 Ket |
3101 | 44 26 Ket | 53 32 Ket |
3102 | 47 44 Ket | 56 53 Ket |
3103 | 50 50 Ket | 59 59 Ket |
3104 | 53 End | 62 End |
3105 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3106 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3107 | No options | No options |
3108 | First char = 'a' | First char = 'a' |
3109 | Need char = 'c' | Need char = 'c' |
3110 | ||
3111 | /a+?+/ | /a+?+/I |
3112 | Failed: nothing to repeat at offset 3 | Failed: nothing to repeat at offset 3 |
3113 | ||
3114 | /a{2,3}?+b/ | /a{2,3}?+b/I |
3115 | Failed: nothing to repeat at offset 7 | Failed: nothing to repeat at offset 7 |
3116 | ||
3117 | /(?U)a+?+/ | /(?U)a+?+/I |
3118 | Failed: nothing to repeat at offset 7 | Failed: nothing to repeat at offset 7 |
3119 | ||
3120 | /a{2,3}?+b/U | /a{2,3}?+b/IU |
3121 | Failed: nothing to repeat at offset 7 | Failed: nothing to repeat at offset 7 |
3122 | ||
3123 | /x(?U)a++b/D | /x(?U)a++b/D |
3124 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3125 | 0 17 Bra 0 | 0 9 Bra 0 |
3126 | 3 1 x | 3 x |
3127 | 6 5 Once | 5 a++ |
3128 | 9 a+ | 7 b |
3129 | 11 5 Ket | 9 9 Ket |
3130 | 14 1 b | 12 End |
17 17 Ket | ||
20 End | ||
3131 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3132 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3133 | Partial matching not supported | |
3134 | No options | No options |
3135 | First char = 'x' | First char = 'x' |
3136 | Need char = 'b' | Need char = 'b' |
# | Line 3007 Need char = 'b' | Line 3139 Need char = 'b' |
3139 | ||
3140 | /(?U)xa++b/D | /(?U)xa++b/D |
3141 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3142 | 0 17 Bra 0 | 0 9 Bra 0 |
3143 | 3 1 x | 3 x |
3144 | 6 5 Once | 5 a++ |
3145 | 9 a+ | 7 b |
3146 | 11 5 Ket | 9 9 Ket |
3147 | 14 1 b | 12 End |
17 17 Ket | ||
20 End | ||
3148 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3149 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3150 | Partial matching not supported | |
3151 | Options: ungreedy | Options: ungreedy |
3152 | First char = 'x' | First char = 'x' |
3153 | Need char = 'b' | Need char = 'b' |
# | Line 3025 Need char = 'b' | Line 3156 Need char = 'b' |
3156 | ||
3157 | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D |
3158 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3159 | 0 106 Bra 0 | 0 116 Bra 0 |
3160 | 3 ^ | 3 ^ |
3161 | 4 99 Bra 1 | 4 109 Bra 1 |
3162 | 7 5 Bra 2 | 9 7 Bra 2 |
3163 | 10 a+ | 14 a+ |
3164 | 12 5 Ket | 16 7 Ket |
3165 | 15 37 Bra 3 | 19 39 Bra 3 |
3166 | 18 [a-b]+? | 24 [ab]+? |
3167 | 52 37 Ket | 58 39 Ket |
3168 | 55 37 Bra 4 | 61 39 Bra 4 |
3169 | 58 [b-c]+ | 66 [bc]+ |
3170 | 92 37 Ket | 100 39 Ket |
3171 | 95 5 Bra 5 | 103 7 Bra 5 |
3172 | 98 \w* | 108 \w* |
3173 | 100 5 Ket | 110 7 Ket |
3174 | 103 99 Ket | 113 109 Ket |
3175 | 106 106 Ket | 116 116 Ket |
3176 | 109 End | 119 End |
3177 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3178 | Capturing subpattern count = 5 | Capturing subpattern count = 5 |
3179 | Partial matching not supported | |
3180 | Options: anchored | Options: anchored |
3181 | No first char | No first char |
3182 | No need char | No need char |
3183 | ||
3184 | /^x(?U)a+b/D | /^x(?U)a+b/D |
3185 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3186 | 0 12 Bra 0 | 0 10 Bra 0 |
3187 | 3 ^ | 3 ^ |
3188 | 4 1 x | 4 x |
3189 | 7 a+? | 6 a++ |
3190 | 9 1 b | 8 b |
3191 | 12 12 Ket | 10 10 Ket |
3192 | 15 End | 13 End |
3193 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3194 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3195 | Partial matching not supported | |
3196 | Options: anchored | Options: anchored |
3197 | No first char | No first char |
3198 | Need char = 'b' | Need char = 'b' |
# | Line 3068 Need char = 'b' | Line 3201 Need char = 'b' |
3201 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3202 | 0 18 Bra 0 | 0 18 Bra 0 |
3203 | 3 ^ | 3 ^ |
3204 | 4 1 x | 4 x |
3205 | 7 5 Bra 1 | 6 7 Bra 1 |
3206 | 10 a+? | 11 a+? |
3207 | 12 5 Ket | 13 7 Ket |
3208 | 15 1 b | 16 b |
3209 | 18 18 Ket | 18 18 Ket |
3210 | 21 End | 21 End |
3211 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3212 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3213 | Partial matching not supported | |
3214 | Options: anchored | Options: anchored |
3215 | No first char | No first char |
3216 | Need char = 'b' | Need char = 'b' |
3217 | ||
3218 | /[.x.]/ | /[.x.]/I |
3219 | Failed: POSIX collating elements are not supported at offset 0 | Failed: POSIX collating elements are not supported at offset 0 |
3220 | ||
3221 | /[=x=]/ | /[=x=]/I |
3222 | Failed: POSIX collating elements are not supported at offset 0 | Failed: POSIX collating elements are not supported at offset 0 |
3223 | ||
3224 | /[:x:]/ | /[:x:]/I |
3225 | Failed: POSIX named classes are supported only within a class at offset 0 | Failed: POSIX named classes are supported only within a class at offset 0 |
3226 | ||
3227 | /\l/ | /\l/I |
3228 | Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 |
3229 | ||
3230 | /\L/ | /\L/I |
3231 | Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 |
3232 | ||
3233 | /\N{name}/ | /\N{name}/I |
3234 | Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 |
3235 | ||
3236 | /\pP/ | /\u/I |
3237 | Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 |
3238 | ||
3239 | /\PP/ | /\U/I |
3240 | Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 |
3241 | ||
3242 | /\p{prop}/ | /[/I |
Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | ||
/\P{prop}/ | ||
Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | ||
/\u/ | ||
Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | ||
/\U/ | ||
Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | ||
/\X/ | ||
Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1 | ||
/[/ | ||
3243 | Failed: missing terminating ] for character class at offset 1 | Failed: missing terminating ] for character class at offset 1 |
3244 | ||
3245 | /[a-/ | /[a-/I |
3246 | Failed: missing terminating ] for character class at offset 3 | Failed: missing terminating ] for character class at offset 3 |
3247 | ||
3248 | /[[:space:]/ | /[[:space:]/I |
3249 | Failed: missing terminating ] for character class at offset 10 | Failed: missing terminating ] for character class at offset 10 |
3250 | ||
3251 | /[\s]/DM | /[\s]/IDM |
3252 | Memory allocation (code space): 40 | Memory allocation (code space): 40 |
3253 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3254 | 0 36 Bra 0 | 0 36 Bra 0 |
3255 | 3 [\x09-\x0a\x0c-\x0d ] | 3 [\x09\x0a\x0c\x0d ] |
3256 | 36 36 Ket | 36 36 Ket |
3257 | 39 End | 39 End |
3258 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
# | Line 3142 No options | Line 3261 No options |
3261 | No first char | No first char |
3262 | No need char | No need char |
3263 | ||
3264 | /[[:space:]]/DM | /[[:space:]]/IDM |
3265 | Memory allocation (code space): 40 | Memory allocation (code space): 40 |
3266 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3267 | 0 36 Bra 0 | 0 36 Bra 0 |
# | Line 3155 No options | Line 3274 No options |
3274 | No first char | No first char |
3275 | No need char | No need char |
3276 | ||
3277 | /[[:space:]abcde]/DM | /[[:space:]abcde]/IDM |
3278 | Memory allocation (code space): 40 | Memory allocation (code space): 40 |
3279 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3280 | 0 36 Bra 0 | 0 36 Bra 0 |
# | Line 3168 No options | Line 3287 No options |
3287 | No first char | No first char |
3288 | No need char | No need char |
3289 | ||
3290 | /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/x | /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix |
3291 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3292 | Partial matching not supported | |
3293 | Options: extended | Options: extended |
3294 | First char = '<' | First char = '<' |
3295 | Need char = '>' | Need char = '>' |
# | Line 3181 Need char = '>' | Line 3301 Need char = '>' |
3301 | 0: <abc <123> hij> | 0: <abc <123> hij> |
3302 | <abc <def> hij> | <abc <def> hij> |
3303 | 0: <def> | 0: <def> |
3304 | <abc<>def> | <abc<>def> |
3305 | 0: <abc<>def> | 0: <abc<>def> |
3306 | <abc<> | <abc<> |
3307 | 0: <> | 0: <> |
3308 | *** Failers | *** Failers |
3309 | No match | No match |
3310 | <abc | <abc |
3311 | No match | No match |
3312 | ||
3313 | |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|DM | |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|IDM |
3314 | Memory allocation (code space): 421 | Memory allocation (code space): 826 |
3315 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3316 | 0 417 Bra 0 | 0 822 Bra 0 |
3317 | 3 250 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: | 3 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 |
3318 | 255 159 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 | 821 \b |
3319 | 416 \b | 822 822 Ket |
3320 | 417 417 Ket | 825 End |
420 End | ||
3321 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3322 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3323 | No options | No options |
3324 | First char = '8' | First char = '8' |
3325 | Need char = 'X' | Need char = 'X' |
3326 | ||
3327 | |\$\<\.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|DM | |\$\<\.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|IDM |
3328 | Memory allocation (code space): 416 | Memory allocation (code space): 816 |
3329 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3330 | 0 412 Bra 0 | 0 812 Bra 0 |
3331 | 3 250 $<.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[ | 3 $<.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 |
3332 | 255 154 %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 | 811 \b |
3333 | 411 \b | 812 812 Ket |
3334 | 412 412 Ket | 815 End |
415 End | ||
3335 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
3336 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3337 | No options | No options |
# | Line 3223 Need char = 'X' | Line 3341 Need char = 'X' |
3341 | /(.*)\d+\1/I | /(.*)\d+\1/I |
3342 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3343 | Max back reference = 1 | Max back reference = 1 |
3344 | Partial matching not supported | |
3345 | No options | No options |
3346 | No first char | No first char |
3347 | No need char | No need char |
3348 | ||
3349 | /(.*)\d+/I | /(.*)\d+/I |
3350 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3351 | Partial matching not supported | |
3352 | No options | No options |
3353 | First char at start or follows \n | First char at start or follows newline |
3354 | No need char | No need char |
3355 | ||
3356 | /(.*)\d+\1/Is | /(.*)\d+\1/Is |
3357 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3358 | Max back reference = 1 | Max back reference = 1 |
3359 | Partial matching not supported | |
3360 | Options: dotall | Options: dotall |
3361 | No first char | No first char |
3362 | No need char | No need char |
3363 | ||
3364 | /(.*)\d+/Is | /(.*)\d+/Is |
3365 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3366 | Partial matching not supported | |
3367 | Options: anchored dotall | Options: anchored dotall |
3368 | No first char | No first char |
3369 | No need char | No need char |
# | Line 3249 No need char | Line 3371 No need char |
3371 | /(.*(xyz))\d+\2/I | /(.*(xyz))\d+\2/I |
3372 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
3373 | Max back reference = 2 | Max back reference = 2 |
3374 | Partial matching not supported | |
3375 | No options | No options |
3376 | First char at start or follows \n | First char at start or follows newline |
3377 | Need char = 'z' | Need char = 'z' |
3378 | ||
3379 | /((.*))\d+\1/I | /((.*))\d+\1/I |
3380 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
3381 | Max back reference = 1 | Max back reference = 1 |
3382 | Partial matching not supported | |
3383 | No options | No options |
3384 | No first char | No first char |
3385 | No need char | No need char |
# | Line 3263 No need char | Line 3387 No need char |
3387 | 0: bc123bc | 0: bc123bc |
3388 | 1: bc | 1: bc |
3389 | 2: bc | 2: bc |
3390 | ||
3391 | /a[b]/I | /a[b]/I |
3392 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3393 | No options | No options |
# | Line 3272 Need char = 'b' | Line 3396 Need char = 'b' |
3396 | ||
3397 | /(?=a).*/I | /(?=a).*/I |
3398 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3399 | Partial matching not supported | |
3400 | No options | No options |
3401 | First char = 'a' | First char = 'a' |
3402 | No need char | No need char |
3403 | ||
3404 | /(?=abc).xyz/iI | /(?=abc).xyz/IiI |
3405 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3406 | Options: caseless | Options: caseless |
3407 | First char = 'a' (caseless) | First char = 'a' (caseless) |
# | Line 3285 Need char = 'z' (caseless) | Line 3410 Need char = 'z' (caseless) |
3410 | /(?=abc)(?i).xyz/I | /(?=abc)(?i).xyz/I |
3411 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3412 | No options | No options |
Case state changes | ||
3413 | First char = 'a' | First char = 'a' |
3414 | Need char = 'z' (caseless) | Need char = 'z' (caseless) |
3415 | ||
# | Line 3378 Capturing subpattern count = 0 | Line 3502 Capturing subpattern count = 0 |
3502 | No options | No options |
3503 | No first char | No first char |
3504 | No need char | No need char |
3505 | Study size = 40 | Starting byte set: a b |
Starting character set: a b | ||
3506 | ||
3507 | /[^a]/I | /[^a]/I |
3508 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
# | Line 3398 Capturing subpattern count = 0 | Line 3521 Capturing subpattern count = 0 |
3521 | No options | No options |
3522 | No first char | No first char |
3523 | Need char = '6' | Need char = '6' |
3524 | Study size = 40 | Starting byte set: 0 1 2 3 4 5 6 7 8 9 |
Starting character set: 0 1 2 3 4 5 6 7 8 9 | ||
3525 | ||
3526 | /a^b/I | /a^b/I |
3527 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
# | Line 3407 No options | Line 3529 No options |
3529 | First char = 'a' | First char = 'a' |
3530 | Need char = 'b' | Need char = 'b' |
3531 | ||
3532 | /^a/mI | /^a/Im |
3533 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3534 | Options: multiline | Options: multiline |
3535 | First char at start or follows \n | First char at start or follows newline |
3536 | Need char = 'a' | Need char = 'a' |
3537 | abcde | abcde |
3538 | 0: a | 0: a |
3539 | xy\nabc | xy\nabc |
3540 | 0: a | 0: a |
3541 | *** Failers | *** Failers |
3542 | No match | No match |
3543 | xyabc | xyabc |
3544 | No match | No match |
3545 | ||
3546 | /c|abc/I | /c|abc/I |
# | Line 3432 Capturing subpattern count = 0 | Line 3554 Capturing subpattern count = 0 |
3554 | Options: caseless | Options: caseless |
3555 | No first char | No first char |
3556 | No need char | No need char |
3557 | Study size = 40 | Starting byte set: A B a b |
Starting character set: A B a b | ||
3558 | ||
3559 | /[ab](?i)cd/IS | /[ab](?i)cd/IS |
3560 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3561 | No options | No options |
Case state changes | ||
3562 | No first char | No first char |
3563 | Need char = 'd' (caseless) | Need char = 'd' (caseless) |
3564 | Study size = 40 | Starting byte set: a b |
Starting character set: a b | ||
3565 | ||
3566 | /abc(?C)def/ | /abc(?C)def/I |
3567 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3568 | No options | No options |
3569 | First char = 'a' | First char = 'a' |
3570 | Need char = 'f' | Need char = 'f' |
3571 | abcdef | abcdef |
3572 | --->abcdef | --->abcdef |
3573 | 0 ^ ^ | 0 ^ ^ d |
3574 | 0: abcdef | 0: abcdef |
3575 | 1234abcdef | 1234abcdef |
3576 | --->1234abcdef | --->1234abcdef |
3577 | 0 ^ ^ | 0 ^ ^ d |
3578 | 0: abcdef | 0: abcdef |
3579 | *** Failers | *** Failers |
3580 | No match | No match |
3581 | abcxyz | abcxyz |
3582 | No match | No match |
3583 | abcxyzf | abcxyzf |
3584 | --->abcxyzf | --->abcxyzf |
3585 | 0 ^ ^ | 0 ^ ^ d |
3586 | No match | No match |
3587 | ||
3588 | /abc(?C)de(?C1)f/ | /abc(?C)de(?C1)f/I |
3589 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3590 | No options | No options |
3591 | First char = 'a' | First char = 'a' |
3592 | Need char = 'f' | Need char = 'f' |
3593 | 123abcdef | 123abcdef |
3594 | --->123abcdef | --->123abcdef |
3595 | 0 ^ ^ | 0 ^ ^ d |
3596 | 1 ^ ^ | 1 ^ ^ f |
3597 | 0: abcdef | 0: abcdef |
3598 | ||
3599 | /(?C1)\dabc(?C2)def/ | /(?C1)\dabc(?C2)def/I |
3600 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3601 | No options | No options |
3602 | No first char | No first char |
3603 | Need char = 'f' | Need char = 'f' |
3604 | 1234abcdef | 1234abcdef |
3605 | --->1234abcdef | --->1234abcdef |
3606 | 1 ^ | 1 ^ \d |
3607 | 1 ^ | 1 ^ \d |
3608 | 1 ^ | 1 ^ \d |
3609 | 1 ^ | 1 ^ \d |
3610 | 2 ^ ^ | 2 ^ ^ d |
3611 | 0: 4abcdef | 0: 4abcdef |
3612 | *** Failers | *** Failers |
3613 | No match | No match |
3614 | abcdef | abcdef |
3615 | --->abcdef | --->abcdef |
3616 | 1 ^ | 1 ^ \d |
3617 | 1 ^ | 1 ^ \d |
3618 | 1 ^ | 1 ^ \d |
3619 | 1 ^ | 1 ^ \d |
3620 | 1 ^ | 1 ^ \d |
3621 | 1 ^ | 1 ^ \d |
3622 | No match | No match |
3623 | ||
3624 | /(?C255)ab/ | /(?C255)ab/I |
3625 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3626 | No options | No options |
3627 | First char = 'a' | First char = 'a' |
3628 | Need char = 'b' | Need char = 'b' |
3629 | ||
3630 | /(?C256)ab/ | /(?C256)ab/I |
3631 | Failed: number after (?C is > 255 at offset 6 | Failed: number after (?C is > 255 at offset 6 |
3632 | ||
3633 | /(?Cab)xx/ | /(?Cab)xx/I |
3634 | Failed: closing ) for (?C expected at offset 3 | Failed: closing ) for (?C expected at offset 3 |
3635 | ||
3636 | /(?C12vr)x/ | /(?C12vr)x/I |
3637 | Failed: closing ) for (?C expected at offset 5 | Failed: closing ) for (?C expected at offset 5 |
3638 | ||
3639 | /abc(?C)def/ | /abc(?C)def/I |
3640 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
3641 | No options | No options |
3642 | First char = 'a' | First char = 'a' |
# | Line 3526 Need char = 'f' | Line 3645 Need char = 'f' |
3645 | No match | No match |
3646 | \x83\x0\x61bcdef | \x83\x0\x61bcdef |
3647 | --->\x83\x00abcdef | --->\x83\x00abcdef |
3648 | 0 ^ ^ | 0 ^ ^ d |
3649 | 0: abcdef | 0: abcdef |
3650 | ||
3651 | /(abc)(?C)de(?C1)f/ | /(abc)(?C)de(?C1)f/I |
3652 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3653 | No options | No options |
3654 | First char = 'a' | First char = 'a' |
3655 | Need char = 'f' | Need char = 'f' |
3656 | 123abcdef | 123abcdef |
3657 | --->123abcdef | --->123abcdef |
3658 | 0 ^ ^ | 0 ^ ^ d |
3659 | 1 ^ ^ | 1 ^ ^ f |
3660 | 0: abcdef | 0: abcdef |
3661 | 1: abc | 1: abc |
3662 | 123abcdef\C+ | 123abcdef\C+ |
3663 | Callout 0: last capture = 1 | Callout 0: last capture = 1 |
3664 | 0: <unset> | 0: <unset> |
3665 | 1: abc | 1: abc |
3666 | --->123abcdef | --->123abcdef |
3667 | ^ ^ | ^ ^ d |
3668 | Callout 1: last capture = 1 | Callout 1: last capture = 1 |
3669 | 0: <unset> | 0: <unset> |
3670 | 1: abc | 1: abc |
3671 | --->123abcdef | --->123abcdef |
3672 | ^ ^ | ^ ^ f |
3673 | 0: abcdef | 0: abcdef |
3674 | 1: abc | 1: abc |
3675 | 123abcdef\C- | 123abcdef\C- |
3676 | 0: abcdef | 0: abcdef |
3677 | 1: abc | 1: abc |
3678 | *** Failers | *** Failers |
3679 | No match | No match |
3680 | 123abcdef\C!1 | 123abcdef\C!1 |
3681 | --->123abcdef | --->123abcdef |
3682 | 0 ^ ^ | 0 ^ ^ d |
3683 | 1 ^ ^ | 1 ^ ^ f |
3684 | No match | No match |
3685 | ||
3686 | /(?C0)(abc(?C1))*/ | /(?C0)(abc(?C1))*/I |
3687 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3688 | No options | No options |
3689 | No first char | No first char |
3690 | No need char | No need char |
3691 | abcabcabc | abcabcabc |
3692 | --->abcabcabc | --->abcabcabc |
3693 | 0 ^ | 0 ^ (abc(?C1))* |
3694 | 1 ^ ^ | 1 ^ ^ ) |
3695 | 1 ^ ^ | 1 ^ ^ ) |
3696 | 1 ^ ^ | 1 ^ ^ ) |
3697 | 0: abcabcabc | 0: abcabcabc |
3698 | 1: abc | 1: abc |
3699 | abcabc\C!1!3 | abcabc\C!1!3 |
3700 | --->abcabc | --->abcabc |
3701 | 0 ^ | 0 ^ (abc(?C1))* |
3702 | 1 ^ ^ | 1 ^ ^ ) |
3703 | 1 ^ ^ | 1 ^ ^ ) |
3704 | 0: abcabc | 0: abcabc |
3705 | 1: abc | 1: abc |
3706 | *** Failers | *** Failers |
3707 | --->*** Failers | --->*** Failers |
3708 | 0 ^ | 0 ^ (abc(?C1))* |
3709 | 0: | 0: |
3710 | abcabcabc\C!1!3 | abcabcabc\C!1!3 |
3711 | --->abcabcabc | --->abcabcabc |
3712 | 0 ^ | 0 ^ (abc(?C1))* |
3713 | 1 ^ ^ | 1 ^ ^ ) |
3714 | 1 ^ ^ | 1 ^ ^ ) |
3715 | 1 ^ ^ | 1 ^ ^ ) |
3716 | 0: abcabc | 0: abcabc |
3717 | 1: abc | 1: abc |
3718 | ||
3719 | /(\d{3}(?C))*/ | /(\d{3}(?C))*/I |
3720 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3721 | Partial matching not supported | |
3722 | No options | No options |
3723 | No first char | No first char |
3724 | No need char | No need char |
# | Line 3606 No need char | Line 3726 No need char |
3726 | Callout 0: last capture = -1 | Callout 0: last capture = -1 |
3727 | 0: <unset> | 0: <unset> |
3728 | --->123 | --->123 |
3729 | ^ ^ | ^ ^ ) |
3730 | 0: 123 | 0: 123 |
3731 | 1: 123 | 1: 123 |
3732 | 123456\C+ | 123456\C+ |
3733 | Callout 0: last capture = -1 | Callout 0: last capture = -1 |
3734 | 0: <unset> | 0: <unset> |
3735 | --->123456 | --->123456 |
3736 | ^ ^ | ^ ^ ) |
3737 | Callout 0: last capture = 1 | Callout 0: last capture = 1 |
3738 | 0: <unset> | 0: <unset> |
3739 | 1: 123 | 1: 123 |
3740 | --->123456 | --->123456 |
3741 | ^ ^ | ^ ^ ) |
3742 | 0: 123456 | 0: 123456 |
3743 | 1: 456 | 1: 456 |
3744 | 123456789\C+ | 123456789\C+ |
3745 | Callout 0: last capture = -1 | Callout 0: last capture = -1 |
3746 | 0: <unset> | 0: <unset> |
3747 | --->123456789 | --->123456789 |
3748 | ^ ^ | ^ ^ ) |
3749 | Callout 0: last capture = 1 | Callout 0: last capture = 1 |
3750 | 0: <unset> | 0: <unset> |
3751 | 1: 123 | 1: 123 |
3752 | --->123456789 | --->123456789 |
3753 | ^ ^ | ^ ^ ) |
3754 | Callout 0: last capture = 1 | Callout 0: last capture = 1 |
3755 | 0: <unset> | 0: <unset> |
3756 | 1: 456 | 1: 456 |
3757 | --->123456789 | --->123456789 |
3758 | ^ ^ | ^ ^ ) |
3759 | 0: 123456789 | 0: 123456789 |
3760 | 1: 789 | 1: 789 |
3761 | ||
3762 | /((xyz)(?C)p|(?C1)xyzabc)/ | /((xyz)(?C)p|(?C1)xyzabc)/I |
3763 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
3764 | No options | No options |
3765 | First char = 'x' | First char = 'x' |
# | Line 3650 Callout 0: last capture = 2 | Line 3770 Callout 0: last capture = 2 |
3770 | 1: <unset> | 1: <unset> |
3771 | 2: xyz | 2: xyz |
3772 | --->xyzabc | --->xyzabc |
3773 | ^ ^ | ^ ^ p |
3774 | Callout 1: last capture = -1 | Callout 1: last capture = -1 |
3775 | 0: <unset> | 0: <unset> |
3776 | --->xyzabc | --->xyzabc |
3777 | ^ | ^ x |
3778 | 0: xyzabc | 0: xyzabc |
3779 | 1: xyzabc | 1: xyzabc |
3780 | ||
3781 | /(X)((xyz)(?C)p|(?C1)xyzabc)/ | /(X)((xyz)(?C)p|(?C1)xyzabc)/I |
3782 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
3783 | No options | No options |
3784 | First char = 'X' | First char = 'X' |
# | Line 3670 Callout 0: last capture = 3 | Line 3790 Callout 0: last capture = 3 |
3790 | 2: <unset> | 2: <unset> |
3791 | 3: xyz | 3: xyz |
3792 | --->Xxyzabc | --->Xxyzabc |
3793 | ^ ^ | ^ ^ p |
3794 | Callout 1: last capture = 1 | Callout 1: last capture = 1 |
3795 | 0: <unset> | 0: <unset> |
3796 | 1: X | 1: X |
3797 | --->Xxyzabc | --->Xxyzabc |
3798 | ^^ | ^^ x |
3799 | 0: Xxyzabc | 0: Xxyzabc |
3800 | 1: X | 1: X |
3801 | 2: xyzabc | 2: xyzabc |
3802 | ||
3803 | /(?=(abc))(?C)abcdef/ | /(?=(abc))(?C)abcdef/I |
3804 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3805 | No options | No options |
3806 | First char = 'a' | First char = 'a' |
# | Line 3690 Callout 0: last capture = 1 | Line 3810 Callout 0: last capture = 1 |
3810 | 0: <unset> | 0: <unset> |
3811 | 1: abc | 1: abc |
3812 | --->abcdef | --->abcdef |
3813 | ^ | ^ a |
3814 | 0: abcdef | 0: abcdef |
3815 | 1: abc | 1: abc |
3816 | ||
3817 | /(?!(abc)(?C1)d)(?C2)abcxyz/ | /(?!(abc)(?C1)d)(?C2)abcxyz/I |
3818 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3819 | No options | No options |
3820 | First char = 'a' | First char = 'a' |
3821 | Need char = 'z' | Need char = 'z' |
3822 | abcxyz\C+ | abcxyz\C+ |
3823 | Callout 1: last capture = 1 | Callout 1: last capture = 1 |
3824 | 0: <unset> | 0: <unset> |
3825 | 1: abc | 1: abc |
3826 | --->abcxyz | --->abcxyz |
3827 | ^ ^ | ^ ^ d |
3828 | Callout 2: last capture = -1 | Callout 2: last capture = -1 |
3829 | 0: <unset> | 0: <unset> |
3830 | --->abcxyz | --->abcxyz |
3831 | ^ | ^ a |
3832 | 0: abcxyz | 0: abcxyz |
3833 | ||
3834 | /(?<=(abc)(?C))xyz/ | /(?<=(abc)(?C))xyz/I |
3835 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3836 | No options | No options |
3837 | First char = 'x' | First char = 'x' |
# | Line 3721 Callout 0: last capture = 1 | Line 3841 Callout 0: last capture = 1 |
3841 | 0: <unset> | 0: <unset> |
3842 | 1: abc | 1: abc |
3843 | --->abcxyz | --->abcxyz |
3844 | ^ | ^ ) |
3845 | 0: xyz | 0: xyz |
3846 | 1: abc | 1: abc |
3847 | ||
3848 | /(?C)abc/ | /a(b+)(c*)(?C1)/I |
3849 | Capturing subpattern count = 0 | Capturing subpattern count = 2 |
3850 | Partial matching not supported | |
3851 | No options | No options |
3852 | First char = 'a' | First char = 'a' |
3853 | Need char = 'c' | Need char = 'b' |
3854 | abbbbbccc\C*1 | |
3855 | /(?C)^abc/ | --->abbbbbccc |
3856 | Capturing subpattern count = 0 | 1 ^ ^ |
3857 | Options: anchored | Callout data = 1 |
3858 | No first char | 1 ^ ^ |
3859 | No need char | Callout data = 1 |
3860 | 1 ^ ^ | |
3861 | Callout data = 1 | |
3862 | 1 ^ ^ | |
3863 | Callout data = 1 | |
3864 | 1 ^ ^ | |
3865 | Callout data = 1 | |
3866 | 1 ^ ^ | |
3867 | Callout data = 1 | |
3868 | 1 ^ ^ | |
3869 | Callout data = 1 | |
3870 | 1 ^ ^ | |
3871 | Callout data = 1 | |
3872 | No match | |
3873 | ||
3874 | /(?C)a|b/S | /a(b+?)(c*?)(?C1)/I |
3875 | Capturing subpattern count = 0 | Capturing subpattern count = 2 |
3876 | Partial matching not supported | |
3877 | No options | |
3878 | First char = 'a' | |
3879 | Need char = 'b' | |
3880 | abbbbbccc\C*1 | |
3881 | --->abbbbbccc | |
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 | 1 ^ ^ | |
3891 | Callout data = 1 | |
3892 | 1 ^ ^ | |
3893 | Callout data = 1 | |
3894 | 1 ^ ^ | |
3895 | Callout data = 1 | |
3896 | 1 ^ ^ | |
3897 | Callout data = 1 | |
3898 | No match | |
3899 | ||
3900 | /(?C)abc/I | |
3901 | Capturing subpattern count = 0 | |
3902 | No options | |
3903 | First char = 'a' | |
3904 | Need char = 'c' | |
3905 | ||
3906 | /(?C)^abc/I | |
3907 | Capturing subpattern count = 0 | |
3908 | Options: anchored | |
3909 | No first char | |
3910 | No need char | |
3911 | ||
3912 | /(?C)a|b/IS | |
3913 | Capturing subpattern count = 0 | |
3914 | No options | No options |
3915 | No first char | No first char |
3916 | No need char | No need char |
3917 | Study size = 40 | Starting byte set: a b |
Starting character set: a b | ||
3918 | ||
3919 | /(?R)/ | /(?R)/I |
3920 | Failed: recursive call could loop indefinitely at offset 3 | Failed: recursive call could loop indefinitely at offset 3 |
3921 | ||
3922 | /(a|(?R))/ | /(a|(?R))/I |
3923 | Failed: recursive call could loop indefinitely at offset 6 | Failed: recursive call could loop indefinitely at offset 6 |
3924 | ||
3925 | /(ab|(bc|(de|(?R))))/ | /(ab|(bc|(de|(?R))))/I |
3926 | Failed: recursive call could loop indefinitely at offset 15 | Failed: recursive call could loop indefinitely at offset 15 |
3927 | ||
3928 | /x(ab|(bc|(de|(?R))))/ | /x(ab|(bc|(de|(?R))))/I |
3929 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
3930 | No options | No options |
3931 | First char = 'x' | First char = 'x' |
# | Line 3783 No need char | Line 3954 No need char |
3954 | 3: xxab | 3: xxab |
3955 | *** Failers | *** Failers |
3956 | No match | No match |
3957 | xyab | xyab |
3958 | No match | No match |
3959 | ||
3960 | /(ab|(bc|(de|(?1))))/ | /(ab|(bc|(de|(?1))))/I |
3961 | Failed: recursive call could loop indefinitely at offset 15 | Failed: recursive call could loop indefinitely at offset 15 |
3962 | ||
3963 | /x(ab|(bc|(de|(?1)x)x)x)/ | /x(ab|(bc|(de|(?1)x)x)x)/I |
3964 | Failed: recursive call could loop indefinitely at offset 16 | Failed: recursive call could loop indefinitely at offset 16 |
3965 | ||
3966 | /^([^()]|\((?1)*\))*$/ | /^([^()]|\((?1)*\))*$/I |
3967 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3968 | Options: anchored | Options: anchored |
3969 | No first char | No first char |
# | Line 3803 No need char | Line 3974 No need char |
3974 | a(b)c | a(b)c |
3975 | 0: a(b)c | 0: a(b)c |
3976 | 1: c | 1: c |
3977 | a(b(c))d | a(b(c))d |
3978 | 0: a(b(c))d | 0: a(b(c))d |
3979 | 1: d | 1: d |
3980 | *** Failers) | *** Failers) |
3981 | No match | No match |
3982 | a(b(c)d | a(b(c)d |
3983 | No match | No match |
3984 | ||
3985 | /^>abc>([^()]|\((?1)*\))*<xyz<$/ | /^>abc>([^()]|\((?1)*\))*<xyz<$/I |
3986 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
3987 | Options: anchored | Options: anchored |
3988 | No first char | No first char |
# | Line 3828 Need char = '<' | Line 3999 Need char = '<' |
3999 | ||
4000 | /(a(?1)b)/D | /(a(?1)b)/D |
4001 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4002 | 0 18 Bra 0 | 0 24 Bra 0 |
4003 | 3 12 Bra 1 | 3 18 Bra 1 |
4004 | 6 1 a | 8 a |
4005 | 9 3 Recurse | 10 6 Once |
4006 | 12 1 b | 13 3 Recurse |
4007 | 15 12 Ket | 16 6 Ket |
4008 | 18 18 Ket | 19 b |
4009 | 21 End | 21 18 Ket |
4010 | 24 24 Ket | |
4011 | 27 End | |
4012 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4013 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4014 | No options | No options |
# | Line 3846 Need char = 'b' | Line 4019 Need char = 'b' |
4019 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4020 | 0 24 Bra 0 | 0 24 Bra 0 |
4021 | 3 18 Bra 1 | 3 18 Bra 1 |
4022 | 6 1 a | 8 a |
4023 | 9 6 Bra 0 | 10 6 Once |
4024 | 12 3 Recurse | 13 3 Recurse |
4025 | 15 6 KetRmax | 16 6 KetRmax |
4026 | 18 1 b | 19 b |
4027 | 21 18 Ket | 21 18 Ket |
4028 | 24 24 Ket | 24 24 Ket |
4029 | 27 End | 27 End |
# | Line 3860 No options | Line 4033 No options |
4033 | First char = 'a' | First char = 'a' |
4034 | Need char = 'b' | Need char = 'b' |
4035 | ||
4036 | /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i | /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii |
4037 | Capturing subpattern count = 4 | Capturing subpattern count = 4 |
4038 | Max back reference = 4 | Max back reference = 4 |
4039 | Partial matching not supported | |
4040 | Options: anchored caseless | Options: anchored caseless |
4041 | No first char | No first char |
4042 | No need char | No need char |
# | Line 3882 No need char | Line 4056 No need char |
4056 | 2: <unset> | 2: <unset> |
4057 | 3: A man, a plan, a canal: Panama | 3: A man, a plan, a canal: Panama |
4058 | 4: A | 4: A |
4059 | Able was I ere I saw Elba. | Able was I ere I saw Elba. |
4060 | 0: Able was I ere I saw Elba. | 0: Able was I ere I saw Elba. |
4061 | 1: <unset> | 1: <unset> |
4062 | 2: <unset> | 2: <unset> |
# | Line 3890 No need char | Line 4064 No need char |
4064 | 4: A | 4: A |
4065 | *** Failers | *** Failers |
4066 | No match | No match |
4067 | The quick brown fox | The quick brown fox |
4068 | No match | No match |
4069 | ||
4070 | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/ | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I |
4071 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
4072 | Partial matching not supported | |
4073 | Options: anchored | Options: anchored |
4074 | No first char | No first char |
4075 | No need char | No need char |
# | Line 3912 No need char | Line 4087 No need char |
4087 | No match | No match |
4088 | ((2+2)*-3)-7) | ((2+2)*-3)-7) |
4089 | No match | No match |
4090 | ||
4091 | /^(x(y|(?1){2})z)/ | /^(x(y|(?1){2})z)/I |
4092 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
4093 | Options: anchored | Options: anchored |
4094 | No first char | No first char |
# | Line 3922 No need char | Line 4097 No need char |
4097 | 0: xyz | 0: xyz |
4098 | 1: xyz | 1: xyz |
4099 | 2: y | 2: y |
4100 | xxyzxyzz | xxyzxyzz |
4101 | 0: xxyzxyzz | 0: xxyzxyzz |
4102 | 1: xxyzxyzz | 1: xxyzxyzz |
4103 | 2: xyzxyz | 2: xyzxyz |
# | Line 3930 No need char | Line 4105 No need char |
4105 | No match | No match |
4106 | xxyzz | xxyzz |
4107 | No match | No match |
4108 | xxyzxyzxyzz | xxyzxyzxyzz |
4109 | No match | No match |
4110 | ||
4111 | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/x | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix |
4112 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
4113 | Partial matching not supported | |
4114 | Options: extended | Options: extended |
4115 | First char = '<' | First char = '<' |
4116 | Need char = '>' | Need char = '>' |
# | Line 3954 Need char = '>' | Line 4130 Need char = '>' |
4130 | 0: <def> | 0: <def> |
4131 | 1: <def> | 1: <def> |
4132 | 2: <def> | 2: <def> |
4133 | <abc<>def> | <abc<>def> |
4134 | 0: <abc<>def> | 0: <abc<>def> |
4135 | 1: <abc<>def> | 1: <abc<>def> |
4136 | 2: <abc<>def> | 2: <abc<>def> |
4137 | <abc<> | <abc<> |
4138 | 0: <> | 0: <> |
4139 | 1: <> | 1: <> |
4140 | 2: <> | 2: <> |
# | Line 3967 No match | Line 4143 No match |
4143 | <abc | <abc |
4144 | No match | No match |
4145 | ||
4146 | /(?1)/ | /(?1)/I |
4147 | Failed: reference to non-existent subpattern at offset 3 | Failed: reference to non-existent subpattern at offset 3 |
4148 | ||
4149 | /((?2)(abc)/ | /((?2)(abc)/I |
4150 | Failed: reference to non-existent subpattern at offset 4 | Failed: missing ) at offset 10 |
4151 | ||
4152 | /^(abc)def(?1)/ | /^(abc)def(?1)/I |
4153 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4154 | Options: anchored | Options: anchored |
4155 | No first char | No first char |
# | Line 3982 No need char | Line 4158 No need char |
4158 | 0: abcdefabc | 0: abcdefabc |
4159 | 1: abc | 1: abc |
4160 | ||
4161 | /^(a|b|c)=(?1)+/ | /^(a|b|c)=(?1)+/I |
4162 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4163 | Options: anchored | Options: anchored |
4164 | No first char | No first char |
# | Line 3993 No need char | Line 4169 No need char |
4169 | a=b | a=b |
4170 | 0: a=b | 0: a=b |
4171 | 1: a | 1: a |
4172 | a=bc | a=bc |
4173 | 0: a=bc | 0: a=bc |
4174 | 1: a | 1: a |
4175 | ||
4176 | /^(a|b|c)=((?1))+/ | /^(a|b|c)=((?1))+/I |
4177 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
4178 | Options: anchored | Options: anchored |
4179 | No first char | No first char |
# | Line 4010 No need char | Line 4186 No need char |
4186 | 0: a=b | 0: a=b |
4187 | 1: a | 1: a |
4188 | 2: b | 2: b |
4189 | a=bc | a=bc |
4190 | 0: a=bc | 0: a=bc |
4191 | 1: a | 1: a |
4192 | 2: c | 2: c |
4193 | ||
4194 | /a(?P<name1>b|c)d(?P<longername2>e)/D | /a(?P<name1>b|c)d(?P<longername2>e)/D |
4195 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4196 | 0 33 Bra 0 | 0 32 Bra 0 |
4197 | 3 1 a | 3 a |
4198 | 6 6 Bra 1 | 5 7 Bra 1 |
4199 | 9 1 b | 10 b |
4200 | 12 6 Alt | 12 5 Alt |
4201 | 15 1 c | 15 c |
4202 | 18 12 Ket | 17 12 Ket |
4203 | 21 1 d | 20 d |
4204 | 24 6 Bra 2 | 22 7 Bra 2 |
4205 | 27 1 e | 27 e |
4206 | 30 6 Ket | 29 7 Ket |
4207 | 33 33 Ket | 32 32 Ket |
4208 | 36 End | 35 End |
4209 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4210 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
4211 | Named capturing subpatterns: | Named capturing subpatterns: |
# | Line 4042 Need char = 'e' | Line 4218 Need char = 'e' |
4218 | 0: abde | 0: abde |
4219 | 1: b | 1: b |
4220 | 2: e | 2: e |
4221 | acde | acde |
4222 | 0: acde | 0: acde |
4223 | 1: c | 1: c |
4224 | 2: e | 2: e |
4225 | ||
4226 | /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D | /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D |
4227 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4228 | 0 39 Bra 0 | 0 41 Bra 0 |
4229 | 3 24 Bra 0 | 3 25 Bra 0 |
4230 | 6 1 a | 6 a |
4231 | 9 15 Bra 1 | 8 17 Bra 1 |
4232 | 12 1 c | 13 c |
4233 | 15 6 Bra 2 | 15 7 Bra 2 |
4234 | 18 1 d | 20 d |
4235 | 21 6 Ket | 22 7 Ket |
4236 | 24 15 Ket | 25 17 Ket |
4237 | 27 24 Ket | 28 25 Ket |
4238 | 30 6 Bra 3 | 31 7 Bra 3 |
4239 | 33 1 a | 36 a |
4240 | 36 6 Ket | 38 7 Ket |
4241 | 39 39 Ket | 41 41 Ket |
4242 | 42 End | 44 End |
4243 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4244 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
4245 | Named capturing subpatterns: | Named capturing subpatterns: |
# | Line 4076 Need char = 'a' | Line 4252 Need char = 'a' |
4252 | ||
4253 | /(?P<a>a)...(?P=a)bbb(?P>a)d/D | /(?P<a>a)...(?P=a)bbb(?P>a)d/D |
4254 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4255 | 0 29 Bra 0 | 0 36 Bra 0 |
4256 | 3 6 Bra 1 | 3 7 Bra 1 |
4257 | 6 1 a | 8 a |
4258 | 9 6 Ket | 10 7 Ket |
12 Any | ||
4259 | 13 Any | 13 Any |
4260 | 14 Any | 14 Any |
4261 | 15 \1 | 15 Any |
4262 | 18 3 bbb | 16 \1 |
4263 | 23 3 Recurse | 19 bbb |
4264 | 26 1 d | 25 6 Once |
4265 | 29 29 Ket | 28 3 Recurse |
4266 | 32 End | 31 6 Ket |
4267 | 34 d | |
4268 | 36 36 Ket | |
4269 | 39 End | |
4270 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4271 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4272 | Max back reference = 1 | Max back reference = 1 |
# | Line 4098 No options | Line 4276 No options |
4276 | First char = 'a' | First char = 'a' |
4277 | Need char = 'd' | Need char = 'd' |
4278 | ||
4279 | /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i | /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii |
4280 | Capturing subpattern count = 4 | Capturing subpattern count = 4 |
4281 | Max back reference = 4 | Max back reference = 4 |
4282 | Named capturing subpatterns: | Named capturing subpatterns: |
# | Line 4106 Named capturing subpatterns: | Line 4284 Named capturing subpatterns: |
4284 | one 1 | one 1 |
4285 | three 3 | three 3 |
4286 | two 2 | two 2 |
4287 | Partial matching not supported | |
4288 | Options: anchored caseless | Options: anchored caseless |
4289 | No first char | No first char |
4290 | No need char | No need char |
# | Line 4125 No need char | Line 4304 No need char |
4304 | 2: <unset> | 2: <unset> |
4305 | 3: A man, a plan, a canal: Panama | 3: A man, a plan, a canal: Panama |
4306 | 4: A | 4: A |
4307 | Able was I ere I saw Elba. | Able was I ere I saw Elba. |
4308 | 0: Able was I ere I saw Elba. | 0: Able was I ere I saw Elba. |
4309 | 1: <unset> | 1: <unset> |
4310 | 2: <unset> | 2: <unset> |
# | Line 4133 No need char | Line 4312 No need char |
4312 | 4: A | 4: A |
4313 | *** Failers | *** Failers |
4314 | No match | No match |
4315 | The quick brown fox | The quick brown fox |
4316 | No match | No match |
4317 | ||
4318 | /((?(R)a|b))\1(?1)?/ | /((?(R)a|b))\1(?1)?/I |
4319 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4320 | Max back reference = 1 | Max back reference = 1 |
4321 | No options | No options |
# | Line 4145 No need char | Line 4324 No need char |
4324 | bb | bb |
4325 | 0: bb | 0: bb |
4326 | 1: b | 1: b |
4327 | bbaa | bbaa |
4328 | 0: bba | 0: bba |
4329 | 1: b | 1: b |
4330 | ||
4331 | /(.*)a/sI | /(.*)a/Is |
4332 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4333 | Partial matching not supported | |
4334 | Options: anchored dotall | Options: anchored dotall |
4335 | No first char | No first char |
4336 | Need char = 'a' | Need char = 'a' |
4337 | ||
4338 | /(.*)a\1/sI | /(.*)a\1/Is |
4339 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4340 | Max back reference = 1 | Max back reference = 1 |
4341 | Partial matching not supported | |
4342 | Options: dotall | Options: dotall |
4343 | No first char | No first char |
4344 | Need char = 'a' | Need char = 'a' |
4345 | ||
4346 | /(.*)a(b)\2/sI | /(.*)a(b)\2/Is |
4347 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
4348 | Max back reference = 2 | Max back reference = 2 |
4349 | Partial matching not supported | |
4350 | Options: anchored dotall | Options: anchored dotall |
4351 | No first char | No first char |
4352 | Need char = 'b' | Need char = 'b' |
4353 | ||
4354 | /((.*)a|(.*)b)z/sI | /((.*)a|(.*)b)z/Is |
4355 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
4356 | Partial matching not supported | |
4357 | Options: anchored dotall | Options: anchored dotall |
4358 | No first char | No first char |
4359 | Need char = 'z' | Need char = 'z' |
4360 | ||
4361 | /((.*)a|(.*)b)z\1/sI | /((.*)a|(.*)b)z\1/Is |
4362 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
4363 | Max back reference = 1 | Max back reference = 1 |
4364 | Partial matching not supported | |
4365 | Options: dotall | Options: dotall |
4366 | No first char | No first char |
4367 | Need char = 'z' | Need char = 'z' |
4368 | ||
4369 | /((.*)a|(.*)b)z\2/sI | /((.*)a|(.*)b)z\2/Is |
4370 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
4371 | Max back reference = 2 | Max back reference = 2 |
4372 | Partial matching not supported | |
4373 | Options: dotall | Options: dotall |
4374 | No first char | No first char |
4375 | Need char = 'z' | Need char = 'z' |
4376 | ||
4377 | /((.*)a|(.*)b)z\3/sI | /((.*)a|(.*)b)z\3/Is |
4378 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
4379 | Max back reference = 3 | Max back reference = 3 |
4380 | Partial matching not supported | |
4381 | Options: dotall | Options: dotall |
4382 | No first char | No first char |
4383 | Need char = 'z' | Need char = 'z' |
4384 | ||
4385 | /((.*)a|^(.*)b)z\3/sI | /((.*)a|^(.*)b)z\3/Is |
4386 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
4387 | Max back reference = 3 | Max back reference = 3 |
4388 | Partial matching not supported | |
4389 | Options: anchored dotall | Options: anchored dotall |
4390 | No first char | No first char |
4391 | Need char = 'z' | Need char = 'z' |
4392 | ||
4393 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is |
4394 | Capturing subpattern count = 31 | Capturing subpattern count = 31 |
4395 | Partial matching not supported | |
4396 | Options: anchored dotall | Options: anchored dotall |
4397 | No first char | No first char |
4398 | No need char | No need char |
4399 | ||
4400 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is |
4401 | Capturing subpattern count = 31 | Capturing subpattern count = 31 |
4402 | Max back reference = 31 | Max back reference = 31 |
4403 | Partial matching not supported | |
4404 | Options: dotall | Options: dotall |
4405 | No first char | No first char |
4406 | No need char | No need char |
4407 | ||
4408 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is |
4409 | Capturing subpattern count = 32 | Capturing subpattern count = 32 |
4410 | Max back reference = 32 | Max back reference = 32 |
4411 | Partial matching not supported | |
4412 | Options: dotall | Options: dotall |
4413 | No first char | No first char |
4414 | No need char | No need char |
4415 | ||
4416 | /(a)(bc)/ND | /(a)(bc)/IND |
4417 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4418 | 0 22 Bra 0 | 0 21 Bra 0 |
4419 | 3 6 Bra 0 | 3 5 Bra 0 |
4420 | 6 1 a | 6 a |
4421 | 9 6 Ket | 8 5 Ket |
4422 | 12 7 Bra 0 | 11 7 Bra 0 |
4423 | 15 2 bc | 14 bc |
4424 | 19 7 Ket | 18 7 Ket |
4425 | 22 22 Ket | 21 21 Ket |
4426 | 25 End | 24 End |
4427 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4428 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
4429 | Options: | Options: no_auto_capture |
4430 | First char = 'a' | First char = 'a' |
4431 | Need char = 'c' | Need char = 'c' |
4432 | abc | abc |
4433 | 0: abc | 0: abc |
4434 | ||
4435 | /(?P<one>a)(bc)/ND | /(?P<one>a)(bc)/IND |
4436 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4437 | 0 22 Bra 0 | 0 23 Bra 0 |
4438 | 3 6 Bra 1 | 3 7 Bra 1 |
4439 | 6 1 a | 8 a |
4440 | 9 6 Ket | 10 7 Ket |
4441 | 12 7 Bra 0 | 13 7 Bra 0 |
4442 | 15 2 bc | 16 bc |
4443 | 19 7 Ket | 20 7 Ket |
4444 | 22 22 Ket | 23 23 Ket |
4445 | 25 End | 26 End |
4446 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4447 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4448 | Named capturing subpatterns: | Named capturing subpatterns: |
4449 | one 1 | one 1 |
4450 | Options: | Options: no_auto_capture |
4451 | First char = 'a' | First char = 'a' |
4452 | Need char = 'c' | Need char = 'c' |
4453 | abc | abc |
4454 | 0: abc | 0: abc |
4455 | 1: a | 1: a |
4456 | ||
4457 | /(a)(?P<named>bc)/ND | /(a)(?P<named>bc)/IND |
4458 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4459 | 0 22 Bra 0 | 0 23 Bra 0 |
4460 | 3 6 Bra 0 | 3 5 Bra 0 |
4461 | 6 1 a | 6 a |
4462 | 9 6 Ket | 8 5 Ket |
4463 | 12 7 Bra 1 | 11 9 Bra 1 |
4464 | 15 2 bc | 16 bc |
4465 | 19 7 Ket | 20 9 Ket |
4466 | 22 22 Ket | 23 23 Ket |
4467 | 25 End | 26 End |
4468 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
4469 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4470 | Named capturing subpatterns: | Named capturing subpatterns: |
4471 | named 1 | named 1 |
4472 | Options: | Options: no_auto_capture |
4473 | First char = 'a' | First char = 'a' |
4474 | Need char = 'c' | Need char = 'c' |
4475 | ||
4476 | /(a+)*zz/ | /(a+)*zz/I |
4477 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4478 | Partial matching not supported | |
4479 | No options | No options |
4480 | No first char | No first char |
4481 | Need char = 'z' | Need char = 'z' |
4482 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M |
4483 | Minimum match limit = 8 | Minimum match() limit = 8 |
4484 | Minimum match() recursion limit = 6 | |
4485 | 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz | 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz |
4486 | 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
4487 | aaaaaaaaaaaaaz\M | aaaaaaaaaaaaaz\M |
4488 | Minimum match limit = 32768 | Minimum match() limit = 32768 |
4489 | Minimum match() recursion limit = 42 | |
4490 | No match | No match |
4491 | ||
4492 | /(aaa(?C1)bbb|ab)/ | /(aaa(?C1)bbb|ab)/I |
4493 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
4494 | No options | No options |
4495 | First char = 'a' | First char = 'a' |
4496 | Need char = 'b' | Need char = 'b' |
4497 | aaabbb | aaabbb |
4498 | --->aaabbb | --->aaabbb |
4499 | 1 ^ ^ | 1 ^ ^ b |
4500 | 0: aaabbb | 0: aaabbb |
4501 | 1: aaabbb | 1: aaabbb |
4502 | aaabbb\C*0 | aaabbb\C*0 |
4503 | --->aaabbb | --->aaabbb |
4504 | 1 ^ ^ | 1 ^ ^ b |
4505 | 0: aaabbb | 0: aaabbb |
4506 | 1: aaabbb | 1: aaabbb |
4507 | aaabbb\C*1 | aaabbb\C*1 |
4508 | --->aaabbb | --->aaabbb |
4509 | 1 ^ ^ | 1 ^ ^ b |
4510 | Callout data = 1 | Callout data = 1 |
4511 | 0: ab | 0: ab |
4512 | 1: ab | 1: ab |
4513 | aaabbb\C*-1 | aaabbb\C*-1 |
4514 | --->aaabbb | --->aaabbb |
4515 | 1 ^ ^ | 1 ^ ^ b |
4516 | Callout data = -1 | Callout data = -1 |
4517 | No match | No match |
4518 | ||
4519 | /ab(?P<one>cd)ef(?P<two>gh)/ | /ab(?P<one>cd)ef(?P<two>gh)/I |
4520 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
4521 | Named capturing subpatterns: | Named capturing subpatterns: |
4522 | one 1 | one 1 |
# | Line 4340 Need char = 'h' | Line 4533 Need char = 'h' |
4533 | 1: cd | 1: cd |
4534 | 2: gh | 2: gh |
4535 | 1C cd (2) | 1C cd (2) |
4536 | 2G gh (2) | G gh (2) two |
4537 | abcdefgh\Cone\Ctwo | abcdefgh\Con |