Parent Directory
|
Revision Log
Fix zero-repeat leading subroutine call first character error.
1 | /-- This set of tests is for features that are compatible with all versions of |
2 | Perl >= 5.10, in non-UTF-8 mode. It should run clean for the 8-bit, 16-bit, |
3 | and 32-bit PCRE libraries. --/ |
4 | |
5 | < forbid 89?=ABCDEFfGILMNPTUWXZ< |
6 | |
7 | /the quick brown fox/ |
8 | the quick brown fox |
9 | 0: the quick brown fox |
10 | The quick brown FOX |
11 | No match |
12 | What do you know about the quick brown fox? |
13 | 0: the quick brown fox |
14 | What do you know about THE QUICK BROWN FOX? |
15 | No match |
16 | |
17 | /The quick brown fox/i |
18 | the quick brown fox |
19 | 0: the quick brown fox |
20 | The quick brown FOX |
21 | 0: The quick brown FOX |
22 | What do you know about the quick brown fox? |
23 | 0: the quick brown fox |
24 | What do you know about THE QUICK BROWN FOX? |
25 | 0: THE QUICK BROWN FOX |
26 | |
27 | /abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/ |
28 | abcd\t\n\r\f\a\e9;\$\\?caxyz |
29 | 0: abcd\x09\x0a\x0d\x0c\x07\x1b9;$\?caxyz |
30 | |
31 | /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/ |
32 | abxyzpqrrrabbxyyyypqAzz |
33 | 0: abxyzpqrrrabbxyyyypqAzz |
34 | abxyzpqrrrabbxyyyypqAzz |
35 | 0: abxyzpqrrrabbxyyyypqAzz |
36 | aabxyzpqrrrabbxyyyypqAzz |
37 | 0: aabxyzpqrrrabbxyyyypqAzz |
38 | aaabxyzpqrrrabbxyyyypqAzz |
39 | 0: aaabxyzpqrrrabbxyyyypqAzz |
40 | aaaabxyzpqrrrabbxyyyypqAzz |
41 | 0: aaaabxyzpqrrrabbxyyyypqAzz |
42 | abcxyzpqrrrabbxyyyypqAzz |
43 | 0: abcxyzpqrrrabbxyyyypqAzz |
44 | aabcxyzpqrrrabbxyyyypqAzz |
45 | 0: aabcxyzpqrrrabbxyyyypqAzz |
46 | aaabcxyzpqrrrabbxyyyypAzz |
47 | 0: aaabcxyzpqrrrabbxyyyypAzz |
48 | aaabcxyzpqrrrabbxyyyypqAzz |
49 | 0: aaabcxyzpqrrrabbxyyyypqAzz |
50 | aaabcxyzpqrrrabbxyyyypqqAzz |
51 | 0: aaabcxyzpqrrrabbxyyyypqqAzz |
52 | aaabcxyzpqrrrabbxyyyypqqqAzz |
53 | 0: aaabcxyzpqrrrabbxyyyypqqqAzz |
54 | aaabcxyzpqrrrabbxyyyypqqqqAzz |
55 | 0: aaabcxyzpqrrrabbxyyyypqqqqAzz |
56 | aaabcxyzpqrrrabbxyyyypqqqqqAzz |
57 | 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz |
58 | aaabcxyzpqrrrabbxyyyypqqqqqqAzz |
59 | 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz |
60 | aaaabcxyzpqrrrabbxyyyypqAzz |
61 | 0: aaaabcxyzpqrrrabbxyyyypqAzz |
62 | abxyzzpqrrrabbxyyyypqAzz |
63 | 0: abxyzzpqrrrabbxyyyypqAzz |
64 | aabxyzzzpqrrrabbxyyyypqAzz |
65 | 0: aabxyzzzpqrrrabbxyyyypqAzz |
66 | aaabxyzzzzpqrrrabbxyyyypqAzz |
67 | 0: aaabxyzzzzpqrrrabbxyyyypqAzz |
68 | aaaabxyzzzzpqrrrabbxyyyypqAzz |
69 | 0: aaaabxyzzzzpqrrrabbxyyyypqAzz |
70 | abcxyzzpqrrrabbxyyyypqAzz |
71 | 0: abcxyzzpqrrrabbxyyyypqAzz |
72 | aabcxyzzzpqrrrabbxyyyypqAzz |
73 | 0: aabcxyzzzpqrrrabbxyyyypqAzz |
74 | aaabcxyzzzzpqrrrabbxyyyypqAzz |
75 | 0: aaabcxyzzzzpqrrrabbxyyyypqAzz |
76 | aaaabcxyzzzzpqrrrabbxyyyypqAzz |
77 | 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz |
78 | aaaabcxyzzzzpqrrrabbbxyyyypqAzz |
79 | 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz |
80 | aaaabcxyzzzzpqrrrabbbxyyyyypqAzz |
81 | 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz |
82 | aaabcxyzpqrrrabbxyyyypABzz |
83 | 0: aaabcxyzpqrrrabbxyyyypABzz |
84 | aaabcxyzpqrrrabbxyyyypABBzz |
85 | 0: aaabcxyzpqrrrabbxyyyypABBzz |
86 | >>>aaabxyzpqrrrabbxyyyypqAzz |
87 | 0: aaabxyzpqrrrabbxyyyypqAzz |
88 | >aaaabxyzpqrrrabbxyyyypqAzz |
89 | 0: aaaabxyzpqrrrabbxyyyypqAzz |
90 | >>>>abcxyzpqrrrabbxyyyypqAzz |
91 | 0: abcxyzpqrrrabbxyyyypqAzz |
92 | *** Failers |
93 | No match |
94 | abxyzpqrrabbxyyyypqAzz |
95 | No match |
96 | abxyzpqrrrrabbxyyyypqAzz |
97 | No match |
98 | abxyzpqrrrabxyyyypqAzz |
99 | No match |
100 | aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz |
101 | No match |
102 | aaaabcxyzzzzpqrrrabbbxyyypqAzz |
103 | No match |
104 | aaabcxyzpqrrrabbxyyyypqqqqqqqAzz |
105 | No match |
106 | |
107 | /^(abc){1,2}zz/ |
108 | abczz |
109 | 0: abczz |
110 | 1: abc |
111 | abcabczz |
112 | 0: abcabczz |
113 | 1: abc |
114 | *** Failers |
115 | No match |
116 | zz |
117 | No match |
118 | abcabcabczz |
119 | No match |
120 | >>abczz |
121 | No match |
122 | |
123 | /^(b+?|a){1,2}?c/ |
124 | bc |
125 | 0: bc |
126 | 1: b |
127 | bbc |
128 | 0: bbc |
129 | 1: b |
130 | bbbc |
131 | 0: bbbc |
132 | 1: bb |
133 | bac |
134 | 0: bac |
135 | 1: a |
136 | bbac |
137 | 0: bbac |
138 | 1: a |
139 | aac |
140 | 0: aac |
141 | 1: a |
142 | abbbbbbbbbbbc |
143 | 0: abbbbbbbbbbbc |
144 | 1: bbbbbbbbbbb |
145 | bbbbbbbbbbbac |
146 | 0: bbbbbbbbbbbac |
147 | 1: a |
148 | *** Failers |
149 | No match |
150 | aaac |
151 | No match |
152 | abbbbbbbbbbbac |
153 | No match |
154 | |
155 | /^(b+|a){1,2}c/ |
156 | bc |
157 | 0: bc |
158 | 1: b |
159 | bbc |
160 | 0: bbc |
161 | 1: bb |
162 | bbbc |
163 | 0: bbbc |
164 | 1: bbb |
165 | bac |
166 | 0: bac |
167 | 1: a |
168 | bbac |
169 | 0: bbac |
170 | 1: a |
171 | aac |
172 | 0: aac |
173 | 1: a |
174 | abbbbbbbbbbbc |
175 | 0: abbbbbbbbbbbc |
176 | 1: bbbbbbbbbbb |
177 | bbbbbbbbbbbac |
178 | 0: bbbbbbbbbbbac |
179 | 1: a |
180 | *** Failers |
181 | No match |
182 | aaac |
183 | No match |
184 | abbbbbbbbbbbac |
185 | No match |
186 | |
187 | /^(b+|a){1,2}?bc/ |
188 | bbc |
189 | 0: bbc |
190 | 1: b |
191 | |
192 | /^(b*|ba){1,2}?bc/ |
193 | babc |
194 | 0: babc |
195 | 1: ba |
196 | bbabc |
197 | 0: bbabc |
198 | 1: ba |
199 | bababc |
200 | 0: bababc |
201 | 1: ba |
202 | *** Failers |
203 | No match |
204 | bababbc |
205 | No match |
206 | babababc |
207 | No match |
208 | |
209 | /^(ba|b*){1,2}?bc/ |
210 | babc |
211 | 0: babc |
212 | 1: ba |
213 | bbabc |
214 | 0: bbabc |
215 | 1: ba |
216 | bababc |
217 | 0: bababc |
218 | 1: ba |
219 | *** Failers |
220 | No match |
221 | bababbc |
222 | No match |
223 | babababc |
224 | No match |
225 | |
226 | /^\ca\cA\c[;\c:/ |
227 | \x01\x01\e;z |
228 | 0: \x01\x01\x1b;z |
229 | |
230 | /^[ab\]cde]/ |
231 | athing |
232 | 0: a |
233 | bthing |
234 | 0: b |
235 | ]thing |
236 | 0: ] |
237 | cthing |
238 | 0: c |
239 | dthing |
240 | 0: d |
241 | ething |
242 | 0: e |
243 | *** Failers |
244 | No match |
245 | fthing |
246 | No match |
247 | [thing |
248 | No match |
249 | \\thing |
250 | No match |
251 | |
252 | /^[]cde]/ |
253 | ]thing |
254 | 0: ] |
255 | cthing |
256 | 0: c |
257 | dthing |
258 | 0: d |
259 | ething |
260 | 0: e |
261 | *** Failers |
262 | No match |
263 | athing |
264 | No match |
265 | fthing |
266 | No match |
267 | |
268 | /^[^ab\]cde]/ |
269 | fthing |
270 | 0: f |
271 | [thing |
272 | 0: [ |
273 | \\thing |
274 | 0: \ |
275 | *** Failers |
276 | 0: * |
277 | athing |
278 | No match |
279 | bthing |
280 | No match |
281 | ]thing |
282 | No match |
283 | cthing |
284 | No match |
285 | dthing |
286 | No match |
287 | ething |
288 | No match |
289 | |
290 | /^[^]cde]/ |
291 | athing |
292 | 0: a |
293 | fthing |
294 | 0: f |
295 | *** Failers |
296 | 0: * |
297 | ]thing |
298 | No match |
299 | cthing |
300 | No match |
301 | dthing |
302 | No match |
303 | ething |
304 | No match |
305 | |
306 | /^\/ |
307 | |
308 | 0: \x81 |
309 | |
310 | /^/ |
311 | |
312 | 0: \xff |
313 | |
314 | /^[0-9]+$/ |
315 | 0 |
316 | 0: 0 |
317 | 1 |
318 | 0: 1 |
319 | 2 |
320 | 0: 2 |
321 | 3 |
322 | 0: 3 |
323 | 4 |
324 | 0: 4 |
325 | 5 |
326 | 0: 5 |
327 | 6 |
328 | 0: 6 |
329 | 7 |
330 | 0: 7 |
331 | 8 |
332 | 0: 8 |
333 | 9 |
334 | 0: 9 |
335 | 10 |
336 | 0: 10 |
337 | 100 |
338 | 0: 100 |
339 | *** Failers |
340 | No match |
341 | abc |
342 | No match |
343 | |
344 | /^.*nter/ |
345 | enter |
346 | 0: enter |
347 | inter |
348 | 0: inter |
349 | uponter |
350 | 0: uponter |
351 | |
352 | /^xxx[0-9]+$/ |
353 | xxx0 |
354 | 0: xxx0 |
355 | xxx1234 |
356 | 0: xxx1234 |
357 | *** Failers |
358 | No match |
359 | xxx |
360 | No match |
361 | |
362 | /^.+[0-9][0-9][0-9]$/ |
363 | x123 |
364 | 0: x123 |
365 | xx123 |
366 | 0: xx123 |
367 | 123456 |
368 | 0: 123456 |
369 | *** Failers |
370 | No match |
371 | 123 |
372 | No match |
373 | x1234 |
374 | 0: x1234 |
375 | |
376 | /^.+?[0-9][0-9][0-9]$/ |
377 | x123 |
378 | 0: x123 |
379 | xx123 |
380 | 0: xx123 |
381 | 123456 |
382 | 0: 123456 |
383 | *** Failers |
384 | No match |
385 | 123 |
386 | No match |
387 | x1234 |
388 | 0: x1234 |
389 | |
390 | /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/ |
391 | abc!pqr=apquxz.ixr.zzz.ac.uk |
392 | 0: abc!pqr=apquxz.ixr.zzz.ac.uk |
393 | 1: abc |
394 | 2: pqr |
395 | *** Failers |
396 | No match |
397 | !pqr=apquxz.ixr.zzz.ac.uk |
398 | No match |
399 | abc!=apquxz.ixr.zzz.ac.uk |
400 | No match |
401 | abc!pqr=apquxz:ixr.zzz.ac.uk |
402 | No match |
403 | abc!pqr=apquxz.ixr.zzz.ac.ukk |
404 | No match |
405 | |
406 | /:/ |
407 | Well, we need a colon: somewhere |
408 | 0: : |
409 | *** Fail if we don't |
410 | No match |
411 | |
412 | /([\da-f:]+)$/i |
413 | 0abc |
414 | 0: 0abc |
415 | 1: 0abc |
416 | abc |
417 | 0: abc |
418 | 1: abc |
419 | fed |
420 | 0: fed |
421 | 1: fed |
422 | E |
423 | 0: E |
424 | 1: E |
425 | :: |
426 | 0: :: |
427 | 1: :: |
428 | 5f03:12C0::932e |
429 | 0: 5f03:12C0::932e |
430 | 1: 5f03:12C0::932e |
431 | fed def |
432 | 0: def |
433 | 1: def |
434 | Any old stuff |
435 | 0: ff |
436 | 1: ff |
437 | *** Failers |
438 | No match |
439 | 0zzz |
440 | No match |
441 | gzzz |
442 | No match |
443 | fed\x20 |
444 | No match |
445 | Any old rubbish |
446 | No match |
447 | |
448 | /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ |
449 | .1.2.3 |
450 | 0: .1.2.3 |
451 | 1: 1 |
452 | 2: 2 |
453 | 3: 3 |
454 | A.12.123.0 |
455 | 0: A.12.123.0 |
456 | 1: 12 |
457 | 2: 123 |
458 | 3: 0 |
459 | *** Failers |
460 | No match |
461 | .1.2.3333 |
462 | No match |
463 | 1.2.3 |
464 | No match |
465 | 1234.2.3 |
466 | No match |
467 | |
468 | /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/ |
469 | 1 IN SOA non-sp1 non-sp2( |
470 | 0: 1 IN SOA non-sp1 non-sp2( |
471 | 1: 1 |
472 | 2: non-sp1 |
473 | 3: non-sp2 |
474 | 1 IN SOA non-sp1 non-sp2 ( |
475 | 0: 1 IN SOA non-sp1 non-sp2 ( |
476 | 1: 1 |
477 | 2: non-sp1 |
478 | 3: non-sp2 |
479 | *** Failers |
480 | No match |
481 | 1IN SOA non-sp1 non-sp2( |
482 | No match |
483 | |
484 | /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/ |
485 | a. |
486 | 0: a. |
487 | Z. |
488 | 0: Z. |
489 | 2. |
490 | 0: 2. |
491 | ab-c.pq-r. |
492 | 0: ab-c.pq-r. |
493 | 1: .pq-r |
494 | sxk.zzz.ac.uk. |
495 | 0: sxk.zzz.ac.uk. |
496 | 1: .uk |
497 | x-.y-. |
498 | 0: x-.y-. |
499 | 1: .y- |
500 | *** Failers |
501 | No match |
502 | -abc.peq. |
503 | No match |
504 | |
505 | /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/ |
506 | *.a |
507 | 0: *.a |
508 | *.b0-a |
509 | 0: *.b0-a |
510 | 1: 0-a |
511 | *.c3-b.c |
512 | 0: *.c3-b.c |
513 | 1: 3-b |
514 | 2: .c |
515 | *.c-a.b-c |
516 | 0: *.c-a.b-c |
517 | 1: -a |
518 | 2: .b-c |
519 | 3: -c |
520 | *** Failers |
521 | No match |
522 | *.0 |
523 | No match |
524 | *.a- |
525 | No match |
526 | *.a-b.c- |
527 | No match |
528 | *.c-a.0-c |
529 | No match |
530 | |
531 | /^(?=ab(de))(abd)(e)/ |
532 | abde |
533 | 0: abde |
534 | 1: de |
535 | 2: abd |
536 | 3: e |
537 | |
538 | /^(?!(ab)de|x)(abd)(f)/ |
539 | abdf |
540 | 0: abdf |
541 | 1: <unset> |
542 | 2: abd |
543 | 3: f |
544 | |
545 | /^(?=(ab(cd)))(ab)/ |
546 | abcd |
547 | 0: ab |
548 | 1: abcd |
549 | 2: cd |
550 | 3: ab |
551 | |
552 | /^[\da-f](\.[\da-f])*$/i |
553 | a.b.c.d |
554 | 0: a.b.c.d |
555 | 1: .d |
556 | A.B.C.D |
557 | 0: A.B.C.D |
558 | 1: .D |
559 | a.b.c.1.2.3.C |
560 | 0: a.b.c.1.2.3.C |
561 | 1: .C |
562 | |
563 | /^\".*\"\s*(;.*)?$/ |
564 | \"1234\" |
565 | 0: "1234" |
566 | \"abcd\" ; |
567 | 0: "abcd" ; |
568 | 1: ; |
569 | \"\" ; rhubarb |
570 | 0: "" ; rhubarb |
571 | 1: ; rhubarb |
572 | *** Failers |
573 | No match |
574 | \"1234\" : things |
575 | No match |
576 | |
577 | /^$/ |
578 | \ |
579 | 0: |
580 | *** Failers |
581 | No match |
582 | |
583 | / ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x |
584 | ab c |
585 | 0: ab c |
586 | *** Failers |
587 | No match |
588 | abc |
589 | No match |
590 | ab cde |
591 | No match |
592 | |
593 | /(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/ |
594 | ab c |
595 | 0: ab c |
596 | *** Failers |
597 | No match |
598 | abc |
599 | No match |
600 | ab cde |
601 | No match |
602 | |
603 | /^ a\ b[c ]d $/x |
604 | a bcd |
605 | 0: a bcd |
606 | a b d |
607 | 0: a b d |
608 | *** Failers |
609 | No match |
610 | abcd |
611 | No match |
612 | ab d |
613 | No match |
614 | |
615 | /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/ |
616 | abcdefhijklm |
617 | 0: abcdefhijklm |
618 | 1: abc |
619 | 2: bc |
620 | 3: c |
621 | 4: def |
622 | 5: ef |
623 | 6: f |
624 | 7: hij |
625 | 8: ij |
626 | 9: j |
627 | 10: klm |
628 | 11: lm |
629 | 12: m |
630 | |
631 | /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/ |
632 | abcdefhijklm |
633 | 0: abcdefhijklm |
634 | 1: bc |
635 | 2: c |
636 | 3: ef |
637 | 4: f |
638 | 5: ij |
639 | 6: j |
640 | 7: lm |
641 | 8: m |
642 | |
643 | /^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/ |
644 | a+ Z0+\x08\n\x1d\x12 |
645 | 0: a+ Z0+\x08\x0a\x1d\x12 |
646 | |
647 | /^[.^$|()*+?{,}]+/ |
648 | .^\$(*+)|{?,?} |
649 | 0: .^$(*+)|{?,?} |
650 | |
651 | /^a*\w/ |
652 | z |
653 | 0: z |
654 | az |
655 | 0: az |
656 | aaaz |
657 | 0: aaaz |
658 | a |
659 | 0: a |
660 | aa |
661 | 0: aa |
662 | aaaa |
663 | 0: aaaa |
664 | a+ |
665 | 0: a |
666 | aa+ |
667 | 0: aa |
668 | |
669 | /^a*?\w/ |
670 | z |
671 | 0: z |
672 | az |
673 | 0: a |
674 | aaaz |
675 | 0: a |
676 | a |
677 | 0: a |
678 | aa |
679 | 0: a |
680 | aaaa |
681 | 0: a |
682 | a+ |
683 | 0: a |
684 | aa+ |
685 | 0: a |
686 | |
687 | /^a+\w/ |
688 | az |
689 | 0: az |
690 | aaaz |
691 | 0: aaaz |
692 | aa |
693 | 0: aa |
694 | aaaa |
695 | 0: aaaa |
696 | aa+ |
697 | 0: aa |
698 | |
699 | /^a+?\w/ |
700 | az |
701 | 0: az |
702 | aaaz |
703 | 0: aa |
704 | aa |
705 | 0: aa |
706 | aaaa |
707 | 0: aa |
708 | aa+ |
709 | 0: aa |
710 | |
711 | /^\d{8}\w{2,}/ |
712 | 1234567890 |
713 | 0: 1234567890 |
714 | 12345678ab |
715 | 0: 12345678ab |
716 | 12345678__ |
717 | 0: 12345678__ |
718 | *** Failers |
719 | No match |
720 | 1234567 |
721 | No match |
722 | |
723 | /^[aeiou\d]{4,5}$/ |
724 | uoie |
725 | 0: uoie |
726 | 1234 |
727 | 0: 1234 |
728 | 12345 |
729 | 0: 12345 |
730 | aaaaa |
731 | 0: aaaaa |
732 | *** Failers |
733 | No match |
734 | 123456 |
735 | No match |
736 | |
737 | /^[aeiou\d]{4,5}?/ |
738 | uoie |
739 | 0: uoie |
740 | 1234 |
741 | 0: 1234 |
742 | 12345 |
743 | 0: 1234 |
744 | aaaaa |
745 | 0: aaaa |
746 | 123456 |
747 | 0: 1234 |
748 | |
749 | /\A(abc|def)=(\1){2,3}\Z/ |
750 | abc=abcabc |
751 | 0: abc=abcabc |
752 | 1: abc |
753 | 2: abc |
754 | def=defdefdef |
755 | 0: def=defdefdef |
756 | 1: def |
757 | 2: def |
758 | *** Failers |
759 | No match |
760 | abc=defdef |
761 | No match |
762 | |
763 | /^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\11*(\3\4)\1(?#)2$/ |
764 | abcdefghijkcda2 |
765 | 0: abcdefghijkcda2 |
766 | 1: a |
767 | 2: b |
768 | 3: c |
769 | 4: d |
770 | 5: e |
771 | 6: f |
772 | 7: g |
773 | 8: h |
774 | 9: i |
775 | 10: j |
776 | 11: k |
777 | 12: cd |
778 | abcdefghijkkkkcda2 |
779 | 0: abcdefghijkkkkcda2 |
780 | 1: a |
781 | 2: b |
782 | 3: c |
783 | 4: d |
784 | 5: e |
785 | 6: f |
786 | 7: g |
787 | 8: h |
788 | 9: i |
789 | 10: j |
790 | 11: k |
791 | 12: cd |
792 | |
793 | /(cat(a(ract|tonic)|erpillar)) \1()2(3)/ |
794 | cataract cataract23 |
795 | 0: cataract cataract23 |
796 | 1: cataract |
797 | 2: aract |
798 | 3: ract |
799 | 4: |
800 | 5: 3 |
801 | catatonic catatonic23 |
802 | 0: catatonic catatonic23 |
803 | 1: catatonic |
804 | 2: atonic |
805 | 3: tonic |
806 | 4: |
807 | 5: 3 |
808 | caterpillar caterpillar23 |
809 | 0: caterpillar caterpillar23 |
810 | 1: caterpillar |
811 | 2: erpillar |
812 | 3: <unset> |
813 | 4: |
814 | 5: 3 |
815 | |
816 | |
817 | /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/ |
818 | From abcd Mon Sep 01 12:33:02 1997 |
819 | 0: From abcd Mon Sep 01 12:33 |
820 | 1: abcd |
821 | |
822 | /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/ |
823 | From abcd Mon Sep 01 12:33:02 1997 |
824 | 0: From abcd Mon Sep 01 12:33 |
825 | 1: Sep |
826 | From abcd Mon Sep 1 12:33:02 1997 |
827 | 0: From abcd Mon Sep 1 12:33 |
828 | 1: Sep |
829 | *** Failers |
830 | No match |
831 | From abcd Sep 01 12:33:02 1997 |
832 | No match |
833 | |
834 | /^12.34/s |
835 | 12\n34 |
836 | 0: 12\x0a34 |
837 | 12\r34 |
838 | 0: 12\x0d34 |
839 | |
840 | /\w+(?=\t)/ |
841 | the quick brown\t fox |
842 | 0: brown |
843 | |
844 | /foo(?!bar)(.*)/ |
845 | foobar is foolish see? |
846 | 0: foolish see? |
847 | 1: lish see? |
848 | |
849 | /(?:(?!foo)...|^.{0,2})bar(.*)/ |
850 | foobar crowbar etc |
851 | 0: rowbar etc |
852 | 1: etc |
853 | barrel |
854 | 0: barrel |
855 | 1: rel |
856 | 2barrel |
857 | 0: 2barrel |
858 | 1: rel |
859 | A barrel |
860 | 0: A barrel |
861 | 1: rel |
862 | |
863 | /^(\D*)(?=\d)(?!123)/ |
864 | abc456 |
865 | 0: abc |
866 | 1: abc |
867 | *** Failers |
868 | No match |
869 | abc123 |
870 | No match |
871 | |
872 | /^1234(?# test newlines |
873 | inside)/ |
874 | 1234 |
875 | 0: 1234 |
876 | |
877 | /^1234 #comment in extended re |
878 | /x |
879 | 1234 |
880 | 0: 1234 |
881 | |
882 | /#rhubarb |
883 | abcd/x |
884 | abcd |
885 | 0: abcd |
886 | |
887 | /^abcd#rhubarb/x |
888 | abcd |
889 | 0: abcd |
890 | |
891 | /^(a)\1{2,3}(.)/ |
892 | aaab |
893 | 0: aaab |
894 | 1: a |
895 | 2: b |
896 | aaaab |
897 | 0: aaaab |
898 | 1: a |
899 | 2: b |
900 | aaaaab |
901 | 0: aaaaa |
902 | 1: a |
903 | 2: a |
904 | aaaaaab |
905 | 0: aaaaa |
906 | 1: a |
907 | 2: a |
908 | |
909 | /(?!^)abc/ |
910 | the abc |
911 | 0: abc |
912 | *** Failers |
913 | No match |
914 | abc |
915 | No match |
916 | |
917 | /(?=^)abc/ |
918 | abc |
919 | 0: abc |
920 | *** Failers |
921 | No match |
922 | the abc |
923 | No match |
924 | |
925 | /^[ab]{1,3}(ab*|b)/ |
926 | aabbbbb |
927 | 0: aabb |
928 | 1: b |
929 | |
930 | /^[ab]{1,3}?(ab*|b)/ |
931 | aabbbbb |
932 | 0: aabbbbb |
933 | 1: abbbbb |
934 | |
935 | /^[ab]{1,3}?(ab*?|b)/ |
936 | aabbbbb |
937 | 0: aa |
938 | 1: a |
939 | |
940 | /^[ab]{1,3}(ab*?|b)/ |
941 | aabbbbb |
942 | 0: aabb |
943 | 1: b |
944 | |
945 | / (?: [\040\t] | \( |
946 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
947 | \) )* # optional leading comment |
948 | (?: (?: |
949 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
950 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
951 | | |
952 | " (?: # opening quote... |
953 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
954 | | # or |
955 | \\ [^\x80-\xff] # Escaped something (something != CR) |
956 | )* " # closing quote |
957 | ) # initial word |
958 | (?: (?: [\040\t] | \( |
959 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
960 | \) )* \. (?: [\040\t] | \( |
961 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
962 | \) )* (?: |
963 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
964 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
965 | | |
966 | " (?: # opening quote... |
967 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
968 | | # or |
969 | \\ [^\x80-\xff] # Escaped something (something != CR) |
970 | )* " # closing quote |
971 | ) )* # further okay, if led by a period |
972 | (?: [\040\t] | \( |
973 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
974 | \) )* @ (?: [\040\t] | \( |
975 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
976 | \) )* (?: |
977 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
978 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
979 | | \[ # [ |
980 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
981 | \] # ] |
982 | ) # initial subdomain |
983 | (?: # |
984 | (?: [\040\t] | \( |
985 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
986 | \) )* \. # if led by a period... |
987 | (?: [\040\t] | \( |
988 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
989 | \) )* (?: |
990 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
991 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
992 | | \[ # [ |
993 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
994 | \] # ] |
995 | ) # ...further okay |
996 | )* |
997 | # address |
998 | | # or |
999 | (?: |
1000 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1001 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1002 | | |
1003 | " (?: # opening quote... |
1004 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
1005 | | # or |
1006 | \\ [^\x80-\xff] # Escaped something (something != CR) |
1007 | )* " # closing quote |
1008 | ) # one word, optionally followed by.... |
1009 | (?: |
1010 | [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... |
1011 | \( |
1012 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1013 | \) | # comments, or... |
1014 | |
1015 | " (?: # opening quote... |
1016 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
1017 | | # or |
1018 | \\ [^\x80-\xff] # Escaped something (something != CR) |
1019 | )* " # closing quote |
1020 | # quoted strings |
1021 | )* |
1022 | < (?: [\040\t] | \( |
1023 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1024 | \) )* # leading < |
1025 | (?: @ (?: [\040\t] | \( |
1026 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1027 | \) )* (?: |
1028 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1029 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1030 | | \[ # [ |
1031 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1032 | \] # ] |
1033 | ) # initial subdomain |
1034 | (?: # |
1035 | (?: [\040\t] | \( |
1036 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1037 | \) )* \. # if led by a period... |
1038 | (?: [\040\t] | \( |
1039 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1040 | \) )* (?: |
1041 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1042 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1043 | | \[ # [ |
1044 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1045 | \] # ] |
1046 | ) # ...further okay |
1047 | )* |
1048 | |
1049 | (?: (?: [\040\t] | \( |
1050 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1051 | \) )* , (?: [\040\t] | \( |
1052 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1053 | \) )* @ (?: [\040\t] | \( |
1054 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1055 | \) )* (?: |
1056 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1057 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1058 | | \[ # [ |
1059 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1060 | \] # ] |
1061 | ) # initial subdomain |
1062 | (?: # |
1063 | (?: [\040\t] | \( |
1064 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1065 | \) )* \. # if led by a period... |
1066 | (?: [\040\t] | \( |
1067 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1068 | \) )* (?: |
1069 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1070 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1071 | | \[ # [ |
1072 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1073 | \] # ] |
1074 | ) # ...further okay |
1075 | )* |
1076 | )* # further okay, if led by comma |
1077 | : # closing colon |
1078 | (?: [\040\t] | \( |
1079 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1080 | \) )* )? # optional route |
1081 | (?: |
1082 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1083 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1084 | | |
1085 | " (?: # opening quote... |
1086 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
1087 | | # or |
1088 | \\ [^\x80-\xff] # Escaped something (something != CR) |
1089 | )* " # closing quote |
1090 | ) # initial word |
1091 | (?: (?: [\040\t] | \( |
1092 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1093 | \) )* \. (?: [\040\t] | \( |
1094 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1095 | \) )* (?: |
1096 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1097 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1098 | | |
1099 | " (?: # opening quote... |
1100 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
1101 | | # or |
1102 | \\ [^\x80-\xff] # Escaped something (something != CR) |
1103 | )* " # closing quote |
1104 | ) )* # further okay, if led by a period |
1105 | (?: [\040\t] | \( |
1106 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1107 | \) )* @ (?: [\040\t] | \( |
1108 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1109 | \) )* (?: |
1110 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1111 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1112 | | \[ # [ |
1113 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1114 | \] # ] |
1115 | ) # initial subdomain |
1116 | (?: # |
1117 | (?: [\040\t] | \( |
1118 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1119 | \) )* \. # if led by a period... |
1120 | (?: [\040\t] | \( |
1121 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1122 | \) )* (?: |
1123 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1124 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1125 | | \[ # [ |
1126 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1127 | \] # ] |
1128 | ) # ...further okay |
1129 | )* |
1130 | # address spec |
1131 | (?: [\040\t] | \( |
1132 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1133 | \) )* > # trailing > |
1134 | # name and address |
1135 | ) (?: [\040\t] | \( |
1136 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
1137 | \) )* # optional trailing comment |
1138 | /x |
1139 | Alan Other <user\@dom.ain> |
1140 | 0: Alan Other <user@dom.ain> |
1141 | <user\@dom.ain> |
1142 | 0: user@dom.ain |
1143 | user\@dom.ain |
1144 | 0: user@dom.ain |
1145 | \"A. Other\" <user.1234\@dom.ain> (a comment) |
1146 | 0: "A. Other" <user.1234@dom.ain> (a comment) |
1147 | A. Other <user.1234\@dom.ain> (a comment) |
1148 | 0: Other <user.1234@dom.ain> (a comment) |
1149 | \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay |
1150 | 0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay |
1151 | A missing angle <user\@some.where |
1152 | 0: user@some.where |
1153 | *** Failers |
1154 | No match |
1155 | The quick brown fox |
1156 | No match |
1157 | |
1158 | /[\040\t]* # Nab whitespace. |
1159 | (?: |
1160 | \( # ( |
1161 | [^\\\x80-\xff\n\015()] * # normal* |
1162 | (?: # ( |
1163 | (?: \\ [^\x80-\xff] | |
1164 | \( # ( |
1165 | [^\\\x80-\xff\n\015()] * # normal* |
1166 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1167 | \) # ) |
1168 | ) # special |
1169 | [^\\\x80-\xff\n\015()] * # normal* |
1170 | )* # )* |
1171 | \) # ) |
1172 | [\040\t]* )* # If comment found, allow more spaces. |
1173 | # optional leading comment |
1174 | (?: |
1175 | (?: |
1176 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1177 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1178 | # Atom |
1179 | | # or |
1180 | " # " |
1181 | [^\\\x80-\xff\n\015"] * # normal |
1182 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* |
1183 | " # " |
1184 | # Quoted string |
1185 | ) |
1186 | [\040\t]* # Nab whitespace. |
1187 | (?: |
1188 | \( # ( |
1189 | [^\\\x80-\xff\n\015()] * # normal* |
1190 | (?: # ( |
1191 | (?: \\ [^\x80-\xff] | |
1192 | \( # ( |
1193 | [^\\\x80-\xff\n\015()] * # normal* |
1194 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1195 | \) # ) |
1196 | ) # special |
1197 | [^\\\x80-\xff\n\015()] * # normal* |
1198 | )* # )* |
1199 | \) # ) |
1200 | [\040\t]* )* # If comment found, allow more spaces. |
1201 | (?: |
1202 | \. |
1203 | [\040\t]* # Nab whitespace. |
1204 | (?: |
1205 | \( # ( |
1206 | [^\\\x80-\xff\n\015()] * # normal* |
1207 | (?: # ( |
1208 | (?: \\ [^\x80-\xff] | |
1209 | \( # ( |
1210 | [^\\\x80-\xff\n\015()] * # normal* |
1211 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1212 | \) # ) |
1213 | ) # special |
1214 | [^\\\x80-\xff\n\015()] * # normal* |
1215 | )* # )* |
1216 | \) # ) |
1217 | [\040\t]* )* # If comment found, allow more spaces. |
1218 | (?: |
1219 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1220 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1221 | # Atom |
1222 | | # or |
1223 | " # " |
1224 | [^\\\x80-\xff\n\015"] * # normal |
1225 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* |
1226 | " # " |
1227 | # Quoted string |
1228 | ) |
1229 | [\040\t]* # Nab whitespace. |
1230 | (?: |
1231 | \( # ( |
1232 | [^\\\x80-\xff\n\015()] * # normal* |
1233 | (?: # ( |
1234 | (?: \\ [^\x80-\xff] | |
1235 | \( # ( |
1236 | [^\\\x80-\xff\n\015()] * # normal* |
1237 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1238 | \) # ) |
1239 | ) # special |
1240 | [^\\\x80-\xff\n\015()] * # normal* |
1241 | )* # )* |
1242 | \) # ) |
1243 | [\040\t]* )* # If comment found, allow more spaces. |
1244 | # additional words |
1245 | )* |
1246 | @ |
1247 | [\040\t]* # Nab whitespace. |
1248 | (?: |
1249 | \( # ( |
1250 | [^\\\x80-\xff\n\015()] * # normal* |
1251 | (?: # ( |
1252 | (?: \\ [^\x80-\xff] | |
1253 | \( # ( |
1254 | [^\\\x80-\xff\n\015()] * # normal* |
1255 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1256 | \) # ) |
1257 | ) # special |
1258 | [^\\\x80-\xff\n\015()] * # normal* |
1259 | )* # )* |
1260 | \) # ) |
1261 | [\040\t]* )* # If comment found, allow more spaces. |
1262 | (?: |
1263 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1264 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1265 | | |
1266 | \[ # [ |
1267 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1268 | \] # ] |
1269 | ) |
1270 | [\040\t]* # Nab whitespace. |
1271 | (?: |
1272 | \( # ( |
1273 | [^\\\x80-\xff\n\015()] * # normal* |
1274 | (?: # ( |
1275 | (?: \\ [^\x80-\xff] | |
1276 | \( # ( |
1277 | [^\\\x80-\xff\n\015()] * # normal* |
1278 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1279 | \) # ) |
1280 | ) # special |
1281 | [^\\\x80-\xff\n\015()] * # normal* |
1282 | )* # )* |
1283 | \) # ) |
1284 | [\040\t]* )* # If comment found, allow more spaces. |
1285 | # optional trailing comments |
1286 | (?: |
1287 | \. |
1288 | [\040\t]* # Nab whitespace. |
1289 | (?: |
1290 | \( # ( |
1291 | [^\\\x80-\xff\n\015()] * # normal* |
1292 | (?: # ( |
1293 | (?: \\ [^\x80-\xff] | |
1294 | \( # ( |
1295 | [^\\\x80-\xff\n\015()] * # normal* |
1296 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1297 | \) # ) |
1298 | ) # special |
1299 | [^\\\x80-\xff\n\015()] * # normal* |
1300 | )* # )* |
1301 | \) # ) |
1302 | [\040\t]* )* # If comment found, allow more spaces. |
1303 | (?: |
1304 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1305 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1306 | | |
1307 | \[ # [ |
1308 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1309 | \] # ] |
1310 | ) |
1311 | [\040\t]* # Nab whitespace. |
1312 | (?: |
1313 | \( # ( |
1314 | [^\\\x80-\xff\n\015()] * # normal* |
1315 | (?: # ( |
1316 | (?: \\ [^\x80-\xff] | |
1317 | \( # ( |
1318 | [^\\\x80-\xff\n\015()] * # normal* |
1319 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1320 | \) # ) |
1321 | ) # special |
1322 | [^\\\x80-\xff\n\015()] * # normal* |
1323 | )* # )* |
1324 | \) # ) |
1325 | [\040\t]* )* # If comment found, allow more spaces. |
1326 | # optional trailing comments |
1327 | )* |
1328 | # address |
1329 | | # or |
1330 | (?: |
1331 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1332 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1333 | # Atom |
1334 | | # or |
1335 | " # " |
1336 | [^\\\x80-\xff\n\015"] * # normal |
1337 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* |
1338 | " # " |
1339 | # Quoted string |
1340 | ) |
1341 | # leading word |
1342 | [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # "normal" atoms and or spaces |
1343 | (?: |
1344 | (?: |
1345 | \( # ( |
1346 | [^\\\x80-\xff\n\015()] * # normal* |
1347 | (?: # ( |
1348 | (?: \\ [^\x80-\xff] | |
1349 | \( # ( |
1350 | [^\\\x80-\xff\n\015()] * # normal* |
1351 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1352 | \) # ) |
1353 | ) # special |
1354 | [^\\\x80-\xff\n\015()] * # normal* |
1355 | )* # )* |
1356 | \) # ) |
1357 | | |
1358 | " # " |
1359 | [^\\\x80-\xff\n\015"] * # normal |
1360 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* |
1361 | " # " |
1362 | ) # "special" comment or quoted string |
1363 | [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # more "normal" |
1364 | )* |
1365 | < |
1366 | [\040\t]* # Nab whitespace. |
1367 | (?: |
1368 | \( # ( |
1369 | [^\\\x80-\xff\n\015()] * # normal* |
1370 | (?: # ( |
1371 | (?: \\ [^\x80-\xff] | |
1372 | \( # ( |
1373 | [^\\\x80-\xff\n\015()] * # normal* |
1374 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1375 | \) # ) |
1376 | ) # special |
1377 | [^\\\x80-\xff\n\015()] * # normal* |
1378 | )* # )* |
1379 | \) # ) |
1380 | [\040\t]* )* # If comment found, allow more spaces. |
1381 | # < |
1382 | (?: |
1383 | @ |
1384 | [\040\t]* # Nab whitespace. |
1385 | (?: |
1386 | \( # ( |
1387 | [^\\\x80-\xff\n\015()] * # normal* |
1388 | (?: # ( |
1389 | (?: \\ [^\x80-\xff] | |
1390 | \( # ( |
1391 | [^\\\x80-\xff\n\015()] * # normal* |
1392 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1393 | \) # ) |
1394 | ) # special |
1395 | [^\\\x80-\xff\n\015()] * # normal* |
1396 | )* # )* |
1397 | \) # ) |
1398 | [\040\t]* )* # If comment found, allow more spaces. |
1399 | (?: |
1400 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1401 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1402 | | |
1403 | \[ # [ |
1404 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1405 | \] # ] |
1406 | ) |
1407 | [\040\t]* # Nab whitespace. |
1408 | (?: |
1409 | \( # ( |
1410 | [^\\\x80-\xff\n\015()] * # normal* |
1411 | (?: # ( |
1412 | (?: \\ [^\x80-\xff] | |
1413 | \( # ( |
1414 | [^\\\x80-\xff\n\015()] * # normal* |
1415 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1416 | \) # ) |
1417 | ) # special |
1418 | [^\\\x80-\xff\n\015()] * # normal* |
1419 | )* # )* |
1420 | \) # ) |
1421 | [\040\t]* )* # If comment found, allow more spaces. |
1422 | # optional trailing comments |
1423 | (?: |
1424 | \. |
1425 | [\040\t]* # Nab whitespace. |
1426 | (?: |
1427 | \( # ( |
1428 | [^\\\x80-\xff\n\015()] * # normal* |
1429 | (?: # ( |
1430 | (?: \\ [^\x80-\xff] | |
1431 | \( # ( |
1432 | [^\\\x80-\xff\n\015()] * # normal* |
1433 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1434 | \) # ) |
1435 | ) # special |
1436 | [^\\\x80-\xff\n\015()] * # normal* |
1437 | )* # )* |
1438 | \) # ) |
1439 | [\040\t]* )* # If comment found, allow more spaces. |
1440 | (?: |
1441 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1442 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1443 | | |
1444 | \[ # [ |
1445 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1446 | \] # ] |
1447 | ) |
1448 | [\040\t]* # Nab whitespace. |
1449 | (?: |
1450 | \( # ( |
1451 | [^\\\x80-\xff\n\015()] * # normal* |
1452 | (?: # ( |
1453 | (?: \\ [^\x80-\xff] | |
1454 | \( # ( |
1455 | [^\\\x80-\xff\n\015()] * # normal* |
1456 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1457 | \) # ) |
1458 | ) # special |
1459 | [^\\\x80-\xff\n\015()] * # normal* |
1460 | )* # )* |
1461 | \) # ) |
1462 | [\040\t]* )* # If comment found, allow more spaces. |
1463 | # optional trailing comments |
1464 | )* |
1465 | (?: , |
1466 | [\040\t]* # Nab whitespace. |
1467 | (?: |
1468 | \( # ( |
1469 | [^\\\x80-\xff\n\015()] * # normal* |
1470 | (?: # ( |
1471 | (?: \\ [^\x80-\xff] | |
1472 | \( # ( |
1473 | [^\\\x80-\xff\n\015()] * # normal* |
1474 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1475 | \) # ) |
1476 | ) # special |
1477 | [^\\\x80-\xff\n\015()] * # normal* |
1478 | )* # )* |
1479 | \) # ) |
1480 | [\040\t]* )* # If comment found, allow more spaces. |
1481 | @ |
1482 | [\040\t]* # Nab whitespace. |
1483 | (?: |
1484 | \( # ( |
1485 | [^\\\x80-\xff\n\015()] * # normal* |
1486 | (?: # ( |
1487 | (?: \\ [^\x80-\xff] | |
1488 | \( # ( |
1489 | [^\\\x80-\xff\n\015()] * # normal* |
1490 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1491 | \) # ) |
1492 | ) # special |
1493 | [^\\\x80-\xff\n\015()] * # normal* |
1494 | )* # )* |
1495 | \) # ) |
1496 | [\040\t]* )* # If comment found, allow more spaces. |
1497 | (?: |
1498 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1499 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1500 | | |
1501 | \[ # [ |
1502 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1503 | \] # ] |
1504 | ) |
1505 | [\040\t]* # Nab whitespace. |
1506 | (?: |
1507 | \( # ( |
1508 | [^\\\x80-\xff\n\015()] * # normal* |
1509 | (?: # ( |
1510 | (?: \\ [^\x80-\xff] | |
1511 | \( # ( |
1512 | [^\\\x80-\xff\n\015()] * # normal* |
1513 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1514 | \) # ) |
1515 | ) # special |
1516 | [^\\\x80-\xff\n\015()] * # normal* |
1517 | )* # )* |
1518 | \) # ) |
1519 | [\040\t]* )* # If comment found, allow more spaces. |
1520 | # optional trailing comments |
1521 | (?: |
1522 | \. |
1523 | [\040\t]* # Nab whitespace. |
1524 | (?: |
1525 | \( # ( |
1526 | [^\\\x80-\xff\n\015()] * # normal* |
1527 | (?: # ( |
1528 | (?: \\ [^\x80-\xff] | |
1529 | \( # ( |
1530 | [^\\\x80-\xff\n\015()] * # normal* |
1531 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1532 | \) # ) |
1533 | ) # special |
1534 | [^\\\x80-\xff\n\015()] * # normal* |
1535 | )* # )* |
1536 | \) # ) |
1537 | [\040\t]* )* # If comment found, allow more spaces. |
1538 | (?: |
1539 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1540 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1541 | | |
1542 | \[ # [ |
1543 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1544 | \] # ] |
1545 | ) |
1546 | [\040\t]* # Nab whitespace. |
1547 | (?: |
1548 | \( # ( |
1549 | [^\\\x80-\xff\n\015()] * # normal* |
1550 | (?: # ( |
1551 | (?: \\ [^\x80-\xff] | |
1552 | \( # ( |
1553 | [^\\\x80-\xff\n\015()] * # normal* |
1554 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1555 | \) # ) |
1556 | ) # special |
1557 | [^\\\x80-\xff\n\015()] * # normal* |
1558 | )* # )* |
1559 | \) # ) |
1560 | [\040\t]* )* # If comment found, allow more spaces. |
1561 | # optional trailing comments |
1562 | )* |
1563 | )* # additional domains |
1564 | : |
1565 | [\040\t]* # Nab whitespace. |
1566 | (?: |
1567 | \( # ( |
1568 | [^\\\x80-\xff\n\015()] * # normal* |
1569 | (?: # ( |
1570 | (?: \\ [^\x80-\xff] | |
1571 | \( # ( |
1572 | [^\\\x80-\xff\n\015()] * # normal* |
1573 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1574 | \) # ) |
1575 | ) # special |
1576 | [^\\\x80-\xff\n\015()] * # normal* |
1577 | )* # )* |
1578 | \) # ) |
1579 | [\040\t]* )* # If comment found, allow more spaces. |
1580 | # optional trailing comments |
1581 | )? # optional route |
1582 | (?: |
1583 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1584 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1585 | # Atom |
1586 | | # or |
1587 | " # " |
1588 | [^\\\x80-\xff\n\015"] * # normal |
1589 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* |
1590 | " # " |
1591 | # Quoted string |
1592 | ) |
1593 | [\040\t]* # Nab whitespace. |
1594 | (?: |
1595 | \( # ( |
1596 | [^\\\x80-\xff\n\015()] * # normal* |
1597 | (?: # ( |
1598 | (?: \\ [^\x80-\xff] | |
1599 | \( # ( |
1600 | [^\\\x80-\xff\n\015()] * # normal* |
1601 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1602 | \) # ) |
1603 | ) # special |
1604 | [^\\\x80-\xff\n\015()] * # normal* |
1605 | )* # )* |
1606 | \) # ) |
1607 | [\040\t]* )* # If comment found, allow more spaces. |
1608 | (?: |
1609 | \. |
1610 | [\040\t]* # Nab whitespace. |
1611 | (?: |
1612 | \( # ( |
1613 | [^\\\x80-\xff\n\015()] * # normal* |
1614 | (?: # ( |
1615 | (?: \\ [^\x80-\xff] | |
1616 | \( # ( |
1617 | [^\\\x80-\xff\n\015()] * # normal* |
1618 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1619 | \) # ) |
1620 | ) # special |
1621 | [^\\\x80-\xff\n\015()] * # normal* |
1622 | )* # )* |
1623 | \) # ) |
1624 | [\040\t]* )* # If comment found, allow more spaces. |
1625 | (?: |
1626 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1627 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1628 | # Atom |
1629 | | # or |
1630 | " # " |
1631 | [^\\\x80-\xff\n\015"] * # normal |
1632 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )* |
1633 | " # " |
1634 | # Quoted string |
1635 | ) |
1636 | [\040\t]* # Nab whitespace. |
1637 | (?: |
1638 | \( # ( |
1639 | [^\\\x80-\xff\n\015()] * # normal* |
1640 | (?: # ( |
1641 | (?: \\ [^\x80-\xff] | |
1642 | \( # ( |
1643 | [^\\\x80-\xff\n\015()] * # normal* |
1644 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1645 | \) # ) |
1646 | ) # special |
1647 | [^\\\x80-\xff\n\015()] * # normal* |
1648 | )* # )* |
1649 | \) # ) |
1650 | [\040\t]* )* # If comment found, allow more spaces. |
1651 | # additional words |
1652 | )* |
1653 | @ |
1654 | [\040\t]* # Nab whitespace. |
1655 | (?: |
1656 | \( # ( |
1657 | [^\\\x80-\xff\n\015()] * # normal* |
1658 | (?: # ( |
1659 | (?: \\ [^\x80-\xff] | |
1660 | \( # ( |
1661 | [^\\\x80-\xff\n\015()] * # normal* |
1662 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1663 | \) # ) |
1664 | ) # special |
1665 | [^\\\x80-\xff\n\015()] * # normal* |
1666 | )* # )* |
1667 | \) # ) |
1668 | [\040\t]* )* # If comment found, allow more spaces. |
1669 | (?: |
1670 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1671 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1672 | | |
1673 | \[ # [ |
1674 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1675 | \] # ] |
1676 | ) |
1677 | [\040\t]* # Nab whitespace. |
1678 | (?: |
1679 | \( # ( |
1680 | [^\\\x80-\xff\n\015()] * # normal* |
1681 | (?: # ( |
1682 | (?: \\ [^\x80-\xff] | |
1683 | \( # ( |
1684 | [^\\\x80-\xff\n\015()] * # normal* |
1685 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1686 | \) # ) |
1687 | ) # special |
1688 | [^\\\x80-\xff\n\015()] * # normal* |
1689 | )* # )* |
1690 | \) # ) |
1691 | [\040\t]* )* # If comment found, allow more spaces. |
1692 | # optional trailing comments |
1693 | (?: |
1694 | \. |
1695 | [\040\t]* # Nab whitespace. |
1696 | (?: |
1697 | \( # ( |
1698 | [^\\\x80-\xff\n\015()] * # normal* |
1699 | (?: # ( |
1700 | (?: \\ [^\x80-\xff] | |
1701 | \( # ( |
1702 | [^\\\x80-\xff\n\015()] * # normal* |
1703 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1704 | \) # ) |
1705 | ) # special |
1706 | [^\\\x80-\xff\n\015()] * # normal* |
1707 | )* # )* |
1708 | \) # ) |
1709 | [\040\t]* )* # If comment found, allow more spaces. |
1710 | (?: |
1711 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
1712 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
1713 | | |
1714 | \[ # [ |
1715 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
1716 | \] # ] |
1717 | ) |
1718 | [\040\t]* # Nab whitespace. |
1719 | (?: |
1720 | \( # ( |
1721 | [^\\\x80-\xff\n\015()] * # normal* |
1722 | (?: # ( |
1723 | (?: \\ [^\x80-\xff] | |
1724 | \( # ( |
1725 | [^\\\x80-\xff\n\015()] * # normal* |
1726 | (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)* |
1727 | \) # ) |
1728 | ) # special |
1729 | [^\\\x80-\xff\n\015()] * # normal* |
1730 | )* # )* |
1731 | \) # ) |
1732 | [\040\t]* )* # If comment found, allow more spaces. |
1733 | # optional trailing comments |
1734 | )* |
1735 | # address spec |
1736 | > # > |
1737 | # name and address |
1738 | ) |
1739 | /x |
1740 | Alan Other <user\@dom.ain> |
1741 | 0: Alan Other <user@dom.ain> |
1742 | <user\@dom.ain> |
1743 | 0: user@dom.ain |
1744 | user\@dom.ain |
1745 | 0: user@dom.ain |
1746 | \"A. Other\" <user.1234\@dom.ain> (a comment) |
1747 | 0: "A. Other" <user.1234@dom.ain> |
1748 | A. Other <user.1234\@dom.ain> (a comment) |
1749 | 0: Other <user.1234@dom.ain> |
1750 | \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay |
1751 | 0: "/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay |
1752 | A missing angle <user\@some.where |
1753 | 0: user@some.where |
1754 | *** Failers |
1755 | No match |
1756 | The quick brown fox |
1757 | No match |
1758 | |
1759 | /abc\0def\00pqr\000xyz\0000AB/ |
1760 | abc\0def\00pqr\000xyz\0000AB |
1761 | 0: abc\x00def\x00pqr\x00xyz\x000AB |
1762 | abc456 abc\0def\00pqr\000xyz\0000ABCDE |
1763 | 0: abc\x00def\x00pqr\x00xyz\x000AB |
1764 | |
1765 | /abc\x0def\x00pqr\x000xyz\x0000AB/ |
1766 | abc\x0def\x00pqr\x000xyz\x0000AB |
1767 | 0: abc\x0def\x00pqr\x000xyz\x0000AB |
1768 | abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE |
1769 | 0: abc\x0def\x00pqr\x000xyz\x0000AB |
1770 | |
1771 | /^[\000-\037]/ |
1772 | \0A |
1773 | 0: \x00 |
1774 | \01B |
1775 | 0: \x01 |
1776 | \037C |
1777 | 0: \x1f |
1778 | |
1779 | /\0*/ |
1780 | \0\0\0\0 |
1781 | 0: \x00\x00\x00\x00 |
1782 | |
1783 | /A\x0{2,3}Z/ |
1784 | The A\x0\x0Z |
1785 | 0: A\x00\x00Z |
1786 | An A\0\x0\0Z |
1787 | 0: A\x00\x00\x00Z |
1788 | *** Failers |
1789 | No match |
1790 | A\0Z |
1791 | No match |
1792 | A\0\x0\0\x0Z |
1793 | No match |
1794 | |
1795 | /^(cow|)\1(bell)/ |
1796 | cowcowbell |
1797 | 0: cowcowbell |
1798 | 1: cow |
1799 | 2: bell |
1800 | bell |
1801 | 0: bell |
1802 | 1: |
1803 | 2: bell |
1804 | *** Failers |
1805 | No match |
1806 | cowbell |
1807 | No match |
1808 | |
1809 | /^\s/ |
1810 | \040abc |
1811 | 0: |
1812 | \x0cabc |
1813 | 0: \x0c |
1814 | \nabc |
1815 | 0: \x0a |
1816 | \rabc |
1817 | 0: \x0d |
1818 | \tabc |
1819 | 0: \x09 |
1820 | *** Failers |
1821 | No match |
1822 | abc |
1823 | No match |
1824 | |
1825 | /^a b |
1826 | c/x |
1827 | abc |
1828 | 0: abc |
1829 | |
1830 | /^(a|)\1*b/ |
1831 | ab |
1832 | 0: ab |
1833 | 1: a |
1834 | aaaab |
1835 | 0: aaaab |
1836 | 1: a |
1837 | b |
1838 | 0: b |
1839 | 1: |
1840 | *** Failers |
1841 | No match |
1842 | acb |
1843 | No match |
1844 | |
1845 | /^(a|)\1+b/ |
1846 | aab |
1847 | 0: aab |
1848 | 1: a |
1849 | aaaab |
1850 | 0: aaaab |
1851 | 1: a |
1852 | b |
1853 | 0: b |
1854 | 1: |
1855 | *** Failers |
1856 | No match |
1857 | ab |
1858 | No match |
1859 | |
1860 | /^(a|)\1?b/ |
1861 | ab |
1862 | 0: ab |
1863 | 1: a |
1864 | aab |
1865 | 0: aab |
1866 | 1: a |
1867 | b |
1868 | 0: b |
1869 | 1: |
1870 | *** Failers |
1871 | No match |
1872 | acb |
1873 | No match |
1874 | |
1875 | /^(a|)\1{2}b/ |
1876 | aaab |
1877 | 0: aaab |
1878 | 1: a |
1879 | b |
1880 | 0: b |
1881 | 1: |
1882 | *** Failers |
1883 | No match |
1884 | ab |
1885 | No match |
1886 | aab |
1887 | No match |
1888 | aaaab |
1889 | No match |
1890 | |
1891 | /^(a|)\1{2,3}b/ |
1892 | aaab |
1893 | 0: aaab |
1894 | 1: a |
1895 | aaaab |
1896 | 0: aaaab |
1897 | 1: a |
1898 | b |
1899 | 0: b |
1900 | 1: |
1901 | *** Failers |
1902 | No match |
1903 | ab |
1904 | No match |
1905 | aab |
1906 | No match |
1907 | aaaaab |
1908 | No match |
1909 | |
1910 | /ab{1,3}bc/ |
1911 | abbbbc |
1912 | 0: abbbbc |
1913 | abbbc |
1914 | 0: abbbc |
1915 | abbc |
1916 | 0: abbc |
1917 | *** Failers |
1918 | No match |
1919 | abc |
1920 | No match |
1921 | abbbbbc |
1922 | No match |
1923 | |
1924 | /([^.]*)\.([^:]*):[T ]+(.*)/ |
1925 | track1.title:TBlah blah blah |
1926 | 0: track1.title:TBlah blah blah |
1927 | 1: track1 |
1928 | 2: title |
1929 | 3: Blah blah blah |
1930 | |
1931 | /([^.]*)\.([^:]*):[T ]+(.*)/i |
1932 | track1.title:TBlah blah blah |
1933 | 0: track1.title:TBlah blah blah |
1934 | 1: track1 |
1935 | 2: title |
1936 | 3: Blah blah blah |
1937 | |
1938 | /([^.]*)\.([^:]*):[t ]+(.*)/i |
1939 | track1.title:TBlah blah blah |
1940 | 0: track1.title:TBlah blah blah |
1941 | 1: track1 |
1942 | 2: title |
1943 | 3: Blah blah blah |
1944 | |
1945 | /^[W-c]+$/ |
1946 | WXY_^abc |
1947 | 0: WXY_^abc |
1948 | *** Failers |
1949 | No match |
1950 | wxy |
1951 | No match |
1952 | |
1953 | /^[W-c]+$/i |
1954 | WXY_^abc |
1955 | 0: WXY_^abc |
1956 | wxy_^ABC |
1957 | 0: wxy_^ABC |
1958 | |
1959 | /^[\x3f-\x5F]+$/i |
1960 | WXY_^abc |
1961 | 0: WXY_^abc |
1962 | wxy_^ABC |
1963 | 0: wxy_^ABC |
1964 | |
1965 | /^abc$/m |
1966 | abc |
1967 | 0: abc |
1968 | qqq\nabc |
1969 | 0: abc |
1970 | abc\nzzz |
1971 | 0: abc |
1972 | qqq\nabc\nzzz |
1973 | 0: abc |
1974 | |
1975 | /^abc$/ |
1976 | abc |
1977 | 0: abc |
1978 | *** Failers |
1979 | No match |
1980 | qqq\nabc |
1981 | No match |
1982 | abc\nzzz |
1983 | No match |
1984 | qqq\nabc\nzzz |
1985 | No match |
1986 | |
1987 | /\Aabc\Z/m |
1988 | abc |
1989 | 0: abc |
1990 | abc\n |
1991 | 0: abc |
1992 | *** Failers |
1993 | No match |
1994 | qqq\nabc |
1995 | No match |
1996 | abc\nzzz |
1997 | No match |
1998 | qqq\nabc\nzzz |
1999 | No match |
2000 | |
2001 | /\A(.)*\Z/s |
2002 | abc\ndef |
2003 | 0: abc\x0adef |
2004 | 1: f |
2005 | |
2006 | /\A(.)*\Z/m |
2007 | *** Failers |
2008 | 0: *** Failers |
2009 | 1: s |
2010 | abc\ndef |
2011 | No match |
2012 | |
2013 | /(?:b)|(?::+)/ |
2014 | b::c |
2015 | 0: b |
2016 | c::b |
2017 | 0: :: |
2018 | |
2019 | /[-az]+/ |
2020 | az- |
2021 | 0: az- |
2022 | *** Failers |
2023 | 0: a |
2024 | b |
2025 | No match |
2026 | |
2027 | /[az-]+/ |
2028 | za- |
2029 | 0: za- |
2030 | *** Failers |
2031 | 0: a |
2032 | b |
2033 | No match |
2034 | |
2035 | /[a\-z]+/ |
2036 | a-z |
2037 | 0: a-z |
2038 | *** Failers |
2039 | 0: a |
2040 | b |
2041 | No match |
2042 | |
2043 | /[a-z]+/ |
2044 | abcdxyz |
2045 | 0: abcdxyz |
2046 | |
2047 | /[\d-]+/ |
2048 | 12-34 |
2049 | 0: 12-34 |
2050 | *** Failers |
2051 | No match |
2052 | aaa |
2053 | No match |
2054 | |
2055 | /[\d-z]+/ |
2056 | 12-34z |
2057 | 0: 12-34z |
2058 | *** Failers |
2059 | No match |
2060 | aaa |
2061 | No match |
2062 | |
2063 | /\x5c/ |
2064 | \\ |
2065 | 0: \ |
2066 | |
2067 | /\x20Z/ |
2068 | the Zoo |
2069 | 0: Z |
2070 | *** Failers |
2071 | No match |
2072 | Zulu |
2073 | No match |
2074 | |
2075 | /(abc)\1/i |
2076 | abcabc |
2077 | 0: abcabc |
2078 | 1: abc |
2079 | ABCabc |
2080 | 0: ABCabc |
2081 | 1: ABC |
2082 | abcABC |
2083 | 0: abcABC |
2084 | 1: abc |
2085 | |
2086 | /ab{3cd/ |
2087 | ab{3cd |
2088 | 0: ab{3cd |
2089 | |
2090 | /ab{3,cd/ |
2091 | ab{3,cd |
2092 | 0: ab{3,cd |
2093 | |
2094 | /ab{3,4a}cd/ |
2095 | ab{3,4a}cd |
2096 | 0: ab{3,4a}cd |
2097 | |
2098 | /{4,5a}bc/ |
2099 | {4,5a}bc |
2100 | 0: {4,5a}bc |
2101 | |
2102 | /abc$/ |
2103 | abc |
2104 | 0: abc |
2105 | abc\n |
2106 | 0: abc |
2107 | *** Failers |
2108 | No match |
2109 | abc\ndef |
2110 | No match |
2111 | |
2112 | /(abc)\123/ |
2113 | abc\x53 |
2114 | 0: abcS |
2115 | 1: abc |
2116 | |
2117 | /(abc)\223/ |
2118 | abc\x93 |
2119 | 0: abc\x93 |
2120 | 1: abc |
2121 | |
2122 | /(abc)\323/ |
2123 | abc\xd3 |
2124 | 0: abc\xd3 |
2125 | 1: abc |
2126 | |
2127 | /(abc)\100/ |
2128 | abc\x40 |
2129 | 0: abc@ |
2130 | 1: abc |
2131 | abc\100 |
2132 | 0: abc@ |
2133 | 1: abc |
2134 | |
2135 | /(abc)\1000/ |
2136 | abc\x400 |
2137 | 0: abc@0 |
2138 | 1: abc |
2139 | abc\x40\x30 |
2140 | 0: abc@0 |
2141 | 1: abc |
2142 | abc\1000 |
2143 | 0: abc@0 |
2144 | 1: abc |
2145 | abc\100\x30 |
2146 | 0: abc@0 |
2147 | 1: abc |
2148 | abc\100\060 |
2149 | 0: abc@0 |
2150 | 1: abc |
2151 | abc\100\60 |
2152 | 0: abc@0 |
2153 | 1: abc |
2154 | |
2155 | /^A\8B\9C$/ |
2156 | A8B9C |
2157 | 0: A8B9C |
2158 | *** Failers |
2159 | No match |
2160 | A\08B\09C |
2161 | No match |
2162 | |
2163 | /^(A)(B)(C)(D)(E)(F)(G)(H)(I)\8\9$/ |
2164 | ABCDEFGHIHI |
2165 | 0: ABCDEFGHIHI |
2166 | 1: A |
2167 | 2: B |
2168 | 3: C |
2169 | 4: D |
2170 | 5: E |
2171 | 6: F |
2172 | 7: G |
2173 | 8: H |
2174 | 9: I |
2175 | |
2176 | /^[A\8B\9C]+$/ |
2177 | A8B9C |
2178 | 0: A8B9C |
2179 | *** Failers |
2180 | No match |
2181 | A8B9C\x00 |
2182 | No match |
2183 | |
2184 | /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\12\123/ |
2185 | abcdefghijkllS |
2186 | 0: abcdefghijkllS |
2187 | 1: a |
2188 | 2: b |
2189 | 3: c |
2190 | 4: d |
2191 | 5: e |
2192 | 6: f |
2193 | 7: g |
2194 | 8: h |
2195 | 9: i |
2196 | 10: j |
2197 | 11: k |
2198 | 12: l |
2199 | |
2200 | /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/ |
2201 | abcdefghijk\12S |
2202 | 0: abcdefghijk\x0aS |
2203 | 1: a |
2204 | 2: b |
2205 | 3: c |
2206 | 4: d |
2207 | 5: e |
2208 | 6: f |
2209 | 7: g |
2210 | 8: h |
2211 | 9: i |
2212 | 10: j |
2213 | 11: k |
2214 | |
2215 | /ab\idef/ |
2216 | abidef |
2217 | 0: abidef |
2218 | |
2219 | /a{0}bc/ |
2220 | bc |
2221 | 0: bc |
2222 | |
2223 | /(a|(bc)){0,0}?xyz/ |
2224 | xyz |
2225 | 0: xyz |
2226 | |
2227 | /abc[\10]de/ |
2228 | abc\010de |
2229 | 0: abc\x08de |
2230 | |
2231 | /abc[\1]de/ |
2232 | abc\1de |
2233 | 0: abc\x01de |
2234 | |
2235 | /(abc)[\1]de/ |
2236 | abc\1de |
2237 | 0: abc\x01de |
2238 | 1: abc |
2239 | |
2240 | /(?s)a.b/ |
2241 | a\nb |
2242 | 0: a\x0ab |
2243 | |
2244 | /^([^a])([^\b])([^c]*)([^d]{3,4})/ |
2245 | baNOTccccd |
2246 | 0: baNOTcccc |
2247 | 1: b |
2248 | 2: a |
2249 | 3: NOT |
2250 | 4: cccc |
2251 | baNOTcccd |
2252 | 0: baNOTccc |
2253 | 1: b |
2254 | 2: a |
2255 | 3: NOT |
2256 | 4: ccc |
2257 | baNOTccd |
2258 | 0: baNOTcc |
2259 | 1: b |
2260 | 2: a |
2261 | 3: NO |
2262 | 4: Tcc |
2263 | bacccd |
2264 | 0: baccc |
2265 | 1: b |
2266 | 2: a |
2267 | 3: |
2268 | 4: ccc |
2269 | *** Failers |
2270 | 0: *** Failers |
2271 | 1: * |
2272 | 2: * |
2273 | 3: * Fail |
2274 | 4: ers |
2275 | anything |
2276 | No match |
2277 | b\bc |
2278 | No match |
2279 | baccd |
2280 | No match |
2281 | |
2282 | /[^a]/ |
2283 | Abc |
2284 | 0: A |
2285 | |
2286 | /[^a]/i |
2287 | Abc |
2288 | 0: b |
2289 | |
2290 | /[^a]+/ |
2291 | AAAaAbc |
2292 | 0: AAA |
2293 | |
2294 | /[^a]+/i |
2295 | AAAaAbc |
2296 | 0: bc |
2297 | |
2298 | /[^a]+/ |
2299 | bbb\nccc |
2300 | 0: bbb\x0accc |
2301 | |
2302 | /[^k]$/ |
2303 | abc |
2304 | 0: c |
2305 | *** Failers |
2306 | 0: s |
2307 | abk |
2308 | No match |
2309 | |
2310 | /[^k]{2,3}$/ |
2311 | abc |
2312 | 0: abc |
2313 | kbc |
2314 | 0: bc |
2315 | kabc |
2316 | 0: abc |
2317 | *** Failers |
2318 | 0: ers |
2319 | abk |
2320 | No match |
2321 | akb |
2322 | No match |
2323 | akk |
2324 | No match |
2325 | |
2326 | /^\d{8,}\@.+[^k]$/ |
2327 | 12345678\@a.b.c.d |
2328 | 0: 12345678@a.b.c.d |
2329 | 123456789\@x.y.z |
2330 | 0: 123456789@x.y.z |
2331 | *** Failers |
2332 | No match |
2333 | 12345678\@x.y.uk |
2334 | No match |
2335 | 1234567\@a.b.c.d |
2336 | No match |
2337 | |
2338 | /(a)\1{8,}/ |
2339 | aaaaaaaaa |
2340 | 0: aaaaaaaaa |
2341 | 1: a |
2342 | aaaaaaaaaa |
2343 | 0: aaaaaaaaaa |
2344 | 1: a |
2345 | *** Failers |
2346 | No match |
2347 | aaaaaaa |
2348 | No match |
2349 | |
2350 | /[^a]/ |
2351 | aaaabcd |
2352 | 0: b |
2353 | aaAabcd |
2354 | 0: A |
2355 | |
2356 | /[^a]/i |
2357 | aaaabcd |
2358 | 0: b |
2359 | aaAabcd |
2360 | 0: b |
2361 | |
2362 | /[^az]/ |
2363 | aaaabcd |
2364 | 0: b |
2365 | aaAabcd |
2366 | 0: A |
2367 | |
2368 | /[^az]/i |
2369 | aaaabcd |
2370 | 0: b |
2371 | aaAabcd |
2372 | 0: b |
2373 | |
2374 | /\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/ |
2375 | \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377 |
2376 | 0: \x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff |
2377 | |
2378 | /P[^*]TAIRE[^*]{1,6}?LL/ |
2379 | xxxxxxxxxxxPSTAIREISLLxxxxxxxxx |
2380 | 0: PSTAIREISLL |
2381 | |
2382 | /P[^*]TAIRE[^*]{1,}?LL/ |
2383 | xxxxxxxxxxxPSTAIREISLLxxxxxxxxx |
2384 | 0: PSTAIREISLL |
2385 | |
2386 | /(\.\d\d[1-9]?)\d+/ |
2387 | 1.230003938 |
2388 | 0: .230003938 |
2389 | 1: .23 |
2390 | 1.875000282 |
2391 | 0: .875000282 |
2392 | 1: .875 |
2393 | 1.235 |
2394 | 0: .235 |
2395 | 1: .23 |
2396 | |
2397 | /(\.\d\d((?=0)|\d(?=\d)))/ |
2398 | 1.230003938 |
2399 | 0: .23 |
2400 | 1: .23 |
2401 | 2: |
2402 | 1.875000282 |
2403 | 0: .875 |
2404 | 1: .875 |
2405 | 2: 5 |
2406 | *** Failers |
2407 | No match |
2408 | 1.235 |
2409 | No match |
2410 | |
2411 | /a(?)b/ |
2412 | ab |
2413 | 0: ab |
2414 | |
2415 | /\b(foo)\s+(\w+)/i |
2416 | Food is on the foo table |
2417 | 0: foo table |
2418 | 1: foo |
2419 | 2: table |
2420 | |
2421 | /foo(.*)bar/ |
2422 | The food is under the bar in the barn. |
2423 | 0: food is under the bar in the bar |
2424 | 1: d is under the bar in the |
2425 | |
2426 | /foo(.*?)bar/ |
2427 | The food is under the bar in the barn. |
2428 | 0: food is under the bar |
2429 | 1: d is under the |
2430 | |
2431 | /(.*)(\d*)/ |
2432 | I have 2 numbers: 53147 |
2433 | 0: I have 2 numbers: 53147 |
2434 | 1: I have 2 numbers: 53147 |
2435 | 2: |
2436 | |
2437 | /(.*)(\d+)/ |
2438 | I have 2 numbers: 53147 |
2439 | 0: I have 2 numbers: 53147 |
2440 | 1: I have 2 numbers: 5314 |
2441 | 2: 7 |
2442 | |
2443 | /(.*?)(\d*)/ |
2444 | I have 2 numbers: 53147 |
2445 | 0: |
2446 | 1: |
2447 | 2: |
2448 | |
2449 | /(.*?)(\d+)/ |
2450 | I have 2 numbers: 53147 |
2451 | 0: I have 2 |
2452 | 1: I have |
2453 | 2: 2 |
2454 | |
2455 | /(.*)(\d+)$/ |
2456 | I have 2 numbers: 53147 |
2457 | 0: I have 2 numbers: 53147 |
2458 | 1: I have 2 numbers: 5314 |
2459 | 2: 7 |
2460 | |
2461 | /(.*?)(\d+)$/ |
2462 | I have 2 numbers: 53147 |
2463 | 0: I have 2 numbers: 53147 |
2464 | 1: I have 2 numbers: |
2465 | 2: 53147 |
2466 | |
2467 | /(.*)\b(\d+)$/ |
2468 | I have 2 numbers: 53147 |
2469 | 0: I have 2 numbers: 53147 |
2470 | 1: I have 2 numbers: |
2471 | 2: 53147 |
2472 | |
2473 | /(.*\D)(\d+)$/ |
2474 | I have 2 numbers: 53147 |
2475 | 0: I have 2 numbers: 53147 |
2476 | 1: I have 2 numbers: |
2477 | 2: 53147 |
2478 | |
2479 | /^\D*(?!123)/ |
2480 | ABC123 |
2481 | 0: AB |
2482 | |
2483 | /^(\D*)(?=\d)(?!123)/ |
2484 | ABC445 |
2485 | 0: ABC |
2486 | 1: ABC |
2487 | *** Failers |
2488 | No match |
2489 | ABC123 |
2490 | No match |
2491 | |
2492 | /^[W-]46]/ |
2493 | W46]789 |
2494 | 0: W46] |
2495 | -46]789 |
2496 | 0: -46] |
2497 | *** Failers |
2498 | No match |
2499 | Wall |
2500 | No match |
2501 | Zebra |
2502 | No match |
2503 | 42 |
2504 | No match |
2505 | [abcd] |
2506 | No match |
2507 | ]abcd[ |
2508 | No match |
2509 | |
2510 | /^[W-\]46]/ |
2511 | W46]789 |
2512 | 0: W |
2513 | Wall |
2514 | 0: W |
2515 | Zebra |
2516 | 0: Z |
2517 | Xylophone |
2518 | 0: X |
2519 | 42 |
2520 | 0: 4 |
2521 | [abcd] |
2522 | 0: [ |
2523 | ]abcd[ |
2524 | 0: ] |
2525 | \\backslash |
2526 | 0: \ |
2527 | *** Failers |
2528 | No match |
2529 | -46]789 |
2530 | No match |
2531 | well |
2532 | No match |
2533 | |
2534 | /\d\d\/\d\d\/\d\d\d\d/ |
2535 | 01/01/2000 |
2536 | 0: 01/01/2000 |
2537 | |
2538 | /word (?:[a-zA-Z0-9]+ ){0,10}otherword/ |
2539 | word cat dog elephant mussel cow horse canary baboon snake shark otherword |
2540 | 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword |
2541 | word cat dog elephant mussel cow horse canary baboon snake shark |
2542 | No match |
2543 | |
2544 | /word (?:[a-zA-Z0-9]+ ){0,300}otherword/ |
2545 | word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope |
2546 | No match |
2547 | |
2548 | /^(a){0,0}/ |
2549 | bcd |
2550 | 0: |
2551 | abc |
2552 | 0: |
2553 | aab |
2554 | 0: |
2555 | |
2556 | /^(a){0,1}/ |
2557 | bcd |
2558 | 0: |
2559 | abc |
2560 | 0: a |
2561 | 1: a |
2562 | aab |
2563 | 0: a |
2564 | 1: a |
2565 | |
2566 | /^(a){0,2}/ |
2567 | bcd |
2568 | 0: |
2569 | abc |
2570 | 0: a |
2571 | 1: a |
2572 | aab |
2573 | 0: aa |
2574 | 1: a |
2575 | |
2576 | /^(a){0,3}/ |
2577 | bcd |
2578 | 0: |
2579 | abc |
2580 | 0: a |
2581 | 1: a |
2582 | aab |
2583 | 0: aa |
2584 | 1: a |
2585 | aaa |
2586 | 0: aaa |
2587 | 1: a |
2588 | |
2589 | /^(a){0,}/ |
2590 | bcd |
2591 | 0: |
2592 | abc |
2593 | 0: a |
2594 | 1: a |
2595 | aab |
2596 | 0: aa |
2597 | 1: a |
2598 | aaa |
2599 | 0: aaa |
2600 | 1: a |
2601 | aaaaaaaa |
2602 | 0: aaaaaaaa |
2603 | 1: a |
2604 | |
2605 | /^(a){1,1}/ |
2606 | bcd |
2607 | No match |
2608 | abc |
2609 | 0: a |
2610 | 1: a |
2611 | aab |
2612 | 0: a |
2613 | 1: a |
2614 | |
2615 | /^(a){1,2}/ |
2616 | bcd |
2617 | No match |
2618 | abc |
2619 | 0: a |
2620 | 1: a |
2621 | aab |
2622 | 0: aa |
2623 | 1: a |
2624 | |
2625 | /^(a){1,3}/ |
2626 | bcd |
2627 | No match |
2628 | abc |
2629 | 0: a |
2630 | 1: a |
2631 | aab |
2632 | 0: aa |
2633 | 1: a |
2634 | aaa |
2635 | 0: aaa |
2636 | 1: a |
2637 | |
2638 | /^(a){1,}/ |
2639 | bcd |
2640 | No match |
2641 | abc |
2642 | 0: a |
2643 | 1: a |
2644 | aab |
2645 | 0: aa |
2646 | 1: a |
2647 | aaa |
2648 | 0: aaa |
2649 | 1: a |
2650 | aaaaaaaa |
2651 | 0: aaaaaaaa |
2652 | 1: a |
2653 | |
2654 | /.*\.gif/ |
2655 | borfle\nbib.gif\nno |
2656 | 0: bib.gif |
2657 | |
2658 | /.{0,}\.gif/ |
2659 | borfle\nbib.gif\nno |
2660 | 0: bib.gif |
2661 | |
2662 | /.*\.gif/m |
2663 | borfle\nbib.gif\nno |
2664 | 0: bib.gif |
2665 | |
2666 | /.*\.gif/s |
2667 | borfle\nbib.gif\nno |
2668 | 0: borfle\x0abib.gif |
2669 | |
2670 | /.*\.gif/ms |
2671 | borfle\nbib.gif\nno |
2672 | 0: borfle\x0abib.gif |
2673 | |
2674 | /.*$/ |
2675 | borfle\nbib.gif\nno |
2676 | 0: no |
2677 | |
2678 | /.*$/m |
2679 | borfle\nbib.gif\nno |
2680 | 0: borfle |
2681 | |
2682 | /.*$/s |
2683 | borfle\nbib.gif\nno |
2684 | 0: borfle\x0abib.gif\x0ano |
2685 | |
2686 | /.*$/ms |
2687 | borfle\nbib.gif\nno |
2688 | 0: borfle\x0abib.gif\x0ano |
2689 | |
2690 | /.*$/ |
2691 | borfle\nbib.gif\nno\n |
2692 | 0: no |
2693 | |
2694 | /.*$/m |
2695 | borfle\nbib.gif\nno\n |
2696 | 0: borfle |
2697 | |
2698 | /.*$/s |
2699 | borfle\nbib.gif\nno\n |
2700 | 0: borfle\x0abib.gif\x0ano\x0a |
2701 | |
2702 | /.*$/ms |
2703 | borfle\nbib.gif\nno\n |
2704 | 0: borfle\x0abib.gif\x0ano\x0a |
2705 | |
2706 | /(.*X|^B)/ |
2707 | abcde\n1234Xyz |
2708 | 0: 1234X |
2709 | 1: 1234X |
2710 | BarFoo |
2711 | 0: B |
2712 | 1: B |
2713 | *** Failers |
2714 | No match |
2715 | abcde\nBar |
2716 | No match |
2717 | |
2718 | /(.*X|^B)/m |
2719 | abcde\n1234Xyz |
2720 | 0: 1234X |
2721 | 1: 1234X |
2722 | BarFoo |
2723 | 0: B |
2724 | 1: B |
2725 | abcde\nBar |
2726 | 0: B |
2727 | 1: B |
2728 | |
2729 | /(.*X|^B)/s |
2730 | abcde\n1234Xyz |
2731 | 0: abcde\x0a1234X |
2732 | 1: abcde\x0a1234X |
2733 | BarFoo |
2734 | 0: B |
2735 | 1: B |
2736 | *** Failers |
2737 | No match |
2738 | abcde\nBar |
2739 | No match |
2740 | |
2741 | /(.*X|^B)/ms |
2742 | abcde\n1234Xyz |
2743 | 0: abcde\x0a1234X |
2744 | 1: abcde\x0a1234X |
2745 | BarFoo |
2746 | 0: B |
2747 | 1: B |
2748 | abcde\nBar |
2749 | 0: B |
2750 | 1: B |
2751 | |
2752 | /(?s)(.*X|^B)/ |
2753 | abcde\n1234Xyz |
2754 | 0: abcde\x0a1234X |
2755 | 1: abcde\x0a1234X |
2756 | BarFoo |
2757 | 0: B |
2758 | 1: B |
2759 | *** Failers |
2760 | No match |
2761 | abcde\nBar |
2762 | No match |
2763 | |
2764 | /(?s:.*X|^B)/ |
2765 | abcde\n1234Xyz |
2766 | 0: abcde\x0a1234X |
2767 | BarFoo |
2768 | 0: B |
2769 | *** Failers |
2770 | No match |
2771 | abcde\nBar |
2772 | No match |
2773 | |
2774 | /^.*B/ |
2775 | **** Failers |
2776 | No match |
2777 | abc\nB |
2778 | No match |
2779 | |
2780 | /(?s)^.*B/ |
2781 | abc\nB |
2782 | 0: abc\x0aB |
2783 | |
2784 | /(?m)^.*B/ |
2785 | abc\nB |
2786 | 0: B |
2787 | |
2788 | /(?ms)^.*B/ |
2789 | abc\nB |
2790 | 0: abc\x0aB |
2791 | |
2792 | /(?ms)^B/ |
2793 | abc\nB |
2794 | 0: B |
2795 | |
2796 | /(?s)B$/ |
2797 | B\n |
2798 | 0: B |
2799 | |
2800 | /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/ |
2801 | 123456654321 |
2802 | 0: 123456654321 |
2803 | |
2804 | /^\d\d\d\d\d\d\d\d\d\d\d\d/ |
2805 | 123456654321 |
2806 | 0: 123456654321 |
2807 | |
2808 | /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/ |
2809 | 123456654321 |
2810 | 0: 123456654321 |
2811 | |
2812 | /^[abc]{12}/ |
2813 | abcabcabcabc |
2814 | 0: abcabcabcabc |
2815 | |
2816 | /^[a-c]{12}/ |
2817 | abcabcabcabc |
2818 | 0: abcabcabcabc |
2819 | |
2820 | /^(a|b|c){12}/ |
2821 | abcabcabcabc |
2822 | 0: abcabcabcabc |
2823 | 1: c |
2824 | |
2825 | /^[abcdefghijklmnopqrstuvwxy0123456789]/ |
2826 | n |
2827 | 0: n |
2828 | *** Failers |
2829 | No match |
2830 | z |
2831 | No match |
2832 | |
2833 | /abcde{0,0}/ |
2834 | abcd |
2835 | 0: abcd |
2836 | *** Failers |
2837 | No match |
2838 | abce |
2839 | No match |
2840 | |
2841 | /ab[cd]{0,0}e/ |
2842 | abe |
2843 | 0: abe |
2844 | *** Failers |
2845 | No match |
2846 | abcde |
2847 | No match |
2848 | |
2849 | /ab(c){0,0}d/ |
2850 | abd |
2851 | 0: abd |
2852 | *** Failers |
2853 | No match |
2854 | abcd |
2855 | No match |
2856 | |
2857 | /a(b*)/ |
2858 | a |
2859 | 0: a |
2860 | 1: |
2861 | ab |
2862 | 0: ab |
2863 | 1: b |
2864 | abbbb |
2865 | 0: abbbb |
2866 | 1: bbbb |
2867 | *** Failers |
2868 | 0: a |
2869 | 1: |
2870 | bbbbb |
2871 | No match |
2872 | |
2873 | /ab\d{0}e/ |
2874 | abe |
2875 | 0: abe |
2876 | *** Failers |
2877 | No match |
2878 | ab1e |
2879 | No match |
2880 | |
2881 | /"([^\\"]+|\\.)*"/ |
2882 | the \"quick\" brown fox |
2883 | 0: "quick" |
2884 | 1: quick |
2885 | \"the \\\"quick\\\" brown fox\" |
2886 | 0: "the \"quick\" brown fox" |
2887 | 1: brown fox |
2888 | |
2889 | /.*?/g+ |
2890 | abc |
2891 | 0: |
2892 | 0+ abc |
2893 | 0: a |
2894 | 0+ bc |
2895 | 0: |
2896 | 0+ bc |
2897 | 0: b |
2898 | 0+ c |
2899 | 0: |
2900 | 0+ c |
2901 | 0: c |
2902 | 0+ |
2903 | 0: |
2904 | 0+ |
2905 | |
2906 | /\b/g+ |
2907 | abc |
2908 | 0: |
2909 | 0+ abc |
2910 | 0: |
2911 | 0+ |
2912 | |
2913 | /\b/+g |
2914 | abc |
2915 | 0: |
2916 | 0+ abc |
2917 | 0: |
2918 | 0+ |
2919 | |
2920 | //g |
2921 | abc |
2922 | 0: |
2923 | 0: |
2924 | 0: |
2925 | 0: |
2926 | |
2927 | /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/is |
2928 | <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR> |
2929 | 0: <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR> |
2930 | 1: BGCOLOR='#DBE9E9' |
2931 | 2: align=left valign=top |
2932 | 3: 43. |
2933 | 4: <a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286) |
2934 | 5: |
2935 | 6: |
2936 | 7: <unset> |
2937 | 8: align=left valign=top |
2938 | 9: Lega lstaff.com |
2939 | 10: align=left valign=top |
2940 | 11: CA - Statewide |
2941 | |
2942 | /a[^a]b/ |
2943 | acb |
2944 | 0: acb |
2945 | a\nb |
2946 | 0: a\x0ab |
2947 | |
2948 | /a.b/ |
2949 | acb |
2950 | 0: acb |
2951 | *** Failers |
2952 | No match |
2953 | a\nb |
2954 | No match |
2955 | |
2956 | /a[^a]b/s |
2957 | acb |
2958 | 0: acb |
2959 | a\nb |
2960 | 0: a\x0ab |
2961 | |
2962 | /a.b/s |
2963 | acb |
2964 | 0: acb |
2965 | a\nb |
2966 | 0: a\x0ab |
2967 | |
2968 | /^(b+?|a){1,2}?c/ |
2969 | bac |
2970 | 0: bac |
2971 | 1: a |
2972 | bbac |
2973 | 0: bbac |
2974 | 1: a |
2975 | bbbac |
2976 | 0: bbbac |
2977 | 1: a |
2978 | bbbbac |
2979 | 0: bbbbac |
2980 | 1: a |
2981 | bbbbbac |
2982 | 0: bbbbbac |
2983 | 1: a |
2984 | |
2985 | /^(b+|a){1,2}?c/ |
2986 | bac |
2987 | 0: bac |
2988 | 1: a |
2989 | bbac |
2990 | 0: bbac |
2991 | 1: a |
2992 | bbbac |
2993 | 0: bbbac |
2994 | 1: a |
2995 | bbbbac |
2996 | 0: bbbbac |
2997 | 1: a |
2998 | bbbbbac |
2999 | 0: bbbbbac |
3000 | 1: a |
3001 | |
3002 | /(?!\A)x/m |
3003 | x\nb\n |
3004 | No match |
3005 | a\bx\n |
3006 | 0: x |
3007 | |
3008 | /\x0{ab}/ |
3009 | \0{ab} |
3010 | 0: \x00{ab} |
3011 | |
3012 | /(A|B)*?CD/ |
3013 | CD |
3014 | 0: CD |
3015 | |
3016 | /(A|B)*CD/ |
3017 | CD |
3018 | 0: CD |
3019 | |
3020 | /(AB)*?\1/ |
3021 | ABABAB |
3022 | 0: ABAB |
3023 | 1: AB |
3024 | |
3025 | /(AB)*\1/ |
3026 | ABABAB |
3027 | 0: ABABAB |
3028 | 1: AB |
3029 | |
3030 | /(?<!bar)foo/ |
3031 | foo |
3032 | 0: foo |
3033 | catfood |
3034 | 0: foo |
3035 | arfootle |
3036 | 0: foo |
3037 | rfoosh |
3038 | 0: foo |
3039 | *** Failers |
3040 | No match |
3041 | barfoo |
3042 | No match |
3043 | towbarfoo |
3044 | No match |
3045 | |
3046 | /\w{3}(?<!bar)foo/ |
3047 | catfood |
3048 | 0: catfoo |
3049 | *** Failers |
3050 | No match |
3051 | foo |
3052 | No match |
3053 | barfoo |
3054 | No match |
3055 | towbarfoo |
3056 | No match |
3057 | |
3058 | /(?<=(foo)a)bar/ |
3059 | fooabar |
3060 | 0: bar |
3061 | 1: foo |
3062 | *** Failers |
3063 | No match |
3064 | bar |
3065 | No match |
3066 | foobbar |
3067 | No match |
3068 | |
3069 | /\Aabc\z/m |
3070 | abc |
3071 | 0: abc |
3072 | *** Failers |
3073 | No match |
3074 | abc\n |
3075 | No match |
3076 | qqq\nabc |
3077 | No match |
3078 | abc\nzzz |
3079 | No match |
3080 | qqq\nabc\nzzz |
3081 | No match |
3082 | |
3083 | "(?>.*/)foo" |
3084 | /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/ |
3085 | No match |
3086 | |
3087 | "(?>.*/)foo" |
3088 | /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo |
3089 | 0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo |
3090 | |
3091 | /(?>(\.\d\d[1-9]?))\d+/ |
3092 | 1.230003938 |
3093 | 0: .230003938 |
3094 | 1: .23 |
3095 | 1.875000282 |
3096 | 0: .875000282 |
3097 | 1: .875 |
3098 | *** Failers |
3099 | No match |
3100 | 1.235 |
3101 | No match |
3102 | |
3103 | /^((?>\w+)|(?>\s+))*$/ |
3104 | now is the time for all good men to come to the aid of the party |
3105 | 0: now is the time for all good men to come to the aid of the party |
3106 | 1: party |
3107 | *** Failers |
3108 | No match |
3109 | this is not a line with only words and spaces! |
3110 | No match |
3111 | |
3112 | /(\d+)(\w)/ |
3113 | 12345a |
3114 | 0: 12345a |
3115 | 1: 12345 |
3116 | 2: a |
3117 | 12345+ |
3118 | 0: 12345 |
3119 | 1: 1234 |
3120 | 2: 5 |
3121 | |
3122 | /((?>\d+))(\w)/ |
3123 | 12345a |
3124 | 0: 12345a |
3125 | 1: 12345 |
3126 | 2: a |
3127 | *** Failers |
3128 | No match |
3129 | 12345+ |
3130 | No match |
3131 | |
3132 | /(?>a+)b/ |
3133 | aaab |
3134 | 0: aaab |
3135 | |
3136 | /((?>a+)b)/ |
3137 | aaab |
3138 | 0: aaab |
3139 | 1: aaab |
3140 | |
3141 | /(?>(a+))b/ |
3142 | aaab |
3143 | 0: aaab |
3144 | 1: aaa |
3145 | |
3146 | /(?>b)+/ |
3147 | aaabbbccc |
3148 | 0: bbb |
3149 | |
3150 | /(?>a+|b+|c+)*c/ |
3151 | aaabbbbccccd |
3152 | 0: aaabbbbc |
3153 | |
3154 | /((?>[^()]+)|\([^()]*\))+/ |
3155 | ((abc(ade)ufh()()x |
3156 | 0: abc(ade)ufh()()x |
3157 | 1: x |
3158 | |
3159 | /\(((?>[^()]+)|\([^()]+\))+\)/ |
3160 | (abc) |
3161 | 0: (abc) |
3162 | 1: abc |
3163 | (abc(def)xyz) |
3164 | 0: (abc(def)xyz) |
3165 | 1: xyz |
3166 | *** Failers |
3167 | No match |
3168 | ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
3169 | No match |
3170 | |
3171 | /a(?-i)b/i |
3172 | ab |
3173 | 0: ab |
3174 | Ab |
3175 | 0: Ab |
3176 | *** Failers |
3177 | No match |
3178 | aB |
3179 | No match |
3180 | AB |
3181 | No match |
3182 | |
3183 | /(a (?x)b c)d e/ |
3184 | a bcd e |
3185 | 0: a bcd e |
3186 | 1: a bc |
3187 | *** Failers |
3188 | No match |
3189 | a b cd e |
3190 | No match |
3191 | abcd e |
3192 | No match |
3193 | a bcde |
3194 | No match |
3195 | |
3196 | /(a b(?x)c d (?-x)e f)/ |
3197 | a bcde f |
3198 | 0: a bcde f |
3199 | 1: a bcde f |
3200 | *** Failers |
3201 | No match |
3202 | abcdef |
3203 | No match |
3204 | |
3205 | /(a(?i)b)c/ |
3206 | abc |
3207 | 0: abc |
3208 | 1: ab |
3209 | aBc |
3210 | 0: aBc |
3211 | 1: aB |
3212 | *** Failers |
3213 | No match |
3214 | abC |
3215 | No match |
3216 | aBC |
3217 | No match |
3218 | Abc |
3219 | No match |
3220 | ABc |
3221 | No match |
3222 | ABC |
3223 | No match |
3224 | AbC |
3225 | No match |
3226 | |
3227 | /a(?i:b)c/ |
3228 | abc |
3229 | 0: abc |
3230 | aBc |
3231 | 0: aBc |
3232 | *** Failers |
3233 | No match |
3234 | ABC |
3235 | No match |
3236 | abC |
3237 | No match |
3238 | aBC |
3239 | No match |
3240 | |
3241 | /a(?i:b)*c/ |
3242 | aBc |
3243 | 0: aBc |
3244 | aBBc |
3245 | 0: aBBc |
3246 | *** Failers |
3247 | No match |
3248 | aBC |
3249 | No match |
3250 | aBBC |
3251 | No match |
3252 | |
3253 | /a(?=b(?i)c)\w\wd/ |
3254 | abcd |
3255 | 0: abcd |
3256 | abCd |
3257 | 0: abCd |
3258 | *** Failers |
3259 | No match |
3260 | aBCd |
3261 | No match |
3262 | abcD |
3263 | No match |
3264 | |
3265 | /(?s-i:more.*than).*million/i |
3266 | more than million |
3267 | 0: more than million |
3268 | more than MILLION |
3269 | 0: more than MILLION |
3270 | more \n than Million |
3271 | 0: more \x0a than Million |
3272 | *** Failers |
3273 | No match |
3274 | MORE THAN MILLION |
3275 | No match |
3276 | more \n than \n million |
3277 | No match |
3278 | |
3279 | /(?:(?s-i)more.*than).*million/i |
3280 | more than million |
3281 | 0: more than million |
3282 | more than MILLION |
3283 | 0: more than MILLION |
3284 | more \n than Million |
3285 | 0: more \x0a than Million |
3286 | *** Failers |
3287 | No match |
3288 | MORE THAN MILLION |
3289 | No match |
3290 | more \n than \n million |
3291 | No match |
3292 | |
3293 | /(?>a(?i)b+)+c/ |
3294 | abc |
3295 | 0: abc |
3296 | aBbc |
3297 | 0: aBbc |
3298 | aBBc |
3299 | 0: aBBc |
3300 | *** Failers |
3301 | No match |
3302 | Abc |
3303 | No match |
3304 | abAb |
3305 | No match |
3306 | abbC |
3307 | No match |
3308 | |
3309 | /(?=a(?i)b)\w\wc/ |
3310 | abc |
3311 | 0: abc |
3312 | aBc |
3313 | 0: aBc |
3314 | *** Failers |
3315 | No match |
3316 | Ab |
3317 | No match |
3318 | abC |
3319 | No match |
3320 | aBC |
3321 | No match |
3322 | |
3323 | /(?<=a(?i)b)(\w\w)c/ |
3324 | abxxc |
3325 | 0: xxc |
3326 | 1: xx |
3327 | aBxxc |
3328 | 0: xxc |
3329 | 1: xx |
3330 | *** Failers |
3331 | No match |
3332 | Abxxc |
3333 | No match |
3334 | ABxxc |
3335 | No match |
3336 | abxxC |
3337 | No match |
3338 | |
3339 | /(?:(a)|b)(?(1)A|B)/ |
3340 | aA |
3341 | 0: aA |
3342 | 1: a |
3343 | bB |
3344 | 0: bB |
3345 | *** Failers |
3346 | No match |
3347 | aB |
3348 | No match |
3349 | bA |
3350 | No match |
3351 | |
3352 | /^(a)?(?(1)a|b)+$/ |
3353 | aa |
3354 | 0: aa |
3355 | 1: a |
3356 | b |
3357 | 0: b |
3358 | bb |
3359 | 0: bb |
3360 | *** Failers |
3361 | No match |
3362 | ab |
3363 | No match |
3364 | |
3365 | /^(?(?=abc)\w{3}:|\d\d)$/ |
3366 | abc: |
3367 | 0: abc: |
3368 | 12 |
3369 | 0: 12 |
3370 | *** Failers |
3371 | No match |
3372 | 123 |
3373 | No match |
3374 | xyz |
3375 | No match |
3376 | |
3377 | /^(?(?!abc)\d\d|\w{3}:)$/ |
3378 | abc: |
3379 | 0: abc: |
3380 | 12 |
3381 | 0: 12 |
3382 | *** Failers |
3383 | No match |
3384 | 123 |
3385 | No match |
3386 | xyz |
3387 | No match |
3388 | |
3389 | /(?(?<=foo)bar|cat)/ |
3390 | foobar |
3391 | 0: bar |
3392 | cat |
3393 | 0: cat |
3394 | fcat |
3395 | 0: cat |
3396 | focat |
3397 | 0: cat |
3398 | *** Failers |
3399 | No match |
3400 | foocat |
3401 | No match |
3402 | |
3403 | /(?(?<!foo)cat|bar)/ |
3404 | foobar |
3405 | 0: bar |
3406 | cat |
3407 | 0: cat |
3408 | fcat |
3409 | 0: cat |
3410 | focat |
3411 | 0: cat |
3412 | *** Failers |
3413 | No match |
3414 | foocat |
3415 | No match |
3416 | |
3417 | /( \( )? [^()]+ (?(1) \) |) /x |
3418 | abcd |
3419 | 0: abcd |
3420 | (abcd) |
3421 | 0: (abcd) |
3422 | 1: ( |
3423 | the quick (abcd) fox |
3424 | 0: the quick |
3425 | (abcd |
3426 | 0: abcd |
3427 | |
3428 | /( \( )? [^()]+ (?(1) \) ) /x |
3429 | abcd |
3430 | 0: abcd |
3431 | (abcd) |
3432 | 0: (abcd) |
3433 | 1: ( |
3434 | the quick (abcd) fox |
3435 | 0: the quick |
3436 | (abcd |
3437 | 0: abcd |
3438 | |
3439 | /^(?(2)a|(1)(2))+$/ |
3440 | 12 |
3441 | 0: 12 |
3442 | 1: 1 |
3443 | 2: 2 |
3444 | 12a |
3445 | 0: 12a |
3446 | 1: 1 |
3447 | 2: 2 |
3448 | 12aa |
3449 | 0: 12aa |
3450 | 1: 1 |
3451 | 2: 2 |
3452 | *** Failers |
3453 | No match |
3454 | 1234 |
3455 | No match |
3456 | |
3457 | /((?i)blah)\s+\1/ |
3458 | blah blah |
3459 | 0: blah blah |
3460 | 1: blah |
3461 | BLAH BLAH |
3462 | 0: BLAH BLAH |
3463 | 1: BLAH |
3464 | Blah Blah |
3465 | 0: Blah Blah |
3466 | 1: Blah |
3467 | blaH blaH |
3468 | 0: blaH blaH |
3469 | 1: blaH |
3470 | *** Failers |
3471 | No match |
3472 | blah BLAH |
3473 | No match |
3474 | Blah blah |
3475 | No match |
3476 | blaH blah |
3477 | No match |
3478 | |
3479 | /((?i)blah)\s+(?i:\1)/ |
3480 | blah blah |
3481 | 0: blah blah |
3482 | 1: blah |
3483 | BLAH BLAH |
3484 | 0: BLAH BLAH |
3485 | 1: BLAH |
3486 | Blah Blah |
3487 | 0: Blah Blah |
3488 | 1: Blah |
3489 | blaH blaH |
3490 | 0: blaH blaH |
3491 | 1: blaH |
3492 | blah BLAH |
3493 | 0: blah BLAH |
3494 | 1: blah |
3495 | Blah blah |
3496 | 0: Blah blah |
3497 | 1: Blah |
3498 | blaH blah |
3499 | 0: blaH blah |
3500 | 1: blaH |
3501 | |
3502 | /(?>a*)*/ |
3503 | a |
3504 | 0: a |
3505 | aa |
3506 | 0: aa |
3507 | aaaa |
3508 | 0: aaaa |
3509 | |
3510 | /(abc|)+/ |
3511 | abc |
3512 | 0: abc |
3513 | 1: |
3514 | abcabc |
3515 | 0: abcabc |
3516 | 1: |
3517 | abcabcabc |
3518 | 0: abcabcabc |
3519 | 1: |
3520 | xyz |
3521 | 0: |
3522 | 1: |
3523 | |
3524 | /([a]*)*/ |
3525 | a |
3526 | 0: a |
3527 | 1: |
3528 | aaaaa |
3529 | 0: aaaaa |
3530 | 1: |
3531 | |
3532 | /([ab]*)*/ |
3533 | a |
3534 | 0: a |
3535 | 1: |
3536 | b |
3537 | 0: b |
3538 | 1: |
3539 | ababab |
3540 | 0: ababab |
3541 | 1: |
3542 | aaaabcde |
3543 | 0: aaaab |
3544 | 1: |
3545 | bbbb |
3546 | 0: bbbb |
3547 | 1: |
3548 | |
3549 | /([^a]*)*/ |
3550 | b |
3551 | 0: b |
3552 | 1: |
3553 | bbbb |
3554 | 0: bbbb |
3555 | 1: |
3556 | aaa |
3557 | 0: |
3558 | 1: |
3559 | |
3560 | /([^ab]*)*/ |
3561 | cccc |
3562 | 0: cccc |
3563 | 1: |
3564 | abab |
3565 | 0: |
3566 | 1: |
3567 | |
3568 | /([a]*?)*/ |
3569 | a |
3570 | 0: |
3571 | 1: |
3572 | aaaa |
3573 | 0: |
3574 | 1: |
3575 | |
3576 | /([ab]*?)*/ |
3577 | a |
3578 | 0: |
3579 | 1: |
3580 | b |
3581 | 0: |
3582 | 1: |
3583 | abab |
3584 | 0: |
3585 | 1: |
3586 | baba |
3587 | 0: |
3588 | 1: |
3589 | |
3590 | /([^a]*?)*/ |
3591 | b |
3592 | 0: |
3593 | 1: |
3594 | bbbb |
3595 | 0: |
3596 | 1: |
3597 | aaa |
3598 | 0: |
3599 | 1: |
3600 | |
3601 | /([^ab]*?)*/ |
3602 | c |
3603 | 0: |
3604 | 1: |
3605 | cccc |
3606 | 0: |
3607 | 1: |
3608 | baba |
3609 | 0: |
3610 | 1: |
3611 | |
3612 | /(?>a*)*/ |
3613 | a |
3614 | 0: a |
3615 | aaabcde |
3616 | 0: aaa |
3617 | |
3618 | /((?>a*))*/ |
3619 | aaaaa |
3620 | 0: aaaaa |
3621 | 1: |
3622 | aabbaa |
3623 | 0: aa |
3624 | 1: |
3625 | |
3626 | /((?>a*?))*/ |
3627 | aaaaa |
3628 | 0: |
3629 | 1: |
3630 | aabbaa |
3631 | 0: |
3632 | 1: |
3633 | |
3634 | /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x |
3635 | 12-sep-98 |
3636 | 0: 12-sep-98 |
3637 | 12-09-98 |
3638 | 0: 12-09-98 |
3639 | *** Failers |
3640 | No match |
3641 | sep-12-98 |
3642 | No match |
3643 | |
3644 | /(?<=(foo))bar\1/ |
3645 | foobarfoo |
3646 | 0: barfoo |
3647 | 1: foo |
3648 | foobarfootling |
3649 | 0: barfoo |
3650 | 1: foo |
3651 | *** Failers |
3652 | No match |
3653 | foobar |
3654 | No match |
3655 | barfoo |
3656 | No match |
3657 | |
3658 | /(?i:saturday|sunday)/ |
3659 | saturday |
3660 | 0: saturday |
3661 | sunday |
3662 | 0: sunday |
3663 | Saturday |
3664 | 0: Saturday |
3665 | Sunday |
3666 | 0: Sunday |
3667 | SATURDAY |
3668 | 0: SATURDAY |
3669 | SUNDAY |
3670 | 0: SUNDAY |
3671 | SunDay |
3672 | 0: SunDay |
3673 | |
3674 | /(a(?i)bc|BB)x/ |
3675 | abcx |
3676 | 0: abcx |
3677 | 1: abc |
3678 | aBCx |
3679 | 0: aBCx |
3680 | 1: aBC |
3681 | bbx |
3682 | 0: bbx |
3683 | 1: bb |
3684 | BBx |
3685 | 0: BBx |
3686 | 1: BB |
3687 | *** Failers |
3688 | No match |
3689 | abcX |
3690 | No match |
3691 | aBCX |
3692 | No match |
3693 | bbX |
3694 | No match |
3695 | BBX |
3696 | No match |
3697 | |
3698 | /^([ab](?i)[cd]|[ef])/ |
3699 | ac |
3700 | 0: ac |
3701 | 1: ac |
3702 | aC |
3703 | 0: aC |
3704 | 1: aC |
3705 | bD |
3706 | 0: bD |
3707 | 1: bD |
3708 | elephant |
3709 | 0: e |
3710 | 1: e |
3711 | Europe |
3712 | 0: E |
3713 | 1: E |
3714 | frog |
3715 | 0: f |
3716 | 1: f |
3717 | France |
3718 | 0: F |
3719 | 1: F |
3720 | *** Failers |
3721 | No match |
3722 | Africa |
3723 | No match |
3724 | |
3725 | /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/ |
3726 | ab |
3727 | 0: ab |
3728 | 1: ab |
3729 | aBd |
3730 | 0: aBd |
3731 | 1: aBd |
3732 | xy |
3733 | 0: xy |
3734 | 1: xy |
3735 | xY |
3736 | 0: xY |
3737 | 1: xY |
3738 | zebra |
3739 | 0: z |
3740 | 1: z |
3741 | Zambesi |
3742 | 0: Z |
3743 | 1: Z |
3744 | *** Failers |
3745 | No match |
3746 | aCD |
3747 | No match |
3748 | XY |
3749 | No match |
3750 | |
3751 | /(?<=foo\n)^bar/m |
3752 | foo\nbar |
3753 | 0: bar |
3754 | *** Failers |
3755 | No match |
3756 | bar |
3757 | No match |
3758 | baz\nbar |
3759 | No match |
3760 | |
3761 | /(?<=(?<!foo)bar)baz/ |
3762 | barbaz |
3763 | 0: baz |
3764 | barbarbaz |
3765 | 0: baz |
3766 | koobarbaz |
3767 | 0: baz |
3768 | *** Failers |
3769 | No match |
3770 | baz |
3771 | No match |
3772 | foobarbaz |
3773 | No match |
3774 | |
3775 | /The cases of aaaa and aaaaaa are missed out below because Perl does things/ |
3776 | /differently. We know that odd, and maybe incorrect, things happen with/ |
3777 | No match |
3778 | /recursive references in Perl, as far as 5.11.3 - see some stuff in test #2./ |
3779 | No match |
3780 | |
3781 | /^(a\1?){4}$/ |
3782 | a |
3783 | No match |
3784 | aa |
3785 | No match |
3786 | aaa |
3787 | No match |
3788 | aaaaa |
3789 | 0: aaaaa |
3790 | 1: a |
3791 | aaaaaaa |
3792 | 0: aaaaaaa |
3793 | 1: a |
3794 | aaaaaaaa |
3795 | No match |
3796 | aaaaaaaaa |
3797 | No match |
3798 | aaaaaaaaaa |
3799 | 0: aaaaaaaaaa |
3800 | 1: aaaa |
3801 | aaaaaaaaaaa |
3802 | No match |
3803 | aaaaaaaaaaaa |
3804 | No match |
3805 | aaaaaaaaaaaaa |
3806 | No match |
3807 | aaaaaaaaaaaaaa |
3808 | No match |
3809 | aaaaaaaaaaaaaaa |
3810 | No match |
3811 | aaaaaaaaaaaaaaaa |
3812 | No match |
3813 | |
3814 | /^(a\1?)(a\1?)(a\2?)(a\3?)$/ |
3815 | a |
3816 | No match |
3817 | aa |
3818 | No match |
3819 | aaa |
3820 | No match |
3821 | aaaa |
3822 | 0: aaaa |
3823 | 1: a |
3824 | 2: a |
3825 | 3: a |
3826 | 4: a |
3827 | aaaaa |
3828 | 0: aaaaa |
3829 | 1: a |
3830 | 2: aa |
3831 | 3: a |
3832 | 4: a |
3833 | aaaaaa |
3834 | 0: aaaaaa |
3835 | 1: a |
3836 | 2: aa |
3837 | 3: a |
3838 | 4: aa |
3839 | aaaaaaa |
3840 | 0: aaaaaaa |
3841 | 1: a |
3842 | 2: aa |
3843 | 3: aaa |
3844 | 4: a |
3845 | aaaaaaaa |
3846 | No match |
3847 | aaaaaaaaa |
3848 | No match |
3849 | aaaaaaaaaa |
3850 | 0: aaaaaaaaaa |
3851 | 1: a |
3852 | 2: aa |
3853 | 3: aaa |
3854 | 4: aaaa |
3855 | aaaaaaaaaaa |
3856 | No match |
3857 | aaaaaaaaaaaa |
3858 | No match |
3859 | aaaaaaaaaaaaa |
3860 | No match |
3861 | aaaaaaaaaaaaaa |
3862 | No match |
3863 | aaaaaaaaaaaaaaa |
3864 | No match |
3865 | aaaaaaaaaaaaaaaa |
3866 | No match |
3867 | |
3868 | /The following tests are taken from the Perl 5.005 test suite; some of them/ |
3869 | /are compatible with 5.004, but I'd rather not have to sort them out./ |
3870 | No match |
3871 | |
3872 | /abc/ |
3873 | abc |
3874 | 0: abc |
3875 | xabcy |
3876 | 0: abc |
3877 | ababc |
3878 | 0: abc |
3879 | *** Failers |
3880 | No match |
3881 | xbc |
3882 | No match |
3883 | axc |
3884 | No match |
3885 | abx |
3886 | No match |
3887 | |
3888 | /ab*c/ |
3889 | abc |
3890 | 0: abc |
3891 | |
3892 | /ab*bc/ |
3893 | abc |
3894 | 0: abc |
3895 | abbc |
3896 | 0: abbc |
3897 | abbbbc |
3898 | 0: abbbbc |
3899 | |
3900 | /.{1}/ |
3901 | abbbbc |
3902 | 0: a |
3903 | |
3904 | /.{3,4}/ |
3905 | abbbbc |
3906 | 0: abbb |
3907 | |
3908 | /ab{0,}bc/ |
3909 | abbbbc |
3910 | 0: abbbbc |
3911 | |
3912 | /ab+bc/ |
3913 | abbc |
3914 | 0: abbc |
3915 | *** Failers |
3916 | No match |
3917 | abc |
3918 | No match |
3919 | abq |
3920 | No match |
3921 | |
3922 | /ab{1,}bc/ |
3923 | |
3924 | /ab+bc/ |
3925 | abbbbc |
3926 | 0: abbbbc |
3927 | |
3928 | /ab{1,}bc/ |
3929 | abbbbc |
3930 | 0: abbbbc |
3931 | |
3932 | /ab{1,3}bc/ |
3933 | abbbbc |
3934 | 0: abbbbc |
3935 | |
3936 | /ab{3,4}bc/ |
3937 | abbbbc |
3938 | 0: abbbbc |
3939 | |
3940 | /ab{4,5}bc/ |
3941 | *** Failers |
3942 | No match |
3943 | abq |
3944 | No match |
3945 | abbbbc |
3946 | No match |
3947 | |
3948 | /ab?bc/ |
3949 | abbc |
3950 | 0: abbc |
3951 | abc |
3952 | 0: abc |
3953 | |
3954 | /ab{0,1}bc/ |
3955 | abc |
3956 | 0: abc |
3957 | |
3958 | /ab?bc/ |
3959 | |
3960 | /ab?c/ |
3961 | abc |
3962 | 0: abc |
3963 | |
3964 | /ab{0,1}c/ |
3965 | abc |
3966 | 0: abc |
3967 | |
3968 | /^abc$/ |
3969 | abc |
3970 | 0: abc |
3971 | *** Failers |
3972 | No match |
3973 | abbbbc |
3974 | No match |
3975 | abcc |
3976 | No match |
3977 | |
3978 | /^abc/ |
3979 | abcc |
3980 | 0: abc |
3981 | |
3982 | /^abc$/ |
3983 | |
3984 | /abc$/ |
3985 | aabc |
3986 | 0: abc |
3987 | *** Failers |
3988 | No match |
3989 | aabc |
3990 | 0: abc |
3991 | aabcd |
3992 | No match |
3993 | |
3994 | /^/ |
3995 | abc |
3996 | 0: |
3997 | |
3998 | /$/ |
3999 | abc |
4000 | 0: |
4001 | |
4002 | /a.c/ |
4003 | abc |
4004 | 0: abc |
4005 | axc |
4006 | 0: axc |
4007 | |
4008 | /a.*c/ |
4009 | axyzc |
4010 | 0: axyzc |
4011 | |
4012 | /a[bc]d/ |
4013 | abd |
4014 | 0: abd |
4015 | *** Failers |
4016 | No match |
4017 | axyzd |
4018 | No match |
4019 | abc |
4020 | No match |
4021 | |
4022 | /a[b-d]e/ |
4023 | ace |
4024 | 0: ace |
4025 | |
4026 | /a[b-d]/ |
4027 | aac |
4028 | 0: ac |
4029 | |
4030 | /a[-b]/ |
4031 | a- |
4032 | 0: a- |
4033 | |
4034 | /a[b-]/ |
4035 | a- |
4036 | 0: a- |
4037 | |
4038 | /a]/ |
4039 | a] |
4040 | 0: a] |
4041 | |
4042 | /a[]]b/ |
4043 | a]b |
4044 | 0: a]b |
4045 | |
4046 | /a[^bc]d/ |
4047 | aed |
4048 | 0: aed |
4049 | *** Failers |
4050 | No match |
4051 | abd |
4052 | No match |
4053 | abd |
4054 | No match |
4055 | |
4056 | /a[^-b]c/ |
4057 | adc |
4058 | 0: adc |
4059 | |
4060 | /a[^]b]c/ |
4061 | adc |
4062 | 0: adc |
4063 | *** Failers |
4064 | No match |
4065 | a-c |
4066 | 0: a-c |
4067 | a]c |
4068 | No match |
4069 | |
4070 | /\ba\b/ |
4071 | a- |
4072 | 0: a |
4073 | -a |
4074 | 0: a |
4075 | -a- |
4076 | 0: a |
4077 | |
4078 | /\by\b/ |
4079 | *** Failers |
4080 | No match |
4081 | xy |
4082 | No match |
4083 | yz |
4084 | No match |
4085 | xyz |
4086 | No match |
4087 | |
4088 | /\Ba\B/ |
4089 | *** Failers |
4090 | 0: a |
4091 | a- |
4092 | No match |
4093 | -a |
4094 | No match |
4095 | -a- |
4096 | No match |
4097 | |
4098 | /\By\b/ |
4099 | xy |
4100 | 0: y |
4101 | |
4102 | /\by\B/ |
4103 | yz |
4104 | 0: y |
4105 | |
4106 | /\By\B/ |
4107 | xyz |
4108 | 0: y |
4109 | |
4110 | /\w/ |
4111 | a |
4112 | 0: a |
4113 | |
4114 | /\W/ |
4115 | - |
4116 | 0: - |
4117 | *** Failers |
4118 | 0: * |
4119 | - |
4120 | 0: - |
4121 | a |
4122 | No match |
4123 | |
4124 | /a\sb/ |
4125 | a b |
4126 | 0: a b |
4127 | |
4128 | /a\Sb/ |
4129 | a-b |
4130 | 0: a-b |
4131 | *** Failers |
4132 | No match |
4133 | a-b |
4134 | 0: a-b |
4135 | a b |
4136 | No match |
4137 | |
4138 | /\d/ |
4139 | 1 |
4140 | 0: 1 |
4141 | |
4142 | /\D/ |
4143 | - |
4144 | 0: - |
4145 | *** Failers |
4146 | 0: * |
4147 | - |
4148 | 0: - |
4149 | 1 |
4150 | No match |
4151 | |
4152 | /[\w]/ |
4153 | a |
4154 | 0: a |
4155 | |
4156 | /[\W]/ |
4157 | - |
4158 | 0: - |
4159 | *** Failers |
4160 | 0: * |
4161 | - |
4162 | 0: - |
4163 | a |
4164 | No match |
4165 | |
4166 | /a[\s]b/ |
4167 | a b |
4168 | 0: a b |
4169 | |
4170 | /a[\S]b/ |
4171 | a-b |
4172 | 0: a-b |
4173 | *** Failers |
4174 | No match |
4175 | a-b |
4176 | 0: a-b |
4177 | a b |
4178 | No match |
4179 | |
4180 | /[\d]/ |
4181 | 1 |
4182 | 0: 1 |
4183 | |
4184 | /[\D]/ |
4185 | - |
4186 | 0: - |
4187 | *** Failers |
4188 | 0: * |
4189 | - |
4190 | 0: - |
4191 | 1 |
4192 | No match |
4193 | |
4194 | /ab|cd/ |
4195 | abc |
4196 | 0: ab |
4197 | abcd |
4198 | 0: ab |
4199 | |
4200 | /()ef/ |
4201 | def |
4202 | 0: ef |
4203 | 1: |
4204 | |
4205 | /$b/ |
4206 | |
4207 | /a\(b/ |
4208 | a(b |
4209 | 0: a(b |
4210 | |
4211 | /a\(*b/ |
4212 | ab |
4213 | 0: ab |
4214 | a((b |
4215 | 0: a((b |
4216 | |
4217 | /a\\b/ |
4218 | a\b |
4219 | No match |
4220 | |
4221 | /((a))/ |
4222 | abc |
4223 | 0: a |
4224 | 1: a |
4225 | 2: a |
4226 | |
4227 | /(a)b(c)/ |
4228 | abc |
4229 | 0: abc |
4230 | 1: a |
4231 | 2: c |
4232 | |
4233 | /a+b+c/ |
4234 | aabbabc |
4235 | 0: abc |
4236 | |
4237 | /a{1,}b{1,}c/ |
4238 | aabbabc |
4239 | 0: abc |
4240 | |
4241 | /a.+?c/ |
4242 | abcabc |
4243 | 0: abc |
4244 | |
4245 | /(a+|b)*/ |
4246 | ab |
4247 | 0: ab |
4248 | 1: b |
4249 | |
4250 | /(a+|b){0,}/ |
4251 | ab |
4252 | 0: ab |
4253 | 1: b |
4254 | |
4255 | /(a+|b)+/ |
4256 | ab |
4257 | 0: ab |
4258 | 1: b |
4259 | |
4260 | /(a+|b){1,}/ |
4261 | ab |
4262 | 0: ab |
4263 | 1: b |
4264 | |
4265 | /(a+|b)?/ |
4266 | ab |
4267 | 0: a |
4268 | 1: a |
4269 | |
4270 | /(a+|b){0,1}/ |
4271 | ab |
4272 | 0: a |
4273 | 1: a |
4274 | |
4275 | /[^ab]*/ |
4276 | cde |
4277 | 0: cde |
4278 | |
4279 | /abc/ |
4280 | *** Failers |
4281 | No match |
4282 | b |
4283 | No match |
4284 | |
4285 | |
4286 | /a*/ |
4287 | |
4288 | |
4289 | /([abc])*d/ |
4290 | abbbcd |
4291 | 0: abbbcd |
4292 | 1: c |
4293 | |
4294 | /([abc])*bcd/ |
4295 | abcd |
4296 | 0: abcd |
4297 | 1: a |
4298 | |
4299 | /a|b|c|d|e/ |
4300 | e |
4301 | 0: e |
4302 | |
4303 | /(a|b|c|d|e)f/ |
4304 | ef |
4305 | 0: ef |
4306 | 1: e |
4307 | |
4308 | /abcd*efg/ |
4309 | abcdefg |
4310 | 0: abcdefg |
4311 | |
4312 | /ab*/ |
4313 | xabyabbbz |
4314 | 0: ab |
4315 | xayabbbz |
4316 | 0: a |
4317 | |
4318 | /(ab|cd)e/ |
4319 | abcde |
4320 | 0: cde |
4321 | 1: cd |
4322 | |
4323 | /[abhgefdc]ij/ |
4324 | hij |
4325 | 0: hij |
4326 | |
4327 | /^(ab|cd)e/ |
4328 | |
4329 | /(abc|)ef/ |
4330 | abcdef |
4331 | 0: ef |
4332 | 1: |
4333 | |
4334 | /(a|b)c*d/ |
4335 | abcd |
4336 | 0: bcd |
4337 | 1: b |
4338 | |
4339 | /(ab|ab*)bc/ |
4340 | abc |
4341 | 0: abc |
4342 | 1: a |
4343 | |
4344 | /a([bc]*)c*/ |
4345 | abc |
4346 | 0: abc |
4347 | 1: bc |
4348 | |
4349 | /a([bc]*)(c*d)/ |
4350 | abcd |
4351 | 0: abcd |
4352 | 1: bc |
4353 | 2: d |
4354 | |
4355 | /a([bc]+)(c*d)/ |
4356 | abcd |
4357 | 0: abcd |
4358 | 1: bc |
4359 | 2: d |
4360 | |
4361 | /a([bc]*)(c+d)/ |
4362 | abcd |
4363 | 0: abcd |
4364 | 1: b |
4365 | 2: cd |
4366 | |
4367 | /a[bcd]*dcdcde/ |
4368 | adcdcde |
4369 | 0: adcdcde |
4370 | |
4371 | /a[bcd]+dcdcde/ |
4372 | *** Failers |
4373 | No match |
4374 | abcde |
4375 | No match |
4376 | adcdcde |
4377 | No match |
4378 | |
4379 | /(ab|a)b*c/ |
4380 | abc |
4381 | 0: abc |
4382 | 1: ab |
4383 | |
4384 | /((a)(b)c)(d)/ |
4385 | abcd |
4386 | 0: abcd |
4387 | 1: abc |
4388 | 2: a |
4389 | 3: b |
4390 | 4: d |
4391 | |
4392 | /[a-zA-Z_][a-zA-Z0-9_]*/ |
4393 | alpha |
4394 | 0: alpha |
4395 | |
4396 | /^a(bc+|b[eh])g|.h$/ |
4397 | abh |
4398 | 0: bh |
4399 | |
4400 | /(bc+d$|ef*g.|h?i(j|k))/ |
4401 | effgz |
4402 | 0: effgz |
4403 | 1: effgz |
4404 | ij |
4405 | 0: ij |
4406 | 1: ij |
4407 | 2: j |
4408 | reffgz |
4409 | 0: effgz |
4410 | 1: effgz |
4411 | *** Failers |
4412 | No match |
4413 | effg |
4414 | No match |
4415 | bcdd |
4416 | No match |
4417 | |
4418 | /((((((((((a))))))))))/ |
4419 | a |
4420 | 0: a |
4421 | 1: a |
4422 | 2: a |
4423 | 3: a |
4424 | 4: a |
4425 | 5: a |
4426 | 6: a |
4427 | 7: a |
4428 | 8: a |
4429 | 9: a |
4430 | 10: a |
4431 | |
4432 | /((((((((((a))))))))))\10/ |
4433 | aa |
4434 | 0: aa |
4435 | 1: a |
4436 | 2: a |
4437 | 3: a |
4438 | 4: a |
4439 | 5: a |
4440 | 6: a |
4441 | 7: a |
4442 | 8: a |
4443 | 9: a |
4444 | 10: a |
4445 | |
4446 | /(((((((((a)))))))))/ |
4447 | a |
4448 | 0: a |
4449 | 1: a |
4450 | 2: a |
4451 | 3: a |
4452 | 4: a |
4453 | 5: a |
4454 | 6: a |
4455 | 7: a |
4456 | 8: a |
4457 | 9: a |
4458 | |
4459 | /multiple words of text/ |
4460 | *** Failers |
4461 | No match |
4462 | aa |
4463 | No match |
4464 | uh-uh |
4465 | No match |
4466 | |
4467 | /multiple words/ |
4468 | multiple words, yeah |
4469 | 0: multiple words |
4470 | |
4471 | /(.*)c(.*)/ |
4472 | abcde |
4473 | 0: abcde |
4474 | 1: ab |
4475 | 2: de |
4476 | |
4477 | /\((.*), (.*)\)/ |
4478 | (a, b) |
4479 | 0: (a, b) |
4480 | 1: a |
4481 | 2: b |
4482 | |
4483 | /[k]/ |
4484 | |
4485 | /abcd/ |
4486 | abcd |
4487 | 0: abcd |
4488 | |
4489 | /a(bc)d/ |
4490 | abcd |
4491 | 0: abcd |
4492 | 1: bc |
4493 | |
4494 | /a[-]?c/ |
4495 | ac |
4496 | 0: ac |
4497 | |
4498 | /(abc)\1/ |
4499 | abcabc |
4500 | 0: abcabc |
4501 | 1: abc |
4502 | |
4503 | /([a-c]*)\1/ |
4504 | abcabc |
4505 | 0: abcabc |
4506 | 1: abc |
4507 | |
4508 | /(a)|\1/ |
4509 | a |
4510 | 0: a |
4511 | 1: a |
4512 | *** Failers |
4513 | 0: a |
4514 | 1: a |
4515 | ab |
4516 | 0: a |
4517 | 1: a |
4518 | x |
4519 | No match |
4520 | |
4521 | /(([a-c])b*?\2)*/ |
4522 | ababbbcbc |
4523 | 0: ababb |
4524 | 1: bb |
4525 | 2: b |
4526 | |
4527 | /(([a-c])b*?\2){3}/ |
4528 | ababbbcbc |
4529 | 0: ababbbcbc |
4530 | 1: cbc |
4531 | 2: c |
4532 | |
4533 | /((\3|b)\2(a)x)+/ |
4534 | aaaxabaxbaaxbbax |
4535 | 0: bbax |
4536 | 1: bbax |
4537 | 2: b |
4538 | 3: a |
4539 | |
4540 | /((\3|b)\2(a)){2,}/ |
4541 | bbaababbabaaaaabbaaaabba |
4542 | 0: bbaaaabba |
4543 | 1: bba |
4544 | 2: b |
4545 | 3: a |
4546 | |
4547 | /abc/i |
4548 | ABC |
4549 | 0: ABC |
4550 | XABCY |
4551 | 0: ABC |
4552 | ABABC |
4553 | 0: ABC |
4554 | *** Failers |
4555 | No match |
4556 | aaxabxbaxbbx |
4557 | No match |
4558 | XBC |
4559 | No match |
4560 | AXC |
4561 | No match |
4562 | ABX |
4563 | No match |
4564 | |
4565 | /ab*c/i |
4566 | ABC |
4567 | 0: ABC |
4568 | |
4569 | /ab*bc/i |
4570 | ABC |
4571 | 0: ABC |
4572 | ABBC |
4573 | 0: ABBC |
4574 | |
4575 | /ab*?bc/i |
4576 | ABBBBC |
4577 | 0: ABBBBC |
4578 | |
4579 | /ab{0,}?bc/i |
4580 | ABBBBC |
4581 | 0: ABBBBC |
4582 | |
4583 | /ab+?bc/i |
4584 | ABBC |
4585 | 0: ABBC |
4586 | |
4587 | /ab+bc/i |
4588 | *** Failers |
4589 | No match |
4590 | ABC |
4591 | No match |
4592 | ABQ |
4593 | No match |
4594 | |
4595 | /ab{1,}bc/i |
4596 | |
4597 | /ab+bc/i |
4598 | ABBBBC |
4599 | 0: ABBBBC |
4600 | |
4601 | /ab{1,}?bc/i |
4602 | ABBBBC |
4603 | 0: ABBBBC |
4604 | |
4605 | /ab{1,3}?bc/i |
4606 | ABBBBC |
4607 | 0: ABBBBC |
4608 | |
4609 | /ab{3,4}?bc/i |
4610 | ABBBBC |
4611 | 0: ABBBBC |
4612 | |
4613 | /ab{4,5}?bc/i |
4614 | *** Failers |
4615 | No match |
4616 | ABQ |
4617 | No match |
4618 | ABBBBC |
4619 | No match |
4620 | |
4621 | /ab??bc/i |
4622 | ABBC |
4623 | 0: ABBC |
4624 | ABC |
4625 | 0: ABC |
4626 | |
4627 | /ab{0,1}?bc/i |
4628 | ABC |
4629 | 0: ABC |
4630 | |
4631 | /ab??bc/i |
4632 | |
4633 | /ab??c/i |
4634 | ABC |
4635 | 0: ABC |
4636 | |
4637 | /ab{0,1}?c/i |
4638 | ABC |
4639 | 0: ABC |
4640 | |
4641 | /^abc$/i |
4642 | ABC |
4643 | 0: ABC |
4644 | *** Failers |
4645 | No match |
4646 | ABBBBC |
4647 | No match |
4648 | ABCC |
4649 | No match |
4650 | |
4651 | /^abc/i |
4652 | ABCC |
4653 | 0: ABC |
4654 | |
4655 | /^abc$/i |
4656 | |
4657 | /abc$/i |
4658 | AABC |
4659 | 0: ABC |
4660 | |
4661 | /^/i |
4662 | ABC |
4663 | 0: |
4664 | |
4665 | /$/i |
4666 | ABC |
4667 | 0: |
4668 | |
4669 | /a.c/i |
4670 | ABC |
4671 | 0: ABC |
4672 | AXC |
4673 | 0: AXC |
4674 | |
4675 | /a.*?c/i |
4676 | AXYZC |
4677 | 0: AXYZC |
4678 | |
4679 | /a.*c/i |
4680 | *** Failers |
4681 | No match |
4682 | AABC |
4683 | 0: AABC |
4684 | AXYZD |
4685 | No match |
4686 | |
4687 | /a[bc]d/i |
4688 | ABD |
4689 | 0: ABD |
4690 | |
4691 | /a[b-d]e/i |
4692 | ACE |
4693 | 0: ACE |
4694 | *** Failers |
4695 | No match |
4696 | ABC |
4697 | No match |
4698 | ABD |
4699 | No match |
4700 | |
4701 | /a[b-d]/i |
4702 | AAC |
4703 | 0: AC |
4704 | |
4705 | /a[-b]/i |
4706 | A- |
4707 | 0: A- |
4708 | |
4709 | /a[b-]/i |
4710 | A- |
4711 | 0: A- |
4712 | |
4713 | /a]/i |
4714 | A] |
4715 | 0: A] |
4716 | |
4717 | /a[]]b/i |
4718 | A]B |
4719 | 0: A]B |
4720 | |
4721 | /a[^bc]d/i |
4722 | AED |
4723 | 0: AED |
4724 | |
4725 | /a[^-b]c/i |
4726 | ADC |
4727 | 0: ADC |
4728 | *** Failers |
4729 | No match |
4730 | ABD |
4731 | No match |
4732 | A-C |
4733 | No match |
4734 | |
4735 | /a[^]b]c/i |
4736 | ADC |
4737 | 0: ADC |
4738 | |
4739 | /ab|cd/i |
4740 | ABC |
4741 | 0: AB |
4742 | ABCD |
4743 | 0: AB |
4744 | |
4745 | /()ef/i |
4746 | DEF |
4747 | 0: EF |
4748 | 1: |
4749 | |
4750 | /$b/i |
4751 | *** Failers |
4752 | No match |
4753 | A]C |
4754 | No match |
4755 | B |
4756 | No match |
4757 | |
4758 | /a\(b/i |
4759 | A(B |
4760 | 0: A(B |
4761 | |
4762 | /a\(*b/i |
4763 | AB |
4764 | 0: AB |
4765 | A((B |
4766 | 0: A((B |
4767 | |
4768 | /a\\b/i |
4769 | A\B |
4770 | No match |
4771 | |
4772 | /((a))/i |
4773 | ABC |
4774 | 0: A |
4775 | 1: A |
4776 | 2: A |
4777 | |
4778 | /(a)b(c)/i |
4779 | ABC |
4780 | 0: ABC |
4781 | 1: A |
4782 | 2: C |
4783 | |
4784 | /a+b+c/i |
4785 | AABBABC |
4786 | 0: ABC |
4787 | |
4788 | /a{1,}b{1,}c/i |
4789 | AABBABC |
4790 | 0: ABC |
4791 | |
4792 | /a.+?c/i |
4793 | ABCABC |
4794 | 0: ABC |
4795 | |
4796 | /a.*?c/i |
4797 | ABCABC |
4798 | 0: ABC |
4799 | |
4800 | /a.{0,5}?c/i |
4801 | ABCABC |
4802 | 0: ABC |
4803 | |
4804 | /(a+|b)*/i |
4805 | AB |
4806 | 0: AB |
4807 | 1: B |
4808 | |
4809 | /(a+|b){0,}/i |
4810 | AB |
4811 | 0: AB |
4812 | 1: B |
4813 | |
4814 | /(a+|b)+/i |
4815 | AB |
4816 | 0: AB |
4817 | 1: B |
4818 | |
4819 | /(a+|b){1,}/i |
4820 | AB |
4821 | 0: AB |
4822 | 1: B |
4823 | |
4824 | /(a+|b)?/i |
4825 | AB |
4826 | 0: A |
4827 | 1: A |
4828 | |
4829 | /(a+|b){0,1}/i |
4830 | AB |
4831 | 0: A |
4832 | 1: A |
4833 | |
4834 | /(a+|b){0,1}?/i |
4835 | AB |
4836 | 0: |
4837 | |
4838 | /[^ab]*/i |
4839 | CDE |
4840 | 0: CDE |
4841 | |
4842 | /abc/i |
4843 | |
4844 | /a*/i |
4845 | |
4846 | |
4847 | /([abc])*d/i |
4848 | ABBBCD |
4849 | 0: ABBBCD |
4850 | 1: C |
4851 | |
4852 | /([abc])*bcd/i |
4853 | ABCD |
4854 | 0: ABCD |
4855 | 1: A |
4856 | |
4857 | /a|b|c|d|e/i |
4858 | E |
4859 | 0: E |
4860 | |
4861 | /(a|b|c|d|e)f/i |
4862 | EF |
4863 | 0: EF |
4864 | 1: E |
4865 | |
4866 | /abcd*efg/i |
4867 | ABCDEFG |
4868 | 0: ABCDEFG |
4869 | |
4870 | /ab*/i |
4871 | XABYABBBZ |
4872 | 0: AB |
4873 | XAYABBBZ |
4874 | 0: A |
4875 | |
4876 | /(ab|cd)e/i |
4877 | ABCDE |
4878 | 0: CDE |
4879 | 1: CD |
4880 | |
4881 | /[abhgefdc]ij/i |
4882 | HIJ |
4883 | 0: HIJ |
4884 | |
4885 | /^(ab|cd)e/i |
4886 | ABCDE |
4887 | No match |
4888 | |
4889 | /(abc|)ef/i |
4890 | ABCDEF |
4891 | 0: EF |
4892 | 1: |
4893 | |
4894 | /(a|b)c*d/i |
4895 | ABCD |
4896 | 0: BCD |
4897 | 1: B |
4898 | |
4899 | /(ab|ab*)bc/i |
4900 | ABC |
4901 | 0: ABC |
4902 | 1: A |
4903 | |
4904 | /a([bc]*)c*/i |
4905 | ABC |
4906 | 0: ABC |
4907 | 1: BC |
4908 | |
4909 | /a([bc]*)(c*d)/i |
4910 | ABCD |
4911 | 0: ABCD |
4912 | 1: BC |
4913 | 2: D |
4914 | |
4915 | /a([bc]+)(c*d)/i |
4916 | ABCD |
4917 | 0: ABCD |
4918 | 1: BC |
4919 | 2: D |
4920 | |
4921 | /a([bc]*)(c+d)/i |
4922 | ABCD |
4923 | 0: ABCD |
4924 | 1: B |
4925 | 2: CD |
4926 | |
4927 | /a[bcd]*dcdcde/i |
4928 | ADCDCDE |
4929 | 0: ADCDCDE |
4930 | |
4931 | /a[bcd]+dcdcde/i |
4932 | |
4933 | /(ab|a)b*c/i |
4934 | ABC |
4935 | 0: ABC |
4936 | 1: AB |
4937 | |
4938 | /((a)(b)c)(d)/i |
4939 | ABCD |
4940 | 0: ABCD |
4941 | 1: ABC |
4942 | 2: A |
4943 | 3: B |
4944 | 4: D |
4945 | |
4946 | /[a-zA-Z_][a-zA-Z0-9_]*/i |
4947 | ALPHA |
4948 | 0: ALPHA |
4949 | |
4950 | /^a(bc+|b[eh])g|.h$/i |
4951 | ABH |
4952 | 0: BH |
4953 | |
4954 | /(bc+d$|ef*g.|h?i(j|k))/i |
4955 | EFFGZ |
4956 | 0: EFFGZ |
4957 | 1: EFFGZ |
4958 | IJ |
4959 | 0: IJ |
4960 | 1: IJ |
4961 | 2: J |
4962 | REFFGZ |
4963 | 0: EFFGZ |
4964 | 1: EFFGZ |
4965 | *** Failers |
4966 | No match |
4967 | ADCDCDE |
4968 | No match |
4969 | EFFG |
4970 | No match |
4971 | BCDD |
4972 | No match |
4973 | |
4974 | /((((((((((a))))))))))/i |
4975 | A |
4976 | 0: A |
4977 | 1: A |
4978 | 2: A |
4979 | 3: A |
4980 | 4: A |
4981 | 5: A |
4982 | 6: A |
4983 | 7: A |
4984 | 8: A |
4985 | 9: A |
4986 | 10: A |
4987 | |
4988 | /((((((((((a))))))))))\10/i |
4989 | AA |
4990 | 0: AA |
4991 | 1: A |
4992 | 2: A |
4993 | 3: A |
4994 | 4: A |
4995 | 5: A |
4996 | 6: A |
4997 | 7: A |
4998 | 8: A |
4999 | 9: A |
5000 | 10: A |
5001 | |
5002 | /(((((((((a)))))))))/i |
5003 | A |
5004 | 0: A |
5005 | 1: A |
5006 | 2: A |
5007 | 3: A |
5008 | 4: A |
5009 | 5: A |
5010 | 6: A |
5011 | 7: A |
5012 | 8: A |
5013 | 9: A |
5014 | |
5015 | /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i |
5016 | A |
5017 | 0: A |
5018 | 1: A |
5019 | |
5020 | /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i |
5021 | C |
5022 | 0: C |
5023 | 1: C |
5024 | |
5025 | /multiple words of text/i |
5026 | *** Failers |
5027 | No match |
5028 | AA |
5029 | No match |
5030 | UH-UH |
5031 | No match |
5032 | |
5033 | /multiple words/i |
5034 | MULTIPLE WORDS, YEAH |
5035 | 0: MULTIPLE WORDS |
5036 | |
5037 | /(.*)c(.*)/i |
5038 | ABCDE |
5039 | 0: ABCDE |
5040 | 1: AB |
5041 | 2: DE |
5042 | |
5043 | /\((.*), (.*)\)/i |
5044 | (A, B) |
5045 | 0: (A, B) |
5046 | 1: A |
5047 | 2: B |
5048 | |
5049 | /[k]/i |
5050 | |
5051 | /abcd/i |
5052 | ABCD |
5053 | 0: ABCD |
5054 | |
5055 | /a(bc)d/i |
5056 | ABCD |
5057 | 0: ABCD |
5058 | 1: BC |
5059 | |
5060 | /a[-]?c/i |
5061 | AC |
5062 | 0: AC |
5063 | |
5064 | /(abc)\1/i |
5065 | ABCABC |
5066 | 0: ABCABC |
5067 | 1: ABC |
5068 | |
5069 | /([a-c]*)\1/i |
5070 | ABCABC |
5071 | 0: ABCABC |
5072 | 1: ABC |
5073 | |
5074 | /a(?!b)./ |
5075 | abad |
5076 | 0: ad |
5077 | |
5078 | /a(?=d)./ |
5079 | abad |
5080 | 0: ad |
5081 | |
5082 | /a(?=c|d)./ |
5083 | abad |
5084 | 0: ad |
5085 | |
5086 | /a(?:b|c|d)(.)/ |
5087 | ace |
5088 | 0: ace |
5089 | 1: e |
5090 | |
5091 | /a(?:b|c|d)*(.)/ |
5092 | ace |
5093 | 0: ace |
5094 | 1: e |
5095 | |
5096 | /a(?:b|c|d)+?(.)/ |
5097 | ace |
5098 | 0: ace |
5099 | 1: e |
5100 | acdbcdbe |
5101 | 0: acd |
5102 | 1: d |
5103 | |
5104 | /a(?:b|c|d)+(.)/ |
5105 | acdbcdbe |
5106 | 0: acdbcdbe |
5107 | 1: e |
5108 | |
5109 | /a(?:b|c|d){2}(.)/ |
5110 | acdbcdbe |
5111 | 0: acdb |
5112 | 1: b |
5113 | |
5114 | /a(?:b|c|d){4,5}(.)/ |
5115 | acdbcdbe |
5116 | 0: acdbcdb |
5117 | 1: b |
5118 | |
5119 | /a(?:b|c|d){4,5}?(.)/ |
5120 | acdbcdbe |
5121 | 0: acdbcd |
5122 | 1: d |
5123 | |
5124 | /((foo)|(bar))*/ |
5125 | foobar |
5126 | 0: foobar |
5127 | 1: bar |
5128 | 2: foo |
5129 | 3: bar |
5130 | |
5131 | /a(?:b|c|d){6,7}(.)/ |
5132 | acdbcdbe |
5133 | 0: acdbcdbe |
5134 | 1: e |
5135 | |
5136 | /a(?:b|c|d){6,7}?(.)/ |
5137 | acdbcdbe |
5138 | 0: acdbcdbe |
5139 | 1: e |
5140 | |
5141 | /a(?:b|c|d){5,6}(.)/ |
5142 | acdbcdbe |
5143 | 0: acdbcdbe |
5144 | 1: e |
5145 | |
5146 | /a(?:b|c|d){5,6}?(.)/ |
5147 | acdbcdbe |
5148 | 0: acdbcdb |
5149 | 1: b |
5150 | |
5151 | /a(?:b|c|d){5,7}(.)/ |
5152 | acdbcdbe |
5153 | 0: acdbcdbe |
5154 | 1: e |
5155 | |
5156 | /a(?:b|c|d){5,7}?(.)/ |
5157 | acdbcdbe |
5158 | 0: acdbcdb |
5159 | 1: b |
5160 | |
5161 | /a(?:b|(c|e){1,2}?|d)+?(.)/ |
5162 | ace |
5163 | 0: ace |
5164 | 1: c |
5165 | 2: e |
5166 | |
5167 | /^(.+)?B/ |
5168 | AB |
5169 | 0: AB |
5170 | 1: A |
5171 | |
5172 | /^([^a-z])|(\^)$/ |
5173 | . |
5174 | 0: . |
5175 | 1: . |
5176 | |
5177 | /^[<>]&/ |
5178 | <&OUT |
5179 | 0: <& |
5180 | |
5181 | /^(a\1?){4}$/ |
5182 | aaaaaaaaaa |
5183 | 0: aaaaaaaaaa |
5184 | 1: aaaa |
5185 | *** Failers |
5186 | No match |
5187 | AB |
5188 | No match |
5189 | aaaaaaaaa |
5190 | No match |
5191 | aaaaaaaaaaa |
5192 | No match |
5193 | |
5194 | /^(a(?(1)\1)){4}$/ |
5195 | aaaaaaaaaa |
5196 | 0: aaaaaaaaaa |
5197 | 1: aaaa |
5198 | *** Failers |
5199 | No match |
5200 | aaaaaaaaa |
5201 | No match |
5202 | aaaaaaaaaaa |
5203 | No match |
5204 | |
5205 | /(?:(f)(o)(o)|(b)(a)(r))*/ |
5206 | foobar |
5207 | 0: foobar |
5208 | 1: f |
5209 | 2: o |
5210 | 3: o |
5211 | 4: b |
5212 | 5: a |
5213 | 6: r |
5214 | |
5215 | /(?<=a)b/ |
5216 | ab |
5217 | 0: b |
5218 | *** Failers |
5219 | No match |
5220 | cb |
5221 | No match |
5222 | b |
5223 | No match |
5224 | |
5225 | /(?<!c)b/ |
5226 | ab |
5227 | 0: b |
5228 | b |
5229 | 0: b |
5230 | b |
5231 | 0: b |
5232 | |
5233 | /(?:..)*a/ |
5234 | aba |
5235 | 0: aba |
5236 | |
5237 | /(?:..)*?a/ |
5238 | aba |
5239 | 0: a |
5240 | |
5241 | /^(?:b|a(?=(.)))*\1/ |
5242 | abc |
5243 | 0: ab |
5244 | 1: b |
5245 | |
5246 | /^(){3,5}/ |
5247 | abc |
5248 | 0: |
5249 | 1: |
5250 | |
5251 | /^(a+)*ax/ |
5252 | aax |
5253 | 0: aax |
5254 | 1: a |
5255 | |
5256 | /^((a|b)+)*ax/ |
5257 | aax |
5258 | 0: aax |
5259 | 1: a |
5260 | 2: a |
5261 | |
5262 | /^((a|bc)+)*ax/ |
5263 | aax |
5264 | 0: aax |
5265 | 1: a |
5266 | 2: a |
5267 | |
5268 | /(a|x)*ab/ |
5269 | cab |
5270 | 0: ab |
5271 | |
5272 | /(a)*ab/ |
5273 | cab |
5274 | 0: ab |
5275 | |
5276 | /(?:(?i)a)b/ |
5277 | ab |
5278 | 0: ab |
5279 | |
5280 | /((?i)a)b/ |
5281 | ab |
5282 | 0: ab |
5283 | 1: a |
5284 | |
5285 | /(?:(?i)a)b/ |
5286 | Ab |
5287 | 0: Ab |
5288 | |
5289 | /((?i)a)b/ |
5290 | Ab |
5291 | 0: Ab |
5292 | 1: A |
5293 | |
5294 | /(?:(?i)a)b/ |
5295 | *** Failers |
5296 | No match |
5297 | cb |
5298 | No match |
5299 | aB |
5300 | No match |
5301 | |
5302 | /((?i)a)b/ |
5303 | |
5304 | /(?i:a)b/ |
5305 | ab |
5306 | 0: ab |
5307 | |
5308 | /((?i:a))b/ |
5309 | ab |
5310 | 0: ab |
5311 | 1: a |
5312 | |
5313 | /(?i:a)b/ |
5314 | Ab |
5315 | 0: Ab |
5316 | |
5317 | /((?i:a))b/ |
5318 | Ab |
5319 | 0: Ab |
5320 | 1: A |
5321 | |
5322 | /(?i:a)b/ |
5323 | *** Failers |
5324 | No match |
5325 | aB |
5326 | No match |
5327 | aB |
5328 | No match |
5329 | |
5330 | /((?i:a))b/ |
5331 | |
5332 | /(?:(?-i)a)b/i |
5333 | ab |
5334 | 0: ab |
5335 | |
5336 | /((?-i)a)b/i |
5337 | ab |
5338 | 0: ab |
5339 | 1: a |
5340 | |
5341 | /(?:(?-i)a)b/i |
5342 | aB |
5343 | 0: aB |
5344 | |
5345 | /((?-i)a)b/i |
5346 | aB |
5347 | 0: aB |
5348 | 1: a |
5349 | |
5350 | /(?:(?-i)a)b/i |
5351 | *** Failers |
5352 | No match |
5353 | aB |
5354 | 0: aB |
5355 | Ab |
5356 | No match |
5357 | |
5358 | /((?-i)a)b/i |
5359 | |
5360 | /(?:(?-i)a)b/i |
5361 | aB |
5362 | 0: aB |
5363 | |
5364 | /((?-i)a)b/i |
5365 | aB |
5366 | 0: aB |
5367 | 1: a |
5368 | |
5369 | /(?:(?-i)a)b/i |
5370 | *** Failers |
5371 | No match |
5372 | Ab |
5373 | No match |
5374 | AB |
5375 | No match |
5376 | |
5377 | /((?-i)a)b/i |
5378 | |
5379 | /(?-i:a)b/i |
5380 | ab |
5381 | 0: ab |
5382 | |
5383 | /((?-i:a))b/i |
5384 | ab |
5385 | 0: ab |
5386 | 1: a |
5387 | |
5388 | /(?-i:a)b/i |
5389 | aB |
5390 | 0: aB |
5391 | |
5392 | /((?-i:a))b/i |
5393 | aB |
5394 | 0: aB |
5395 | 1: a |
5396 | |
5397 | /(?-i:a)b/i |
5398 | *** Failers |
5399 | No match |
5400 | AB |
5401 | No match |
5402 | Ab |
5403 | No match |
5404 | |
5405 | /((?-i:a))b/i |
5406 | |
5407 | /(?-i:a)b/i |
5408 | aB |
5409 | 0: aB |
5410 | |
5411 | /((?-i:a))b/i |
5412 | aB |
5413 | 0: aB |
5414 | 1: a |
5415 | |
5416 | /(?-i:a)b/i |
5417 | *** Failers |
5418 | No match |
5419 | Ab |
5420 | No match |
5421 | AB |
5422 | No match |
5423 | |
5424 | /((?-i:a))b/i |
5425 | |
5426 | /((?-i:a.))b/i |
5427 | *** Failers |
5428 | No match |
5429 | AB |
5430 | No match |
5431 | a\nB |
5432 | No match |
5433 | |
5434 | /((?s-i:a.))b/i |
5435 | a\nB |
5436 | 0: a\x0aB |
5437 | 1: a\x0a |
5438 | |
5439 | /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/ |
5440 | cabbbb |
5441 | 0: cabbbb |
5442 | |
5443 | /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/ |
5444 | caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
5445 | 0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
5446 | |
5447 | /(ab)\d\1/i |
5448 | Ab4ab |
5449 | 0: Ab4ab |
5450 | 1: Ab |
5451 | ab4Ab |
5452 | 0: ab4Ab |
5453 | 1: ab |
5454 | |
5455 | /foo\w*\d{4}baz/ |
5456 | foobar1234baz |
5457 | 0: foobar1234baz |
5458 | |
5459 | /x(~~)*(?:(?:F)?)?/ |
5460 | x~~ |
5461 | 0: x~~ |
5462 | 1: ~~ |
5463 | |
5464 | /^a(?#xxx){3}c/ |
5465 | aaac |
5466 | 0: aaac |
5467 | |
5468 | /^a (?#xxx) (?#yyy) {3}c/x |
5469 | aaac |
5470 | 0: aaac |
5471 | |
5472 | /(?<![cd])b/ |
5473 | *** Failers |
5474 | No match |
5475 | B\nB |
5476 | No match |
5477 | dbcb |
5478 | No match |
5479 | |
5480 | /(?<![cd])[ab]/ |
5481 | dbaacb |
5482 | 0: a |
5483 | |
5484 | /(?<!(c|d))b/ |
5485 | |
5486 | /(?<!(c|d))[ab]/ |
5487 | dbaacb |
5488 | 0: a |
5489 | |
5490 | /(?<!cd)[ab]/ |
5491 | cdaccb |
5492 | 0: b |
5493 | |
5494 | /^(?:a?b?)*$/ |
5495 | \ |
5496 | 0: |
5497 | a |
5498 | 0: a |
5499 | ab |
5500 | 0: ab |
5501 | aaa |
5502 | 0: aaa |
5503 | *** Failers |
5504 | No match |
5505 | dbcb |
5506 | No match |
5507 | a-- |
5508 | No match |
5509 | aa-- |
5510 | No match |
5511 | |
5512 | /((?s)^a(.))((?m)^b$)/ |
5513 | a\nb\nc\n |
5514 | 0: a\x0ab |
5515 | 1: a\x0a |
5516 | 2: \x0a |
5517 | 3: b |
5518 | |
5519 | /((?m)^b$)/ |
5520 | a\nb\nc\n |
5521 | 0: b |
5522 | 1: b |
5523 | |
5524 | /(?m)^b/ |
5525 | a\nb\n |
5526 | 0: b |
5527 | |
5528 | /(?m)^(b)/ |
5529 | a\nb\n |
5530 | 0: b |
5531 | 1: b |
5532 | |
5533 | /((?m)^b)/ |
5534 | a\nb\n |
5535 | 0: b |
5536 | 1: b |
5537 | |
5538 | /\n((?m)^b)/ |
5539 | a\nb\n |
5540 | 0: \x0ab |
5541 | 1: b |
5542 | |
5543 | /((?s).)c(?!.)/ |
5544 | a\nb\nc\n |
5545 | 0: \x0ac |
5546 | 1: \x0a |
5547 | a\nb\nc\n |
5548 | 0: \x0ac |
5549 | 1: \x0a |
5550 | |
5551 | /((?s)b.)c(?!.)/ |
5552 | a\nb\nc\n |
5553 | 0: b\x0ac |
5554 | 1: b\x0a |
5555 | a\nb\nc\n |
5556 | 0: b\x0ac |
5557 | 1: b\x0a |
5558 | |
5559 | /^b/ |
5560 | |
5561 | /()^b/ |
5562 | *** Failers |
5563 | No match |
5564 | a\nb\nc\n |
5565 | No match |
5566 | a\nb\nc\n |
5567 | No match |
5568 | |
5569 | /((?m)^b)/ |
5570 | a\nb\nc\n |
5571 | 0: b |
5572 | 1: b |
5573 | |
5574 | /(x)?(?(1)a|b)/ |
5575 | *** Failers |
5576 | No match |
5577 | a |
5578 | No match |
5579 | a |
5580 | No match |
5581 | |
5582 | /(x)?(?(1)b|a)/ |
5583 | a |
5584 | 0: a |
5585 | |
5586 | /()?(?(1)b|a)/ |
5587 | a |
5588 | 0: a |
5589 | |
5590 | /()(?(1)b|a)/ |
5591 | |
5592 | /()?(?(1)a|b)/ |
5593 | a |
5594 | 0: a |
5595 | 1: |
5596 | |
5597 | /^(\()?blah(?(1)(\)))$/ |
5598 | (blah) |
5599 | 0: (blah) |
5600 | 1: ( |
5601 | 2: ) |
5602 | blah |
5603 | 0: blah |
5604 | *** Failers |
5605 | No match |
5606 | a |
5607 | No match |
5608 | blah) |
5609 | No match |
5610 | (blah |
5611 | No match |
5612 | |
5613 | /^(\(+)?blah(?(1)(\)))$/ |
5614 | (blah) |
5615 | 0: (blah) |
5616 | 1: ( |
5617 | 2: ) |
5618 | blah |
5619 | 0: blah |
5620 | *** Failers |
5621 | No match |
5622 | blah) |
5623 | No match |
5624 | (blah |
5625 | No match |
5626 | |
5627 | /(?(?!a)a|b)/ |
5628 | |
5629 | /(?(?!a)b|a)/ |
5630 | a |
5631 | 0: a |
5632 | |
5633 | /(?(?=a)b|a)/ |
5634 | *** Failers |
5635 | No match |
5636 | a |
5637 | No match |
5638 | a |
5639 | No match |
5640 | |
5641 | /(?(?=a)a|b)/ |
5642 | a |
5643 | 0: a |
5644 | |
5645 | /(?=(a+?))(\1ab)/ |
5646 | aaab |
5647 | 0: aab |
5648 | 1: a |
5649 | 2: aab |
5650 | |
5651 | /^(?=(a+?))\1ab/ |
5652 | |
5653 | /(\w+:)+/ |
5654 | one: |
5655 | 0: one: |
5656 | 1: one: |
5657 | |
5658 | /$(?<=^(a))/ |
5659 | a |
5660 | 0: |
5661 | 1: a |
5662 | |
5663 | /(?=(a+?))(\1ab)/ |
5664 | aaab |
5665 | 0: aab |
5666 | 1: a |
5667 | 2: aab |
5668 | |
5669 | /^(?=(a+?))\1ab/ |
5670 | *** Failers |
5671 | No match |
5672 | aaab |
5673 | No match |
5674 | aaab |
5675 | No match |
5676 | |
5677 | /([\w:]+::)?(\w+)$/ |
5678 | abcd |
5679 | 0: abcd |
5680 | 1: <unset> |
5681 | 2: abcd |
5682 | xy:z:::abcd |
5683 | 0: xy:z:::abcd |
5684 | 1: xy:z::: |
5685 | 2: abcd |
5686 | |
5687 | /^[^bcd]*(c+)/ |
5688 | aexycd |
5689 | 0: aexyc |
5690 | 1: c |
5691 | |
5692 | /(a*)b+/ |
5693 | caab |
5694 | 0: aab |
5695 | 1: aa |
5696 | |
5697 | /([\w:]+::)?(\w+)$/ |
5698 | abcd |
5699 | 0: abcd |
5700 | 1: <unset> |
5701 | 2: abcd |
5702 | xy:z:::abcd |
5703 | 0: xy:z:::abcd |
5704 | 1: xy:z::: |
5705 | 2: abcd |
5706 | *** Failers |
5707 | 0: Failers |
5708 | 1: <unset> |
5709 | 2: Failers |
5710 | abcd: |
5711 | No match |
5712 | abcd: |
5713 | No match |
5714 | |
5715 | /^[^bcd]*(c+)/ |
5716 | aexycd |
5717 | 0: aexyc |
5718 | 1: c |
5719 | |
5720 | /(>a+)ab/ |
5721 | |
5722 | /(?>a+)b/ |
5723 | aaab |
5724 | 0: aaab |
5725 | |
5726 | /([[:]+)/ |
5727 | a:[b]: |
5728 | 0: :[ |
5729 | 1: :[ |
5730 | |
5731 | /([[=]+)/ |
5732 | a=[b]= |
5733 | 0: =[ |
5734 | 1: =[ |
5735 | |
5736 | /([[.]+)/ |
5737 | a.[b]. |
5738 | 0: .[ |
5739 | 1: .[ |
5740 | |
5741 | /((?>a+)b)/ |
5742 | aaab |
5743 | 0: aaab |
5744 | 1: aaab |
5745 | |
5746 | /(?>(a+))b/ |
5747 | aaab |
5748 | 0: aaab |
5749 | 1: aaa |
5750 | |
5751 | /((?>[^()]+)|\([^()]*\))+/ |
5752 | ((abc(ade)ufh()()x |
5753 | 0: abc(ade)ufh()()x |
5754 | 1: x |
5755 | |
5756 | /a\Z/ |
5757 | *** Failers |
5758 | No match |
5759 | aaab |
5760 | No match |
5761 | a\nb\n |
5762 | No match |
5763 | |
5764 | /b\Z/ |
5765 | a\nb\n |
5766 | 0: b |
5767 | |
5768 | /b\z/ |
5769 | |
5770 | /b\Z/ |
5771 | a\nb |
5772 | 0: b |
5773 | |
5774 | /b\z/ |
5775 | a\nb |
5776 | 0: b |
5777 | *** Failers |
5778 | No match |
5779 | |
5780 | /^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/ |
5781 | a |
5782 | 0: a |
5783 | 1: |
5784 | abc |
5785 | 0: abc |
5786 | 1: |
5787 | a-b |
5788 | 0: a-b |
5789 | 1: |
5790 | 0-9 |
5791 | 0: 0-9 |
5792 | 1: |
5793 | a.b |
5794 | 0: a.b |
5795 | 1: |
5796 | 5.6.7 |
5797 | 0: 5.6.7 |
5798 | 1: |
5799 | the.quick.brown.fox |
5800 | 0: the.quick.brown.fox |
5801 | 1: |
5802 | a100.b200.300c |
5803 | 0: a100.b200.300c |
5804 | 1: |
5805 | 12-ab.1245 |
5806 | 0: 12-ab.1245 |
5807 | 1: |
5808 | *** Failers |
5809 | No match |
5810 | \ |
5811 | No match |
5812 | .a |
5813 | No match |
5814 | -a |
5815 | No match |
5816 | a- |
5817 | No match |
5818 | a. |
5819 | No match |
5820 | a_b |
5821 | No match |
5822 | a.- |
5823 | No match |
5824 | a.. |
5825 | No match |
5826 | ab..bc |
5827 | No match |
5828 | the.quick.brown.fox- |
5829 | No match |
5830 | the.quick.brown.fox. |
5831 | No match |
5832 | the.quick.brown.fox_ |
5833 | No match |
5834 | the.quick.brown.fox+ |
5835 | No match |
5836 | |
5837 | /(?>.*)(?<=(abcd|wxyz))/ |
5838 | alphabetabcd |
5839 | 0: alphabetabcd |
5840 | 1: abcd |
5841 | endingwxyz |
5842 | 0: endingwxyz |
5843 | 1: wxyz |
5844 | *** Failers |
5845 | No match |
5846 | a rather long string that doesn't end with one of them |
5847 | No match |
5848 | |
5849 | /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/ |
5850 | word cat dog elephant mussel cow horse canary baboon snake shark otherword |
5851 | 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword |
5852 | word cat dog elephant mussel cow horse canary baboon snake shark |
5853 | No match |
5854 | |
5855 | /word (?>[a-zA-Z0-9]+ ){0,30}otherword/ |
5856 | word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope |
5857 | No match |
5858 | |
5859 | /(?<=\d{3}(?!999))foo/ |
5860 | 999foo |
5861 | 0: foo |
5862 | 123999foo |
5863 | 0: foo |
5864 | *** Failers |
5865 | No match |
5866 | 123abcfoo |
5867 | No match |
5868 | |
5869 | /(?<=(?!...999)\d{3})foo/ |
5870 | 999foo |
5871 | 0: foo |
5872 | 123999foo |
5873 | 0: foo |
5874 | *** Failers |
5875 | No match |
5876 | 123abcfoo |
5877 | No match |
5878 | |
5879 | /(?<=\d{3}(?!999)...)foo/ |
5880 | 123abcfoo |
5881 | 0: foo |
5882 | 123456foo |
5883 | 0: foo |
5884 | *** Failers |
5885 | No match |
5886 | 123999foo |
5887 | No match |
5888 | |
5889 | /(?<=\d{3}...)(?<!999)foo/ |
5890 | 123abcfoo |
5891 | 0: foo |
5892 | 123456foo |
5893 | 0: foo |
5894 | *** Failers |
5895 | No match |
5896 | 123999foo |
5897 | No match |
5898 | |
5899 | /<a[\s]+href[\s]*=[\s]* # find <a href= |
5900 | ([\"\'])? # find single or double quote |
5901 | (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching |
5902 | # quote, otherwise match up to next space |
5903 | /isx |
5904 | <a href=abcd xyz |
5905 | 0: <a href=abcd |
5906 | 1: <unset> |
5907 | 2: <unset> |
5908 | 3: abcd |
5909 | <a href=\"abcd xyz pqr\" cats |
5910 | 0: <a href="abcd xyz pqr" |
5911 | 1: " |
5912 | 2: abcd xyz pqr |
5913 | <a href=\'abcd xyz pqr\' cats |
5914 | 0: <a href='abcd xyz pqr' |
5915 | 1: ' |
5916 | 2: abcd xyz pqr |
5917 | |
5918 | /<a\s+href\s*=\s* # find <a href= |
5919 | (["'])? # find single or double quote |
5920 | (?(1) (.*?)\1 | (\S+)) # if quote found, match up to next matching |
5921 | # quote, otherwise match up to next space |
5922 | /isx |
5923 | <a href=abcd xyz |
5924 | 0: <a href=abcd |
5925 | 1: <unset> |
5926 | 2: <unset> |
5927 | 3: abcd |
5928 | <a href=\"abcd xyz pqr\" cats |
5929 | 0: <a href="abcd xyz pqr" |
5930 | 1: " |
5931 | 2: abcd xyz pqr |
5932 | <a href = \'abcd xyz pqr\' cats |
5933 | 0: <a href = 'abcd xyz pqr' |
5934 | 1: ' |
5935 | 2: abcd xyz pqr |
5936 | |
5937 | /<a\s+href(?>\s*)=(?>\s*) # find <a href= |
5938 | (["'])? # find single or double quote |
5939 | (?(1) (.*?)\1 | (\S+)) # if quote found, match up to next matching |
5940 | # quote, otherwise match up to next space |
5941 | /isx |
5942 | <a href=abcd xyz |
5943 | 0: <a href=abcd |
5944 | 1: <unset> |
5945 | 2: <unset> |
5946 | 3: abcd |
5947 | <a href=\"abcd xyz pqr\" cats |
5948 | 0: <a href="abcd xyz pqr" |
5949 | 1: " |
5950 | 2: abcd xyz pqr |
5951 | <a href = \'abcd xyz pqr\' cats |
5952 | 0: <a href = 'abcd xyz pqr' |
5953 | 1: ' |
5954 | 2: abcd xyz pqr |
5955 | |
5956 | /((Z)+|A)*/ |
5957 | ZABCDEFG |
5958 | 0: ZA |
5959 | 1: A |
5960 | 2: Z |
5961 | |
5962 | /(Z()|A)*/ |
5963 | ZABCDEFG |
5964 | 0: ZA |
5965 | 1: A |
5966 | 2: |
5967 | |
5968 | /(Z(())|A)*/ |
5969 | ZABCDEFG |
5970 | 0: ZA |
5971 | 1: A |
5972 | 2: |
5973 | 3: |
5974 | |
5975 | /((?>Z)+|A)*/ |
5976 | ZABCDEFG |
5977 | 0: ZA |
5978 | 1: A |
5979 | |
5980 | /((?>)+|A)*/ |
5981 | ZABCDEFG |
5982 | 0: |
5983 | 1: |
5984 | |
5985 | /a*/g |
5986 | abbab |
5987 | 0: a |
5988 | 0: |
5989 | 0: |
5990 | 0: a |
5991 | 0: |
5992 | 0: |
5993 | |
5994 | /^[\d-a]/ |
5995 | abcde |
5996 | 0: a |
5997 | -things |
5998 | 0: - |
5999 | 0digit |
6000 | 0: 0 |
6001 | *** Failers |
6002 | No match |
6003 | bcdef |
6004 | No match |
6005 | |
6006 | /[[:space:]]+/ |
6007 | > \x09\x0a\x0c\x0d\x0b< |
6008 | 0: \x09\x0a\x0c\x0d\x0b |
6009 | |
6010 | /[[:blank:]]+/ |
6011 | > \x09\x0a\x0c\x0d\x0b< |
6012 | 0: \x09 |
6013 | |
6014 | /[\s]+/ |
6015 | > \x09\x0a\x0c\x0d\x0b< |
6016 | 0: \x09\x0a\x0c\x0d\x0b |
6017 | |
6018 | /\s+/ |
6019 | > \x09\x0a\x0c\x0d\x0b< |
6020 | 0: \x09\x0a\x0c\x0d\x0b |
6021 | |
6022 | /ab/x |
6023 | ab |
6024 | 0: ab |
6025 | |
6026 | /(?!\A)x/m |
6027 | a\nxb\n |
6028 | 0: x |
6029 | |
6030 | /(?!^)x/m |
6031 | a\nxb\n |
6032 | No match |
6033 | |
6034 | /abc\Qabc\Eabc/ |
6035 | abcabcabc |
6036 | 0: abcabcabc |
6037 | |
6038 | /abc\Q(*+|\Eabc/ |
6039 | abc(*+|abc |
6040 | 0: abc(*+|abc |
6041 | |
6042 | / abc\Q abc\Eabc/x |
6043 | abc abcabc |
6044 | 0: abc abcabc |
6045 | *** Failers |
6046 | No match |
6047 | abcabcabc |
6048 | No match |
6049 | |
6050 | /abc#comment |
6051 | \Q#not comment |
6052 | literal\E/x |
6053 | abc#not comment\n literal |
6054 | 0: abc#not comment\x0a literal |
6055 | |
6056 | /abc#comment |
6057 | \Q#not comment |
6058 | literal/x |
6059 | abc#not comment\n literal |
6060 | 0: abc#not comment\x0a literal |
6061 | |
6062 | /abc#comment |
6063 | \Q#not comment |
6064 | literal\E #more comment |
6065 | /x |
6066 | abc#not comment\n literal |
6067 | 0: abc#not comment\x0a literal |
6068 | |
6069 | /abc#comment |
6070 | \Q#not comment |
6071 | literal\E #more comment/x |
6072 | abc#not comment\n literal |
6073 | 0: abc#not comment\x0a literal |
6074 | |
6075 | /\Qabc\$xyz\E/ |
6076 | abc\\\$xyz |
6077 | 0: abc\$xyz |
6078 | |
6079 | /\Qabc\E\$\Qxyz\E/ |
6080 | abc\$xyz |
6081 | 0: abc$xyz |
6082 | |
6083 | /\Gabc/ |
6084 | abc |
6085 | 0: abc |
6086 | *** Failers |
6087 | No match |
6088 | xyzabc |
6089 | No match |
6090 | |
6091 | /\Gabc./g |
6092 | abc1abc2xyzabc3 |
6093 | 0: abc1 |
6094 | 0: abc2 |
6095 | |
6096 | /abc./g |
6097 | abc1abc2xyzabc3 |
6098 | 0: abc1 |
6099 | 0: abc2 |
6100 | 0: abc3 |
6101 | |
6102 | /a(?x: b c )d/ |
6103 | XabcdY |
6104 | 0: abcd |
6105 | *** Failers |
6106 | No match |
6107 | Xa b c d Y |
6108 | No match |
6109 | |
6110 | /((?x)x y z | a b c)/ |
6111 | XabcY |
6112 | 0: abc |
6113 | 1: abc |
6114 | AxyzB |
6115 | 0: xyz |
6116 | 1: xyz |
6117 | |
6118 | /(?i)AB(?-i)C/ |
6119 | XabCY |
6120 | 0: abC |
6121 | *** Failers |
6122 | No match |
6123 | XabcY |
6124 | No match |
6125 | |
6126 | /((?i)AB(?-i)C|D)E/ |
6127 | abCE |
6128 | 0: abCE |
6129 | 1: abC |
6130 | DE |
6131 | 0: DE |
6132 | 1: D |
6133 | *** Failers |
6134 | No match |
6135 | abcE |
6136 | No match |
6137 | abCe |
6138 | No match |
6139 | dE |
6140 | No match |
6141 | De |
6142 | No match |
6143 | |
6144 | /(.*)\d+\1/ |
6145 | abc123abc |
6146 | 0: abc123abc |
6147 | 1: abc |
6148 | abc123bc |
6149 | 0: bc123bc |
6150 | 1: bc |
6151 | |
6152 | /(.*)\d+\1/s |
6153 | abc123abc |
6154 | 0: abc123abc |
6155 | 1: abc |
6156 | abc123bc |
6157 | 0: bc123bc |
6158 | 1: bc |
6159 | |
6160 | /((.*))\d+\1/ |
6161 | abc123abc |
6162 | 0: abc123abc |
6163 | 1: abc |
6164 | 2: abc |
6165 | abc123bc |
6166 | 0: bc123bc |
6167 | 1: bc |
6168 | 2: bc |
6169 | |
6170 | /-- This tests for an IPv6 address in the form where it can have up to |
6171 | eight components, one and only one of which is empty. This must be |
6172 | an internal component. --/ |
6173 | |
6174 | /^(?!:) # colon disallowed at start |
6175 | (?: # start of item |
6176 | (?: [0-9a-f]{1,4} | # 1-4 hex digits or |
6177 | (?(1)0 | () ) ) # if null previously matched, fail; else null |
6178 | : # followed by colon |
6179 | ){1,7} # end item; 1-7 of them required |
6180 | [0-9a-f]{1,4} $ # final hex number at end of string |
6181 | (?(1)|.) # check that there was an empty component |
6182 | /xi |
6183 | a123::a123 |
6184 | 0: a123::a123 |
6185 | 1: |
6186 | a123:b342::abcd |
6187 | 0: a123:b342::abcd |
6188 | 1: |
6189 | a123:b342::324e:abcd |
6190 | 0: a123:b342::324e:abcd |
6191 | 1: |
6192 | a123:ddde:b342::324e:abcd |
6193 | 0: a123:ddde:b342::324e:abcd |
6194 | 1: |
6195 | a123:ddde:b342::324e:dcba:abcd |
6196 | 0: a123:ddde:b342::324e:dcba:abcd |
6197 | 1: |
6198 | a123:ddde:9999:b342::324e:dcba:abcd |
6199 | 0: a123:ddde:9999:b342::324e:dcba:abcd |
6200 | 1: |
6201 | *** Failers |
6202 | No match |
6203 | 1:2:3:4:5:6:7:8 |
6204 | No match |
6205 | a123:bce:ddde:9999:b342::324e:dcba:abcd |
6206 | No match |
6207 | a123::9999:b342::324e:dcba:abcd |
6208 | No match |
6209 | abcde:2:3:4:5:6:7:8 |
6210 | No match |
6211 | ::1 |
6212 | No match |
6213 | abcd:fee0:123:: |
6214 | No match |
6215 | :1 |
6216 | No match |
6217 | 1: |
6218 | No match |
6219 | |
6220 | /[z\Qa-d]\E]/ |
6221 | z |
6222 | 0: z |
6223 | a |
6224 | 0: a |
6225 | - |
6226 | 0: - |
6227 | d |
6228 | 0: d |
6229 | ] |
6230 | 0: ] |
6231 | *** Failers |
6232 | 0: a |
6233 | b |
6234 | No match |
6235 | |
6236 | /[\z\C]/ |
6237 | z |
6238 | 0: z |
6239 | C |
6240 | 0: C |
6241 | |
6242 | /\M/ |
6243 | M |
6244 | 0: M |
6245 | |
6246 | /(a+)*b/ |
6247 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
6248 | No match |
6249 | |
6250 | /(?i)reg(?:ul(?:[a]|ae)r|ex)/ |
6251 | REGular |
6252 | 0: REGular |
6253 | regulaer |
6254 | 0: regulaer |
6255 | Regex |
6256 | 0: Regex |
6257 | regulr |
6258 | 0: regul\xe4r |
6259 | |
6260 | /[--]+/ |
6261 | |
6262 | 0: \xc5\xe6\xe5\xe4\xe0 |
6263 | |
6264 | 0: \xc5\xe6\xe5\xe4\xff |
6265 | |
6266 | 0: \xc5\xe6\xe5\xe4\xc0 |
6267 | |
6268 | 0: \xc5\xe6\xe5\xe4\xdf |
6269 | |
6270 | /(?<=Z)X./ |
6271 | \x84XAZXB |
6272 | 0: XB |
6273 | |
6274 | /ab cd (?x) de fg/ |
6275 | ab cd defg |
6276 | 0: ab cd defg |
6277 | |
6278 | /ab cd(?x) de fg/ |
6279 | ab cddefg |
6280 | 0: ab cddefg |
6281 | ** Failers |
6282 | No match |
6283 | abcddefg |
6284 | No match |
6285 | |
6286 | /(?<![^f]oo)(bar)/ |
6287 | foobarX |
6288 | 0: bar |
6289 | 1: bar |
6290 | ** Failers |
6291 | No match |
6292 | boobarX |
6293 | No match |
6294 | |
6295 | /(?<![^f])X/ |
6296 | offX |
6297 | 0: X |
6298 | ** Failers |
6299 | No match |
6300 | onyX |
6301 | No match |
6302 | |
6303 | /(?<=[^f])X/ |
6304 | onyX |
6305 | 0: X |
6306 | ** Failers |
6307 | No match |
6308 | offX |
6309 | No match |
6310 | |
6311 | /^/mg |
6312 | a\nb\nc\n |
6313 | 0: |
6314 | 0: |
6315 | 0: |
6316 | \ |
6317 | 0: |
6318 | |
6319 | /(?<=C\n)^/mg |
6320 | A\nC\nC\n |
6321 | 0: |
6322 | |
6323 | /(?:(?(1)a|b)(X))+/ |
6324 | bXaX |
6325 | 0: bXaX |
6326 | 1: X |
6327 | |
6328 | /(?:(?(1)\1a|b)(X|Y))+/ |
6329 | bXXaYYaY |
6330 | 0: bXXaYYaY |
6331 | 1: Y |
6332 | bXYaXXaX |
6333 | 0: bX |
6334 | 1: X |
6335 | |
6336 | /()()()()()()()()()(?:(?(10)\10a|b)(X|Y))+/ |
6337 | bXXaYYaY |
6338 | 0: bX |
6339 | 1: |
6340 | 2: |
6341 | 3: |
6342 | 4: |
6343 | 5: |
6344 | 6: |
6345 | 7: |
6346 | 8: |
6347 | 9: |
6348 | 10: X |
6349 | |
6350 | /[[,abc,]+]/ |
6351 | abc] |
6352 | 0: abc] |
6353 | a,b] |
6354 | 0: a,b] |
6355 | [a,b,c] |
6356 | 0: [a,b,c] |
6357 | |
6358 | /(?-x: )/x |
6359 | A\x20B |
6360 | 0: |
6361 | |
6362 | "(?x)(?-x: \s*#\s*)" |
6363 | A # B |
6364 | 0: # |
6365 | ** Failers |
6366 | No match |
6367 | # |
6368 | No match |
6369 | |
6370 | "(?x-is)(?:(?-ixs) \s*#\s*) include" |
6371 | A #include |
6372 | 0: #include |
6373 | ** Failers |
6374 | No match |
6375 | A#include |
6376 | No match |
6377 | A #Include |
6378 | No match |
6379 | |
6380 | /a*b*\w/ |
6381 | aaabbbb |
6382 | 0: aaabbbb |
6383 | aaaa |
6384 | 0: aaaa |
6385 | a |
6386 | 0: a |
6387 | |
6388 | /a*b?\w/ |
6389 | aaabbbb |
6390 | 0: aaabb |
6391 | aaaa |
6392 | 0: aaaa |
6393 | a |
6394 | 0: a |
6395 | |
6396 | /a*b{0,4}\w/ |
6397 | aaabbbb |
6398 | 0: aaabbbb |
6399 | aaaa |
6400 | 0: aaaa |
6401 | a |
6402 | 0: a |
6403 | |
6404 | /a*b{0,}\w/ |
6405 | aaabbbb |
6406 | 0: aaabbbb |
6407 | aaaa |
6408 | 0: aaaa |
6409 | a |
6410 | 0: a |
6411 | |
6412 | /a*\d*\w/ |
6413 | 0a |
6414 | 0: 0a |
6415 | a |
6416 | 0: a |
6417 | |
6418 | /a*b *\w/x |
6419 | a |
6420 | 0: a |
6421 | |
6422 | /a*b#comment |
6423 | *\w/x |
6424 | a |
6425 | 0: a |
6426 | |
6427 | /a* b *\w/x |
6428 | a |
6429 | 0: a |
6430 | |
6431 | /^\w+=.*(\\\n.*)*/ |
6432 | abc=xyz\\\npqr |
6433 | 0: abc=xyz\ |
6434 | |
6435 | /(?=(\w+))\1:/ |
6436 | abcd: |
6437 | 0: abcd: |
6438 | 1: abcd |
6439 | |
6440 | /^(?=(\w+))\1:/ |
6441 | abcd: |
6442 | 0: abcd: |
6443 | 1: abcd |
6444 | |
6445 | /^\Eabc/ |
6446 | abc |
6447 | 0: abc |
6448 | |
6449 | /^[\Eabc]/ |
6450 | a |
6451 | 0: a |
6452 | ** Failers |
6453 | No match |
6454 | E |
6455 | No match |
6456 | |
6457 | /^[a-\Ec]/ |
6458 | b |
6459 | 0: b |
6460 | ** Failers |
6461 | No match |
6462 | - |
6463 | No match |
6464 | E |
6465 | No match |
6466 | |
6467 | /^[a\E\E-\Ec]/ |
6468 | b |
6469 | 0: b |
6470 | ** Failers |
6471 | No match |
6472 | - |
6473 | No match |
6474 | E |
6475 | No match |
6476 | |
6477 | /^[\E\Qa\E-\Qz\E]+/ |
6478 | b |
6479 | 0: b |
6480 | ** Failers |
6481 | No match |
6482 | - |
6483 | No match |
6484 | |
6485 | /^[a\Q]bc\E]/ |
6486 | a |
6487 | 0: a |
6488 | ] |
6489 | 0: ] |
6490 | c |
6491 | 0: c |
6492 | |
6493 | /^[a-\Q\E]/ |
6494 | a |
6495 | 0: a |
6496 | - |
6497 | 0: - |
6498 | |
6499 | /^(a()*)*/ |
6500 | aaaa |
6501 | 0: aaaa |
6502 | 1: a |
6503 | 2: |
6504 | |
6505 | /^(?:a(?:(?:))*)*/ |
6506 | aaaa |
6507 | 0: aaaa |
6508 | |
6509 | /^(a()+)+/ |
6510 | aaaa |
6511 | 0: aaaa |
6512 | 1: a |
6513 | 2: |
6514 | |
6515 | /^(?:a(?:(?:))+)+/ |
6516 | aaaa |
6517 | 0: aaaa |
6518 | |
6519 | /(a){0,3}(?(1)b|(c|))*D/ |
6520 | abbD |
6521 | 0: abbD |
6522 | 1: a |
6523 | ccccD |
6524 | 0: ccccD |
6525 | 1: <unset> |
6526 | 2: |
6527 | D |
6528 | 0: D |
6529 | 1: <unset> |
6530 | 2: |
6531 | |
6532 | /(a|)*\d/ |
6533 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
6534 | No match |
6535 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
6536 | 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
6537 | 1: |
6538 | |
6539 | /(?>a|)*\d/ |
6540 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
6541 | No match |
6542 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
6543 | 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
6544 | |
6545 | /(?:a|)*\d/ |
6546 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
6547 | No match |
6548 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
6549 | 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 |
6550 | |
6551 | /\Z/g |
6552 | abc\n |
6553 | 0: |
6554 | 0: |
6555 | |
6556 | /^(?s)(?>.*)(?<!\n)/ |
6557 | abc |
6558 | 0: abc |
6559 | abc\n |
6560 | No match |
6561 | |
6562 | /^(?![^\n]*\n\z)/ |
6563 | abc |
6564 | 0: |
6565 | abc\n |
6566 | No match |
6567 | |
6568 | /\z(?<!\n)/ |
6569 | abc |
6570 | 0: |
6571 | abc\n |
6572 | No match |
6573 | |
6574 | /(.*(.)?)*/ |
6575 | abcd |
6576 | 0: abcd |
6577 | 1: |
6578 | |
6579 | /( (A | (?(1)0|) )* )/x |
6580 | abcd |
6581 | 0: |
6582 | 1: |
6583 | 2: |
6584 | |
6585 | /( ( (?(1)0|) )* )/x |
6586 | abcd |
6587 | 0: |
6588 | 1: |
6589 | 2: |
6590 | |
6591 | /( (?(1)0|)* )/x |
6592 | abcd |
6593 | 0: |
6594 | 1: |
6595 | |
6596 | /[[:abcd:xyz]]/ |
6597 | a] |
6598 | 0: a] |
6599 | :] |
6600 | 0: :] |
6601 | |
6602 | /[abc[:x\]pqr]/ |
6603 | a |
6604 | 0: a |
6605 | [ |
6606 | 0: [ |
6607 | : |
6608 | 0: : |
6609 | ] |
6610 | 0: ] |
6611 | p |
6612 | 0: p |
6613 | |
6614 | /.*[op][xyz]/ |
6615 | fooabcfoo |
6616 | No match |
6617 | |
6618 | /(?(?=.*b)b|^)/ |
6619 | adc |
6620 | 0: |
6621 | abc |
6622 | 0: b |
6623 | |
6624 | /(?(?=^.*b)b|^)/ |
6625 | adc |
6626 | 0: |
6627 | abc |
6628 | No match |
6629 | |
6630 | /(?(?=.*b)b|^)*/ |
6631 | adc |
6632 | 0: |
6633 | abc |
6634 | 0: |
6635 | |
6636 | /(?(?=.*b)b|^)+/ |
6637 | adc |
6638 | 0: |
6639 | abc |
6640 | 0: b |
6641 | |
6642 | /(?(?=b).*b|^d)/ |
6643 | abc |
6644 | 0: b |
6645 | |
6646 | /(?(?=.*b).*b|^d)/ |
6647 | abc |
6648 | 0: ab |
6649 | |
6650 | /^%((?(?=[a])[^%])|b)*%$/ |
6651 | %ab% |
6652 | 0: %ab% |
6653 | 1: |
6654 | |
6655 | /(?i)a(?-i)b|c/ |
6656 | XabX |
6657 | 0: ab |
6658 | XAbX |
6659 | 0: Ab |
6660 | CcC |
6661 | 0: c |
6662 | ** Failers |
6663 | No match |
6664 | XABX |
6665 | No match |
6666 | |
6667 | /[\x00-\xff\s]+/ |
6668 | \x0a\x0b\x0c\x0d |
6669 | 0: \x0a\x0b\x0c\x0d |
6670 | |
6671 | /^\c/ |
6672 | ? |
6673 | 0: ? |
6674 | |
6675 | /(abc)\1/i |
6676 | abc |
6677 | No match |
6678 | |
6679 | /(abc)\1/ |
6680 | abc |
6681 | No match |
6682 | |
6683 | /[^a]*/i |
6684 | 12abc |
6685 | 0: 12 |
6686 | 12ABC |
6687 | 0: 12 |
6688 | |
6689 | /[^a]*+/i |
6690 | 12abc |
6691 | 0: 12 |
6692 | 12ABC |
6693 | 0: 12 |
6694 | |
6695 | /[^a]*?X/i |
6696 | ** Failers |
6697 | No match |
6698 | 12abc |
6699 | No match |
6700 | 12ABC |
6701 | No match |
6702 | |
6703 | /[^a]+?X/i |
6704 | ** Failers |
6705 | No match |
6706 | 12abc |
6707 | No match |
6708 | 12ABC |
6709 | No match |
6710 | |
6711 | /[^a]?X/i |
6712 | 12aXbcX |
6713 | 0: X |
6714 | 12AXBCX |
6715 | 0: X |
6716 | BCX |
6717 | 0: CX |
6718 | |
6719 | /[^a]??X/i |
6720 | 12aXbcX |
6721 | 0: X |
6722 | 12AXBCX |
6723 | 0: X |
6724 | BCX |
6725 | 0: CX |
6726 | |
6727 | /[^a]?+X/i |
6728 | 12aXbcX |
6729 | 0: cX |
6730 | 12AXBCX |
6731 | 0: CX |
6732 | BCX |
6733 | 0: CX |
6734 | |
6735 | /[^a]{2,3}/i |
6736 | abcdef |
6737 | 0: bcd |
6738 | ABCDEF |
6739 | 0: BCD |
6740 | |
6741 | /[^a]{2,3}?/i |
6742 | abcdef |
6743 | 0: bc |
6744 | ABCDEF |
6745 | 0: BC |
6746 | |
6747 | /[^a]{2,3}+/i |
6748 | abcdef |
6749 | 0: bcd |
6750 | ABCDEF |
6751 | 0: BCD |
6752 | |
6753 | /((a|)+)+Z/ |
6754 | Z |
6755 | 0: Z |
6756 | 1: |
6757 | 2: |
6758 | |
6759 | /(a)b|(a)c/ |
6760 | ac |
6761 | 0: ac |
6762 | 1: <unset> |
6763 | 2: a |
6764 | |
6765 | /(?>(a))b|(a)c/ |
6766 | ac |
6767 | 0: ac |
6768 | 1: <unset> |
6769 | 2: a |
6770 | |
6771 | /(?=(a))ab|(a)c/ |
6772 | ac |
6773 | 0: ac |
6774 | 1: <unset> |
6775 | 2: a |
6776 | |
6777 | /((?>(a))b|(a)c)/ |
6778 | ac |
6779 | 0: ac |
6780 | 1: ac |
6781 | 2: <unset> |
6782 | 3: a |
6783 | |
6784 | /((?>(a))b|(a)c)++/ |
6785 | ac |
6786 | 0: ac |
6787 | 1: ac |
6788 | 2: <unset> |
6789 | 3: a |
6790 | |
6791 | /(?:(?>(a))b|(a)c)++/ |
6792 | ac |
6793 | 0: ac |
6794 | 1: <unset> |
6795 | 2: a |
6796 | |
6797 | /(?=(?>(a))b|(a)c)(..)/ |
6798 | ac |
6799 | 0: ac |
6800 | 1: <unset> |
6801 | 2: a |
6802 | 3: ac |
6803 | |
6804 | /(?>(?>(a))b|(a)c)/ |
6805 | ac |
6806 | 0: ac |
6807 | 1: <unset> |
6808 | 2: a |
6809 | |
6810 | /(?:(?>([ab])))+a=/+ |
6811 | =ba= |
6812 | 0: ba= |
6813 | 0+ |
6814 | 1: b |
6815 | |
6816 | /(?>([ab]))+a=/+ |
6817 | =ba= |
6818 | 0: ba= |
6819 | 0+ |
6820 | 1: b |
6821 | |
6822 | /((?>(a+)b)+(aabab))/ |
6823 | aaaabaaabaabab |
6824 | 0: aaaabaaabaabab |
6825 | 1: aaaabaaabaabab |
6826 | 2: aaa |
6827 | 3: aabab |
6828 | |
6829 | /(?>a+|ab)+?c/ |
6830 | aabc |
6831 | No match |
6832 | |
6833 | /(?>a+|ab)+c/ |
6834 | aabc |
6835 | No match |
6836 | |
6837 | /(?:a+|ab)+c/ |
6838 | aabc |
6839 | 0: aabc |
6840 | |
6841 | /(?(?=(a))a)/ |
6842 | a |
6843 | 0: a |
6844 | 1: a |
6845 | |
6846 | /(?(?=(a))a)(b)/ |
6847 | ab |
6848 | 0: ab |
6849 | 1: a |
6850 | 2: b |
6851 | |
6852 | /^(?:a|ab)++c/ |
6853 | aaaabc |
6854 | No match |
6855 | |
6856 | /^(?>a|ab)++c/ |
6857 | aaaabc |
6858 | No match |
6859 | |
6860 | /^(?:a|ab)+c/ |
6861 | aaaabc |
6862 | 0: aaaabc |
6863 | |
6864 | /(?=abc){3}abc/+ |
6865 | abcabcabc |
6866 | 0: abc |
6867 | 0+ abcabc |
6868 | ** Failers |
6869 | No match |
6870 | xyz |
6871 | No match |
6872 | |
6873 | /(?=abc)+abc/+ |
6874 | abcabcabc |
6875 | 0: abc |
6876 | 0+ abcabc |
6877 | ** Failers |
6878 | No match |
6879 | xyz |
6880 | No match |
6881 | |
6882 | /(?=abc)++abc/+ |
6883 | abcabcabc |
6884 | 0: abc |
6885 | 0+ abcabc |
6886 | ** Failers |
6887 | No match |
6888 | xyz |
6889 | No match |
6890 | |
6891 | /(?=abc){0}xyz/ |
6892 | xyz |
6893 | 0: xyz |
6894 | |
6895 | /(?=abc){1}xyz/ |
6896 | ** Failers |
6897 | No match |
6898 | xyz |
6899 | No match |
6900 | |
6901 | /(?=(a))?./ |
6902 | ab |
6903 | 0: a |
6904 | 1: a |
6905 | bc |
6906 | 0: b |
6907 | |
6908 | /(?=(a))??./ |
6909 | ab |
6910 | 0: a |
6911 | bc |
6912 | 0: b |
6913 | |
6914 | /^(?=(?1))?[az]([abc])d/ |
6915 | abd |
6916 | 0: abd |
6917 | 1: b |
6918 | zcdxx |
6919 | 0: zcd |
6920 | 1: c |
6921 | |
6922 | /^(?!a){0}\w+/ |
6923 | aaaaa |
6924 | 0: aaaaa |
6925 | |
6926 | /(?<=(abc))?xyz/ |
6927 | abcxyz |
6928 | 0: xyz |
6929 | 1: abc |
6930 | pqrxyz |
6931 | 0: xyz |
6932 | |
6933 | /^[\g<a>]+/ |
6934 | ggg<<<aaa>>> |
6935 | 0: ggg<<<aaa>>> |
6936 | ** Failers |
6937 | No match |
6938 | \\ga |
6939 | No match |
6940 | |
6941 | /^[\ga]+/ |
6942 | gggagagaxyz |
6943 | 0: gggagaga |
6944 | |
6945 | /^[:a[:digit:]]+/ |
6946 | aaaa444:::Z |
6947 | 0: aaaa444::: |
6948 | |
6949 | /^[:a[:digit:]:b]+/ |
6950 | aaaa444:::bbbZ |
6951 | 0: aaaa444:::bbb |
6952 | |
6953 | /[:a]xxx[b:]/ |
6954 | :xxx: |
6955 | 0: :xxx: |
6956 | |
6957 | /(?<=a{2})b/i |
6958 | xaabc |
6959 | 0: b |
6960 | ** Failers |
6961 | No match |
6962 | xabc |
6963 | No match |
6964 | |
6965 | /(?<!a{2})b/i |
6966 | xabc |
6967 | 0: b |
6968 | ** Failers |
6969 | No match |
6970 | xaabc |
6971 | No match |
6972 | |
6973 | /(?<=a\h)c/ |
6974 | xa c |
6975 | 0: c |
6976 | |
6977 | /(?<=[^a]{2})b/ |
6978 | axxbc |
6979 | 0: b |
6980 | aAAbc |
6981 | 0: b |
6982 | ** Failers |
6983 | No match |
6984 | xaabc |
6985 | No match |
6986 | |
6987 | /(?<=[^a]{2})b/i |
6988 | axxbc |
6989 | 0: b |
6990 | ** Failers |
6991 | No match |
6992 | aAAbc |
6993 | No match |
6994 | xaabc |
6995 | No match |
6996 | |
6997 | /(?<=a\H)c/ |
6998 | abc |
6999 | 0: c |
7000 | |
7001 | /(?<=a\V)c/ |
7002 | abc |
7003 | 0: c |
7004 | |
7005 | /(?<=a\v)c/ |
7006 | a\nc |
7007 | 0: c |
7008 | |
7009 | /(?(?=c)c|d)++Y/ |
7010 | XcccddYX |
7011 | 0: cccddY |
7012 | |
7013 | /(?(?=c)c|d)*+Y/ |
7014 | XcccddYX |
7015 | 0: cccddY |
7016 | |
7017 | /^(a{2,3}){2,}+a/ |
7018 | aaaaaaa |
7019 | 0: aaaaaaa |
7020 | 1: aaa |
7021 | ** Failers |
7022 | No match |
7023 | aaaaaa |
7024 | No match |
7025 | aaaaaaaaa |
7026 | No match |
7027 | |
7028 | /^(a{2,3})++a/ |
7029 | ** Failers |
7030 | No match |
7031 | aaaaaa |
7032 | No match |
7033 | |
7034 | /^(a{2,3})*+a/ |
7035 | ** Failers |
7036 | No match |
7037 | aaaaaa |
7038 | No match |
7039 | |
7040 | /ab\Cde/ |
7041 | abXde |
7042 | 0: abXde |
7043 | |
7044 | /(?<=ab\Cde)X/ |
7045 | abZdeX |
7046 | 0: X |
7047 | |
7048 | /a[\CD]b/ |
7049 | aCb |
7050 | 0: aCb |
7051 | aDb |
7052 | 0: aDb |
7053 | |
7054 | /a[\C-X]b/ |
7055 | aJb |
7056 | 0: aJb |
7057 | |
7058 | /\H\h\V\v/ |
7059 | X X\x0a |
7060 | 0: X X\x0a |
7061 | X\x09X\x0b |
7062 | 0: X\x09X\x0b |
7063 | ** Failers |
7064 | No match |
7065 | \xa0 X\x0a |
7066 | No match |
7067 | |
7068 | /\H*\h+\V?\v{3,4}/ |
7069 | \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a |
7070 | 0: \x09 \xa0X\x0a\x0b\x0c\x0d |
7071 | \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a |
7072 | 0: \x09 \xa0\x0a\x0b\x0c\x0d |
7073 | \x09\x20\xa0\x0a\x0b\x0c |
7074 | 0: \x09 \xa0\x0a\x0b\x0c |
7075 | ** Failers |
7076 | No match |
7077 | \x09\x20\xa0\x0a\x0b |
7078 | No match |
7079 | |
7080 | /\H{3,4}/ |
7081 | XY ABCDE |
7082 | 0: ABCD |
7083 | XY PQR ST |
7084 | 0: PQR |
7085 | |
7086 | /.\h{3,4}./ |
7087 | XY AB PQRS |
7088 | 0: B P |
7089 | |
7090 | /\h*X\h?\H+Y\H?Z/ |
7091 | >XNNNYZ |
7092 | 0: XNNNYZ |
7093 | > X NYQZ |
7094 | 0: X NYQZ |
7095 | ** Failers |
7096 | No match |
7097 | >XYZ |
7098 | No match |
7099 | > X NY Z |
7100 | No match |
7101 | |
7102 | /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/ |
7103 | >XY\x0aZ\x0aA\x0bNN\x0c |
7104 | 0: XY\x0aZ\x0aA\x0bNN\x0c |
7105 | >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c |
7106 | 0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c |
7107 | |
7108 | /(foo)\Kbar/ |
7109 | foobar |
7110 | 0: bar |
7111 | 1: foo |
7112 | |
7113 | /(foo)(\Kbar|baz)/ |
7114 | foobar |
7115 | 0: bar |
7116 | 1: foo |
7117 | 2: bar |
7118 | foobaz |
7119 | 0: foobaz |
7120 | 1: foo |
7121 | 2: baz |
7122 | |
7123 | /(foo\Kbar)baz/ |
7124 | foobarbaz |
7125 | 0: barbaz |
7126 | 1: foobar |
7127 | |
7128 | /abc\K|def\K/g+ |
7129 | Xabcdefghi |
7130 | 0: |
7131 | 0+ defghi |
7132 | 0: |
7133 | 0+ ghi |
7134 | |
7135 | /ab\Kc|de\Kf/g+ |
7136 | Xabcdefghi |
7137 | 0: c |
7138 | 0+ defghi |
7139 | 0: f |
7140 | 0+ ghi |
7141 | |
7142 | /(?=C)/g+ |
7143 | ABCDECBA |
7144 | 0: |
7145 | 0+ CDECBA |
7146 | 0: |
7147 | 0+ CBA |
7148 | |
7149 | /^abc\K/+ |
7150 | abcdef |
7151 | 0: |
7152 | 0+ def |
7153 | ** Failers |
7154 | No match |
7155 | defabcxyz |
7156 | No match |
7157 | |
7158 | /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/ |
7159 | ababababbbabZXXXX |
7160 | 0: ababababbbabZ |
7161 | 1: ab |
7162 | 2: b |
7163 | |
7164 | /(?<A>tom|bon)-\g{A}/ |
7165 | tom-tom |
7166 | 0: tom-tom |
7167 | 1: tom |
7168 | bon-bon |
7169 | 0: bon-bon |
7170 | 1: bon |
7171 | |
7172 | /(^(a|b\g{-1}))/ |
7173 | bacxxx |
7174 | No match |
7175 | |
7176 | /(?|(abc)|(xyz))\1/ |
7177 | abcabc |
7178 | 0: abcabc |
7179 | 1: abc |
7180 | xyzxyz |
7181 | 0: xyzxyz |
7182 | 1: xyz |
7183 | ** Failers |
7184 | No match |
7185 | abcxyz |
7186 | No match |
7187 | xyzabc |
7188 | No match |
7189 | |
7190 | /(?|(abc)|(xyz))(?1)/ |
7191 | abcabc |
7192 | 0: abcabc |
7193 | 1: abc |
7194 | xyzabc |
7195 | 0: xyzabc |
7196 | 1: xyz |
7197 | ** Failers |
7198 | No match |
7199 | xyzxyz |
7200 | No match |
7201 | |
7202 | /^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/ |
7203 | XYabcdY |
7204 | 0: XYabcdY |
7205 | 1: a |
7206 | 2: b |
7207 | 3: c |
7208 | 4: d |
7209 | 5: Y |
7210 | |
7211 | /^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/ |
7212 | XYabcdY |
7213 | 0: XYabcdY |
7214 | 1: a |
7215 | 2: b |
7216 | 3: <unset> |
7217 | 4: <unset> |
7218 | 5: c |
7219 | 6: d |
7220 | 7: Y |
7221 | |
7222 | /^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/ |
7223 | XYabcdY |
7224 | 0: XYabcdY |
7225 | 1: a |
7226 | 2: b |
7227 | 3: <unset> |
7228 | 4: <unset> |
7229 | 5: c |
7230 | 6: d |
7231 | 7: Y |
7232 | |
7233 | /(?'abc'\w+):\k<abc>{2}/ |
7234 | a:aaxyz |
7235 | 0: a:aa |
7236 | 1: a |
7237 | ab:ababxyz |
7238 | 0: ab:abab |
7239 | 1: ab |
7240 | ** Failers |
7241 | No match |
7242 | a:axyz |
7243 | No match |
7244 | ab:abxyz |
7245 | No match |
7246 | |
7247 | /(?'abc'\w+):\g{abc}{2}/ |
7248 | a:aaxyz |
7249 | 0: a:aa |
7250 | 1: a |
7251 | ab:ababxyz |
7252 | 0: ab:abab |
7253 | 1: ab |
7254 | ** Failers |
7255 | No match |
7256 | a:axyz |
7257 | No match |
7258 | ab:abxyz |
7259 | No match |
7260 | |
7261 | /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x |
7262 | abd |
7263 | 0: abd |
7264 | 1: a |
7265 | ce |
7266 | 0: ce |
7267 | |
7268 | /^(a.)\g-1Z/ |
7269 | aXaXZ |
7270 | 0: aXaXZ |
7271 | 1: aX |
7272 | |
7273 | /^(a.)\g{-1}Z/ |
7274 | aXaXZ |
7275 | 0: aXaXZ |
7276 | 1: aX |
7277 | |
7278 | /^(?(DEFINE) (?<A> a) (?<B> b) ) (?&A) (?&B) /x |
7279 | abcd |
7280 | 0: ab |
7281 | |
7282 | /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT)) |
7283 | (?(DEFINE) |
7284 | (?<NAME_PAT>[a-z]+) |
7285 | (?<ADDRESS_PAT>\d+) |
7286 | )/x |
7287 | metcalfe 33 |
7288 | 0: metcalfe 33 |
7289 | 1: metcalfe |
7290 | 2: 33 |
7291 | |
7292 | /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/ |
7293 | 1.2.3.4 |
7294 | 0: 1.2.3.4 |
7295 | 1: <unset> |
7296 | 2: .4 |
7297 | 131.111.10.206 |
7298 | 0: 131.111.10.206 |
7299 | 1: <unset> |
7300 | 2: .206 |
7301 | 10.0.0.0 |
7302 | 0: 10.0.0.0 |
7303 | 1: <unset> |
7304 | 2: .0 |
7305 | ** Failers |
7306 | No match |
7307 | 10.6 |
7308 | No match |
7309 | 455.3.4.5 |
7310 | No match |
7311 | |
7312 | /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/ |
7313 | 1.2.3.4 |
7314 | 0: 1.2.3.4 |
7315 | 1: .4 |
7316 | 131.111.10.206 |
7317 | 0: 131.111.10.206 |
7318 | 1: .206 |
7319 | 10.0.0.0 |
7320 | 0: 10.0.0.0 |
7321 | 1: .0 |
7322 | ** Failers |
7323 | No match |
7324 | 10.6 |
7325 | No match |
7326 | 455.3.4.5 |
7327 | No match |
7328 | |
7329 | /^(\w++|\s++)*$/ |
7330 | now is the time for all good men to come to the aid of the party |
7331 | 0: now is the time for all good men to come to the aid of the party |
7332 | 1: party |
7333 | *** Failers |
7334 | No match |
7335 | this is not a line with only words and spaces! |
7336 | No match |
7337 | |
7338 | /(\d++)(\w)/ |
7339 | 12345a |
7340 | 0: 12345a |
7341 | 1: 12345 |
7342 | 2: a |
7343 | *** Failers |
7344 | No match |
7345 | 12345+ |
7346 | No match |
7347 | |
7348 | /a++b/ |
7349 | aaab |
7350 | 0: aaab |
7351 | |
7352 | /(a++b)/ |
7353 | aaab |
7354 | 0: aaab |
7355 | 1: aaab |
7356 | |
7357 | /(a++)b/ |
7358 | aaab |
7359 | 0: aaab |
7360 | 1: aaa |
7361 | |
7362 | /([^()]++|\([^()]*\))+/ |
7363 | ((abc(ade)ufh()()x |
7364 | 0: abc(ade)ufh()()x |
7365 | 1: x |
7366 | |
7367 | /\(([^()]++|\([^()]+\))+\)/ |
7368 | (abc) |
7369 | 0: (abc) |
7370 | 1: abc |
7371 | (abc(def)xyz) |
7372 | 0: (abc(def)xyz) |
7373 | 1: xyz |
7374 | *** Failers |
7375 | No match |
7376 | ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
7377 | No match |
7378 | |
7379 | /^([^()]|\((?1)*\))*$/ |
7380 | abc |
7381 | 0: abc |
7382 | 1: c |
7383 | a(b)c |
7384 | 0: a(b)c |
7385 | 1: c |
7386 | a(b(c))d |
7387 | 0: a(b(c))d |
7388 | 1: d |
7389 | *** Failers) |
7390 | No match |
7391 | a(b(c)d |
7392 | No match |
7393 | |
7394 | /^>abc>([^()]|\((?1)*\))*<xyz<$/ |
7395 | >abc>123<xyz< |
7396 | 0: >abc>123<xyz< |
7397 | 1: 3 |
7398 | >abc>1(2)3<xyz< |
7399 | 0: >abc>1(2)3<xyz< |
7400 | 1: 3 |
7401 | >abc>(1(2)3)<xyz< |
7402 | 0: >abc>(1(2)3)<xyz< |
7403 | 1: (1(2)3) |
7404 | |
7405 | /^(?:((.)(?1)\2|)|((.)(?3)\4|.))$/i |
7406 | 1221 |
7407 | 0: 1221 |
7408 | 1: 1221 |
7409 | 2: 1 |
7410 | Satanoscillatemymetallicsonatas |
7411 | 0: Satanoscillatemymetallicsonatas |
7412 | 1: <unset> |
7413 | 2: <unset> |
7414 | 3: Satanoscillatemymetallicsonatas |
7415 | 4: S |
7416 | AmanaplanacanalPanama |
7417 | 0: AmanaplanacanalPanama |
7418 | 1: <unset> |
7419 | 2: <unset> |
7420 | 3: AmanaplanacanalPanama |
7421 | 4: A |
7422 | AblewasIereIsawElba |
7423 | 0: AblewasIereIsawElba |
7424 | 1: <unset> |
7425 | 2: <unset> |
7426 | 3: AblewasIereIsawElba |
7427 | 4: A |
7428 | *** Failers |
7429 | No match |
7430 | Thequickbrownfox |
7431 | No match |
7432 | |
7433 | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/ |
7434 | 12 |
7435 | 0: 12 |
7436 | 1: 12 |
7437 | (((2+2)*-3)-7) |
7438 | 0: (((2+2)*-3)-7) |
7439 | 1: (((2+2)*-3)-7) |
7440 | 2: - |
7441 | -12 |
7442 | 0: -12 |
7443 | 1: -12 |
7444 | *** Failers |
7445 | No match |
7446 | ((2+2)*-3)-7) |
7447 | No match |
7448 | |
7449 | /^(x(y|(?1){2})z)/ |
7450 | xyz |
7451 | 0: xyz |
7452 | 1: xyz |
7453 | 2: y |
7454 | xxyzxyzz |
7455 | 0: xxyzxyzz |
7456 | 1: xxyzxyzz |
7457 | 2: xyzxyz |
7458 | *** Failers |
7459 | No match |
7460 | xxyzz |
7461 | No match |
7462 | xxyzxyzxyzz |
7463 | No match |
7464 | |
7465 | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/x |
7466 | <> |
7467 | 0: <> |
7468 | 1: <> |
7469 | 2: <> |
7470 | <abcd> |
7471 | 0: <abcd> |
7472 | 1: <abcd> |
7473 | 2: <abcd> |
7474 | <abc <123> hij> |
7475 | 0: <abc <123> hij> |
7476 | 1: <abc <123> hij> |
7477 | 2: <abc <123> hij> |
7478 | <abc <def> hij> |
7479 | 0: <def> |
7480 | 1: <def> |
7481 | 2: <def> |
7482 | <abc<>def> |
7483 | 0: <abc<>def> |
7484 | 1: <abc<>def> |
7485 | 2: <abc<>def> |
7486 | <abc<> |
7487 | 0: <> |
7488 | 1: <> |
7489 | 2: <> |
7490 | *** Failers |
7491 | No match |
7492 | <abc |
7493 | No match |
7494 | |
7495 | /^a+(*FAIL)/ |
7496 | aaaaaa |
7497 | No match |
7498 | |
7499 | /a+b?c+(*FAIL)/ |
7500 | aaabccc |
7501 | No match |
7502 | |
7503 | /a+b?(*PRUNE)c+(*FAIL)/ |
7504 | aaabccc |
7505 | No match |
7506 | |
7507 | /a+b?(*COMMIT)c+(*FAIL)/ |
7508 | aaabccc |
7509 | No match |
7510 | |
7511 | /a+b?(*SKIP)c+(*FAIL)/ |
7512 | aaabcccaaabccc |
7513 | No match |
7514 | |
7515 | /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/ |
7516 | aaaxxxxxx |
7517 | 0: aaaxxxxxx |
7518 | aaa++++++ |
7519 | 0: aaa |
7520 | bbbxxxxx |
7521 | 0: bbbxxxxx |
7522 | bbb+++++ |
7523 | 0: bbb |
7524 | cccxxxx |
7525 | 0: cccxxxx |
7526 | ccc++++ |
7527 | 0: ccc |
7528 | dddddddd |
7529 |