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