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