1 |
/-- This set of tests is for features that are compatible with all versions of
|
2 |
Perl 5, in non-UTF-8 mode. --/
|
3 |
|
4 |
/the quick brown fox/
|
5 |
the quick brown fox
|
6 |
The quick brown FOX
|
7 |
What do you know about the quick brown fox?
|
8 |
What do you know about THE QUICK BROWN FOX?
|
9 |
|
10 |
/The quick brown fox/i
|
11 |
the quick brown fox
|
12 |
The quick brown FOX
|
13 |
What do you know about the quick brown fox?
|
14 |
What do you know about THE QUICK BROWN FOX?
|
15 |
|
16 |
/abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
|
17 |
abcd\t\n\r\f\a\e9;\$\\?caxyz
|
18 |
|
19 |
/a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
|
20 |
abxyzpqrrrabbxyyyypqAzz
|
21 |
abxyzpqrrrabbxyyyypqAzz
|
22 |
aabxyzpqrrrabbxyyyypqAzz
|
23 |
aaabxyzpqrrrabbxyyyypqAzz
|
24 |
aaaabxyzpqrrrabbxyyyypqAzz
|
25 |
abcxyzpqrrrabbxyyyypqAzz
|
26 |
aabcxyzpqrrrabbxyyyypqAzz
|
27 |
aaabcxyzpqrrrabbxyyyypAzz
|
28 |
aaabcxyzpqrrrabbxyyyypqAzz
|
29 |
aaabcxyzpqrrrabbxyyyypqqAzz
|
30 |
aaabcxyzpqrrrabbxyyyypqqqAzz
|
31 |
aaabcxyzpqrrrabbxyyyypqqqqAzz
|
32 |
aaabcxyzpqrrrabbxyyyypqqqqqAzz
|
33 |
aaabcxyzpqrrrabbxyyyypqqqqqqAzz
|
34 |
aaaabcxyzpqrrrabbxyyyypqAzz
|
35 |
abxyzzpqrrrabbxyyyypqAzz
|
36 |
aabxyzzzpqrrrabbxyyyypqAzz
|
37 |
aaabxyzzzzpqrrrabbxyyyypqAzz
|
38 |
aaaabxyzzzzpqrrrabbxyyyypqAzz
|
39 |
abcxyzzpqrrrabbxyyyypqAzz
|
40 |
aabcxyzzzpqrrrabbxyyyypqAzz
|
41 |
aaabcxyzzzzpqrrrabbxyyyypqAzz
|
42 |
aaaabcxyzzzzpqrrrabbxyyyypqAzz
|
43 |
aaaabcxyzzzzpqrrrabbbxyyyypqAzz
|
44 |
aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
|
45 |
aaabcxyzpqrrrabbxyyyypABzz
|
46 |
aaabcxyzpqrrrabbxyyyypABBzz
|
47 |
>>>aaabxyzpqrrrabbxyyyypqAzz
|
48 |
>aaaabxyzpqrrrabbxyyyypqAzz
|
49 |
>>>>abcxyzpqrrrabbxyyyypqAzz
|
50 |
*** Failers
|
51 |
abxyzpqrrabbxyyyypqAzz
|
52 |
abxyzpqrrrrabbxyyyypqAzz
|
53 |
abxyzpqrrrabxyyyypqAzz
|
54 |
aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
|
55 |
aaaabcxyzzzzpqrrrabbbxyyypqAzz
|
56 |
aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
|
57 |
|
58 |
/^(abc){1,2}zz/
|
59 |
abczz
|
60 |
abcabczz
|
61 |
*** Failers
|
62 |
zz
|
63 |
abcabcabczz
|
64 |
>>abczz
|
65 |
|
66 |
/^(b+?|a){1,2}?c/
|
67 |
bc
|
68 |
bbc
|
69 |
bbbc
|
70 |
bac
|
71 |
bbac
|
72 |
aac
|
73 |
abbbbbbbbbbbc
|
74 |
bbbbbbbbbbbac
|
75 |
*** Failers
|
76 |
aaac
|
77 |
abbbbbbbbbbbac
|
78 |
|
79 |
/^(b+|a){1,2}c/
|
80 |
bc
|
81 |
bbc
|
82 |
bbbc
|
83 |
bac
|
84 |
bbac
|
85 |
aac
|
86 |
abbbbbbbbbbbc
|
87 |
bbbbbbbbbbbac
|
88 |
*** Failers
|
89 |
aaac
|
90 |
abbbbbbbbbbbac
|
91 |
|
92 |
/^(b+|a){1,2}?bc/
|
93 |
bbc
|
94 |
|
95 |
/^(b*|ba){1,2}?bc/
|
96 |
babc
|
97 |
bbabc
|
98 |
bababc
|
99 |
*** Failers
|
100 |
bababbc
|
101 |
babababc
|
102 |
|
103 |
/^(ba|b*){1,2}?bc/
|
104 |
babc
|
105 |
bbabc
|
106 |
bababc
|
107 |
*** Failers
|
108 |
bababbc
|
109 |
babababc
|
110 |
|
111 |
/^\ca\cA\c[\c{\c:/
|
112 |
\x01\x01\e;z
|
113 |
|
114 |
/^[ab\]cde]/
|
115 |
athing
|
116 |
bthing
|
117 |
]thing
|
118 |
cthing
|
119 |
dthing
|
120 |
ething
|
121 |
*** Failers
|
122 |
fthing
|
123 |
[thing
|
124 |
\\thing
|
125 |
|
126 |
/^[]cde]/
|
127 |
]thing
|
128 |
cthing
|
129 |
dthing
|
130 |
ething
|
131 |
*** Failers
|
132 |
athing
|
133 |
fthing
|
134 |
|
135 |
/^[^ab\]cde]/
|
136 |
fthing
|
137 |
[thing
|
138 |
\\thing
|
139 |
*** Failers
|
140 |
athing
|
141 |
bthing
|
142 |
]thing
|
143 |
cthing
|
144 |
dthing
|
145 |
ething
|
146 |
|
147 |
/^[^]cde]/
|
148 |
athing
|
149 |
fthing
|
150 |
*** Failers
|
151 |
]thing
|
152 |
cthing
|
153 |
dthing
|
154 |
ething
|
155 |
|
156 |
/^\/
|
157 |
|
158 |
|
159 |
/^/
|
160 |
|
161 |
|
162 |
/^[0-9]+$/
|
163 |
0
|
164 |
1
|
165 |
2
|
166 |
3
|
167 |
4
|
168 |
5
|
169 |
6
|
170 |
7
|
171 |
8
|
172 |
9
|
173 |
10
|
174 |
100
|
175 |
*** Failers
|
176 |
abc
|
177 |
|
178 |
/^.*nter/
|
179 |
enter
|
180 |
inter
|
181 |
uponter
|
182 |
|
183 |
/^xxx[0-9]+$/
|
184 |
xxx0
|
185 |
xxx1234
|
186 |
*** Failers
|
187 |
xxx
|
188 |
|
189 |
/^.+[0-9][0-9][0-9]$/
|
190 |
x123
|
191 |
xx123
|
192 |
123456
|
193 |
*** Failers
|
194 |
123
|
195 |
x1234
|
196 |
|
197 |
/^.+?[0-9][0-9][0-9]$/
|
198 |
x123
|
199 |
xx123
|
200 |
123456
|
201 |
*** Failers
|
202 |
123
|
203 |
x1234
|
204 |
|
205 |
/^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
|
206 |
abc!pqr=apquxz.ixr.zzz.ac.uk
|
207 |
*** Failers
|
208 |
!pqr=apquxz.ixr.zzz.ac.uk
|
209 |
abc!=apquxz.ixr.zzz.ac.uk
|
210 |
abc!pqr=apquxz:ixr.zzz.ac.uk
|
211 |
abc!pqr=apquxz.ixr.zzz.ac.ukk
|
212 |
|
213 |
/:/
|
214 |
Well, we need a colon: somewhere
|
215 |
*** Fail if we don't
|
216 |
|
217 |
/([\da-f:]+)$/i
|
218 |
0abc
|
219 |
abc
|
220 |
fed
|
221 |
E
|
222 |
::
|
223 |
5f03:12C0::932e
|
224 |
fed def
|
225 |
Any old stuff
|
226 |
*** Failers
|
227 |
0zzz
|
228 |
gzzz
|
229 |
fed\x20
|
230 |
Any old rubbish
|
231 |
|
232 |
/^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
|
233 |
.1.2.3
|
234 |
A.12.123.0
|
235 |
*** Failers
|
236 |
.1.2.3333
|
237 |
1.2.3
|
238 |
1234.2.3
|
239 |
|
240 |
/^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
|
241 |
1 IN SOA non-sp1 non-sp2(
|
242 |
1 IN SOA non-sp1 non-sp2 (
|
243 |
*** Failers
|
244 |
1IN SOA non-sp1 non-sp2(
|
245 |
|
246 |
/^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
|
247 |
a.
|
248 |
Z.
|
249 |
2.
|
250 |
ab-c.pq-r.
|
251 |
sxk.zzz.ac.uk.
|
252 |
x-.y-.
|
253 |
*** Failers
|
254 |
-abc.peq.
|
255 |
|
256 |
/^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
|
257 |
*.a
|
258 |
*.b0-a
|
259 |
*.c3-b.c
|
260 |
*.c-a.b-c
|
261 |
*** Failers
|
262 |
*.0
|
263 |
*.a-
|
264 |
*.a-b.c-
|
265 |
*.c-a.0-c
|
266 |
|
267 |
/^(?=ab(de))(abd)(e)/
|
268 |
abde
|
269 |
|
270 |
/^(?!(ab)de|x)(abd)(f)/
|
271 |
abdf
|
272 |
|
273 |
/^(?=(ab(cd)))(ab)/
|
274 |
abcd
|
275 |
|
276 |
/^[\da-f](\.[\da-f])*$/i
|
277 |
a.b.c.d
|
278 |
A.B.C.D
|
279 |
a.b.c.1.2.3.C
|
280 |
|
281 |
/^\".*\"\s*(;.*)?$/
|
282 |
\"1234\"
|
283 |
\"abcd\" ;
|
284 |
\"\" ; rhubarb
|
285 |
*** Failers
|
286 |
\"1234\" : things
|
287 |
|
288 |
/^$/
|
289 |
\
|
290 |
*** Failers
|
291 |
|
292 |
/ ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x
|
293 |
ab c
|
294 |
*** Failers
|
295 |
abc
|
296 |
ab cde
|
297 |
|
298 |
/(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/
|
299 |
ab c
|
300 |
*** Failers
|
301 |
abc
|
302 |
ab cde
|
303 |
|
304 |
/^ a\ b[c ]d $/x
|
305 |
a bcd
|
306 |
a b d
|
307 |
*** Failers
|
308 |
abcd
|
309 |
ab d
|
310 |
|
311 |
/^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
|
312 |
abcdefhijklm
|
313 |
|
314 |
/^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
|
315 |
abcdefhijklm
|
316 |
|
317 |
/^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
|
318 |
a+ Z0+\x08\n\x1d\x12
|
319 |
|
320 |
/^[.^$|()*+?{,}]+/
|
321 |
.^\$(*+)|{?,?}
|
322 |
|
323 |
/^a*\w/
|
324 |
z
|
325 |
az
|
326 |
aaaz
|
327 |
a
|
328 |
aa
|
329 |
aaaa
|
330 |
a+
|
331 |
aa+
|
332 |
|
333 |
/^a*?\w/
|
334 |
z
|
335 |
az
|
336 |
aaaz
|
337 |
a
|
338 |
aa
|
339 |
aaaa
|
340 |
a+
|
341 |
aa+
|
342 |
|
343 |
/^a+\w/
|
344 |
az
|
345 |
aaaz
|
346 |
aa
|
347 |
aaaa
|
348 |
aa+
|
349 |
|
350 |
/^a+?\w/
|
351 |
az
|
352 |
aaaz
|
353 |
aa
|
354 |
aaaa
|
355 |
aa+
|
356 |
|
357 |
/^\d{8}\w{2,}/
|
358 |
1234567890
|
359 |
12345678ab
|
360 |
12345678__
|
361 |
*** Failers
|
362 |
1234567
|
363 |
|
364 |
/^[aeiou\d]{4,5}$/
|
365 |
uoie
|
366 |
1234
|
367 |
12345
|
368 |
aaaaa
|
369 |
*** Failers
|
370 |
123456
|
371 |
|
372 |
/^[aeiou\d]{4,5}?/
|
373 |
uoie
|
374 |
1234
|
375 |
12345
|
376 |
aaaaa
|
377 |
123456
|
378 |
|
379 |
/\A(abc|def)=(\1){2,3}\Z/
|
380 |
abc=abcabc
|
381 |
def=defdefdef
|
382 |
*** Failers
|
383 |
abc=defdef
|
384 |
|
385 |
/^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\11*(\3\4)\1(?#)2$/
|
386 |
abcdefghijkcda2
|
387 |
abcdefghijkkkkcda2
|
388 |
|
389 |
/(cat(a(ract|tonic)|erpillar)) \1()2(3)/
|
390 |
cataract cataract23
|
391 |
catatonic catatonic23
|
392 |
caterpillar caterpillar23
|
393 |
|
394 |
|
395 |
/^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]/
|
396 |
From abcd Mon Sep 01 12:33:02 1997
|
397 |
|
398 |
/^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
|
399 |
From abcd Mon Sep 01 12:33:02 1997
|
400 |
From abcd Mon Sep 1 12:33:02 1997
|
401 |
*** Failers
|
402 |
From abcd Sep 01 12:33:02 1997
|
403 |
|
404 |
/^12.34/s
|
405 |
12\n34
|
406 |
12\r34
|
407 |
|
408 |
/\w+(?=\t)/
|
409 |
the quick brown\t fox
|
410 |
|
411 |
/foo(?!bar)(.*)/
|
412 |
foobar is foolish see?
|
413 |
|
414 |
/(?:(?!foo)...|^.{0,2})bar(.*)/
|
415 |
foobar crowbar etc
|
416 |
barrel
|
417 |
2barrel
|
418 |
A barrel
|
419 |
|
420 |
/^(\D*)(?=\d)(?!123)/
|
421 |
abc456
|
422 |
*** Failers
|
423 |
abc123
|
424 |
|
425 |
/^1234(?# test newlines
|
426 |
inside)/
|
427 |
1234
|
428 |
|
429 |
/^1234 #comment in extended re
|
430 |
/x
|
431 |
1234
|
432 |
|
433 |
/#rhubarb
|
434 |
abcd/x
|
435 |
abcd
|
436 |
|
437 |
/^abcd#rhubarb/x
|
438 |
abcd
|
439 |
|
440 |
/^(a)\1{2,3}(.)/
|
441 |
aaab
|
442 |
aaaab
|
443 |
aaaaab
|
444 |
aaaaaab
|
445 |
|
446 |
/(?!^)abc/
|
447 |
the abc
|
448 |
*** Failers
|
449 |
abc
|
450 |
|
451 |
/(?=^)abc/
|
452 |
abc
|
453 |
*** Failers
|
454 |
the abc
|
455 |
|
456 |
/^[ab]{1,3}(ab*|b)/
|
457 |
aabbbbb
|
458 |
|
459 |
/^[ab]{1,3}?(ab*|b)/
|
460 |
aabbbbb
|
461 |
|
462 |
/^[ab]{1,3}?(ab*?|b)/
|
463 |
aabbbbb
|
464 |
|
465 |
/^[ab]{1,3}(ab*?|b)/
|
466 |
aabbbbb
|
467 |
|
468 |
/ (?: [\040\t] | \(
|
469 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
470 |
\) )* # optional leading comment
|
471 |
(?: (?:
|
472 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
473 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
474 |
|
|
475 |
" (?: # opening quote...
|
476 |
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
477 |
| # or
|
478 |
\\ [^\x80-\xff] # Escaped something (something != CR)
|
479 |
)* " # closing quote
|
480 |
) # initial word
|
481 |
(?: (?: [\040\t] | \(
|
482 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
483 |
\) )* \. (?: [\040\t] | \(
|
484 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
485 |
\) )* (?:
|
486 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
487 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
488 |
|
|
489 |
" (?: # opening quote...
|
490 |
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
491 |
| # or
|
492 |
\\ [^\x80-\xff] # Escaped something (something != CR)
|
493 |
)* " # closing quote
|
494 |
) )* # further okay, if led by a period
|
495 |
(?: [\040\t] | \(
|
496 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
497 |
\) )* @ (?: [\040\t] | \(
|
498 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
499 |
\) )* (?:
|
500 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
501 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
502 |
| \[ # [
|
503 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
504 |
\] # ]
|
505 |
) # initial subdomain
|
506 |
(?: #
|
507 |
(?: [\040\t] | \(
|
508 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
509 |
\) )* \. # if led by a period...
|
510 |
(?: [\040\t] | \(
|
511 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
512 |
\) )* (?:
|
513 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
514 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
515 |
| \[ # [
|
516 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
517 |
\] # ]
|
518 |
) # ...further okay
|
519 |
)*
|
520 |
# address
|
521 |
| # or
|
522 |
(?:
|
523 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
524 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
525 |
|
|
526 |
" (?: # opening quote...
|
527 |
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
528 |
| # or
|
529 |
\\ [^\x80-\xff] # Escaped something (something != CR)
|
530 |
)* " # closing quote
|
531 |
) # one word, optionally followed by....
|
532 |
(?:
|
533 |
[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
|
534 |
\(
|
535 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
536 |
\) | # comments, or...
|
537 |
|
538 |
" (?: # opening quote...
|
539 |
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
540 |
| # or
|
541 |
\\ [^\x80-\xff] # Escaped something (something != CR)
|
542 |
)* " # closing quote
|
543 |
# quoted strings
|
544 |
)*
|
545 |
< (?: [\040\t] | \(
|
546 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
547 |
\) )* # leading <
|
548 |
(?: @ (?: [\040\t] | \(
|
549 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
550 |
\) )* (?:
|
551 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
552 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
553 |
| \[ # [
|
554 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
555 |
\] # ]
|
556 |
) # initial subdomain
|
557 |
(?: #
|
558 |
(?: [\040\t] | \(
|
559 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
560 |
\) )* \. # if led by a period...
|
561 |
(?: [\040\t] | \(
|
562 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
563 |
\) )* (?:
|
564 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
565 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
566 |
| \[ # [
|
567 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
568 |
\] # ]
|
569 |
) # ...further okay
|
570 |
)*
|
571 |
|
572 |
(?: (?: [\040\t] | \(
|
573 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
574 |
\) )* , (?: [\040\t] | \(
|
575 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
576 |
\) )* @ (?: [\040\t] | \(
|
577 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
578 |
\) )* (?:
|
579 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
580 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
581 |
| \[ # [
|
582 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
583 |
\] # ]
|
584 |
) # initial subdomain
|
585 |
(?: #
|
586 |
(?: [\040\t] | \(
|
587 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
588 |
\) )* \. # if led by a period...
|
589 |
(?: [\040\t] | \(
|
590 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
591 |
\) )* (?:
|
592 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
593 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
594 |
| \[ # [
|
595 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
596 |
\] # ]
|
597 |
) # ...further okay
|
598 |
)*
|
599 |
)* # further okay, if led by comma
|
600 |
: # closing colon
|
601 |
(?: [\040\t] | \(
|
602 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
603 |
\) )* )? # optional route
|
604 |
(?:
|
605 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
606 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
607 |
|
|
608 |
" (?: # opening quote...
|
609 |
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
610 |
| # or
|
611 |
\\ [^\x80-\xff] # Escaped something (something != CR)
|
612 |
)* " # closing quote
|
613 |
) # initial word
|
614 |
(?: (?: [\040\t] | \(
|
615 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
616 |
\) )* \. (?: [\040\t] | \(
|
617 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
618 |
\) )* (?:
|
619 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
620 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
621 |
|
|
622 |
" (?: # opening quote...
|
623 |
[^\\\x80-\xff\n\015"] # Anything except backslash and quote
|
624 |
| # or
|
625 |
\\ [^\x80-\xff] # Escaped something (something != CR)
|
626 |
)* " # closing quote
|
627 |
) )* # further okay, if led by a period
|
628 |
(?: [\040\t] | \(
|
629 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
630 |
\) )* @ (?: [\040\t] | \(
|
631 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
632 |
\) )* (?:
|
633 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
634 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
635 |
| \[ # [
|
636 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
637 |
\] # ]
|
638 |
) # initial subdomain
|
639 |
(?: #
|
640 |
(?: [\040\t] | \(
|
641 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
642 |
\) )* \. # if led by a period...
|
643 |
(?: [\040\t] | \(
|
644 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
645 |
\) )* (?:
|
646 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
647 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
648 |
| \[ # [
|
649 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
650 |
\] # ]
|
651 |
) # ...further okay
|
652 |
)*
|
653 |
# address spec
|
654 |
(?: [\040\t] | \(
|
655 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
656 |
\) )* > # trailing >
|
657 |
# name and address
|
658 |
) (?: [\040\t] | \(
|
659 |
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
660 |
\) )* # optional trailing comment
|
661 |
/x
|
662 |
Alan Other <user\@dom.ain>
|
663 |
<user\@dom.ain>
|
664 |
user\@dom.ain
|
665 |
\"A. Other\" <user.1234\@dom.ain> (a comment)
|
666 |
A. Other <user.1234\@dom.ain> (a comment)
|
667 |
\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
|
668 |
A missing angle <user\@some.where
|
669 |
*** Failers
|
670 |
The quick brown fox
|
671 |
|
672 |
/[\040\t]* # Nab whitespace.
|
673 |
(?:
|
674 |
\( # (
|
675 |
[^\\\x80-\xff\n\015()] * # normal*
|
676 |
(?: # (
|
677 |
(?: \\ [^\x80-\xff] |
|
678 |
\( # (
|
679 |
[^\\\x80-\xff\n\015()] * # normal*
|
680 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
681 |
\) # )
|
682 |
) # special
|
683 |
[^\\\x80-\xff\n\015()] * # normal*
|
684 |
)* # )*
|
685 |
\) # )
|
686 |
[\040\t]* )* # If comment found, allow more spaces.
|
687 |
# optional leading comment
|
688 |
(?:
|
689 |
(?:
|
690 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
691 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
692 |
# Atom
|
693 |
| # or
|
694 |
" # "
|
695 |
[^\\\x80-\xff\n\015"] * # normal
|
696 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
|
697 |
" # "
|
698 |
# Quoted string
|
699 |
)
|
700 |
[\040\t]* # Nab whitespace.
|
701 |
(?:
|
702 |
\( # (
|
703 |
[^\\\x80-\xff\n\015()] * # normal*
|
704 |
(?: # (
|
705 |
(?: \\ [^\x80-\xff] |
|
706 |
\( # (
|
707 |
[^\\\x80-\xff\n\015()] * # normal*
|
708 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
709 |
\) # )
|
710 |
) # special
|
711 |
[^\\\x80-\xff\n\015()] * # normal*
|
712 |
)* # )*
|
713 |
\) # )
|
714 |
[\040\t]* )* # If comment found, allow more spaces.
|
715 |
(?:
|
716 |
\.
|
717 |
[\040\t]* # Nab whitespace.
|
718 |
(?:
|
719 |
\( # (
|
720 |
[^\\\x80-\xff\n\015()] * # normal*
|
721 |
(?: # (
|
722 |
(?: \\ [^\x80-\xff] |
|
723 |
\( # (
|
724 |
[^\\\x80-\xff\n\015()] * # normal*
|
725 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
726 |
\) # )
|
727 |
) # special
|
728 |
[^\\\x80-\xff\n\015()] * # normal*
|
729 |
)* # )*
|
730 |
\) # )
|
731 |
[\040\t]* )* # If comment found, allow more spaces.
|
732 |
(?:
|
733 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
734 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
735 |
# Atom
|
736 |
| # or
|
737 |
" # "
|
738 |
[^\\\x80-\xff\n\015"] * # normal
|
739 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
|
740 |
" # "
|
741 |
# Quoted string
|
742 |
)
|
743 |
[\040\t]* # Nab whitespace.
|
744 |
(?:
|
745 |
\( # (
|
746 |
[^\\\x80-\xff\n\015()] * # normal*
|
747 |
(?: # (
|
748 |
(?: \\ [^\x80-\xff] |
|
749 |
\( # (
|
750 |
[^\\\x80-\xff\n\015()] * # normal*
|
751 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
752 |
\) # )
|
753 |
) # special
|
754 |
[^\\\x80-\xff\n\015()] * # normal*
|
755 |
)* # )*
|
756 |
\) # )
|
757 |
[\040\t]* )* # If comment found, allow more spaces.
|
758 |
# additional words
|
759 |
)*
|
760 |
@
|
761 |
[\040\t]* # Nab whitespace.
|
762 |
(?:
|
763 |
\( # (
|
764 |
[^\\\x80-\xff\n\015()] * # normal*
|
765 |
(?: # (
|
766 |
(?: \\ [^\x80-\xff] |
|
767 |
\( # (
|
768 |
[^\\\x80-\xff\n\015()] * # normal*
|
769 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
770 |
\) # )
|
771 |
) # special
|
772 |
[^\\\x80-\xff\n\015()] * # normal*
|
773 |
)* # )*
|
774 |
\) # )
|
775 |
[\040\t]* )* # If comment found, allow more spaces.
|
776 |
(?:
|
777 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
778 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
779 |
|
|
780 |
\[ # [
|
781 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
782 |
\] # ]
|
783 |
)
|
784 |
[\040\t]* # Nab whitespace.
|
785 |
(?:
|
786 |
\( # (
|
787 |
[^\\\x80-\xff\n\015()] * # normal*
|
788 |
(?: # (
|
789 |
(?: \\ [^\x80-\xff] |
|
790 |
\( # (
|
791 |
[^\\\x80-\xff\n\015()] * # normal*
|
792 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
793 |
\) # )
|
794 |
) # special
|
795 |
[^\\\x80-\xff\n\015()] * # normal*
|
796 |
)* # )*
|
797 |
\) # )
|
798 |
[\040\t]* )* # If comment found, allow more spaces.
|
799 |
# optional trailing comments
|
800 |
(?:
|
801 |
\.
|
802 |
[\040\t]* # Nab whitespace.
|
803 |
(?:
|
804 |
\( # (
|
805 |
[^\\\x80-\xff\n\015()] * # normal*
|
806 |
(?: # (
|
807 |
(?: \\ [^\x80-\xff] |
|
808 |
\( # (
|
809 |
[^\\\x80-\xff\n\015()] * # normal*
|
810 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
811 |
\) # )
|
812 |
) # special
|
813 |
[^\\\x80-\xff\n\015()] * # normal*
|
814 |
)* # )*
|
815 |
\) # )
|
816 |
[\040\t]* )* # If comment found, allow more spaces.
|
817 |
(?:
|
818 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
819 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
820 |
|
|
821 |
\[ # [
|
822 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
823 |
\] # ]
|
824 |
)
|
825 |
[\040\t]* # Nab whitespace.
|
826 |
(?:
|
827 |
\( # (
|
828 |
[^\\\x80-\xff\n\015()] * # normal*
|
829 |
(?: # (
|
830 |
(?: \\ [^\x80-\xff] |
|
831 |
\( # (
|
832 |
[^\\\x80-\xff\n\015()] * # normal*
|
833 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
834 |
\) # )
|
835 |
) # special
|
836 |
[^\\\x80-\xff\n\015()] * # normal*
|
837 |
)* # )*
|
838 |
\) # )
|
839 |
[\040\t]* )* # If comment found, allow more spaces.
|
840 |
# optional trailing comments
|
841 |
)*
|
842 |
# address
|
843 |
| # or
|
844 |
(?:
|
845 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
846 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
847 |
# Atom
|
848 |
| # or
|
849 |
" # "
|
850 |
[^\\\x80-\xff\n\015"] * # normal
|
851 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
|
852 |
" # "
|
853 |
# Quoted string
|
854 |
)
|
855 |
# leading word
|
856 |
[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # "normal" atoms and or spaces
|
857 |
(?:
|
858 |
(?:
|
859 |
\( # (
|
860 |
[^\\\x80-\xff\n\015()] * # normal*
|
861 |
(?: # (
|
862 |
(?: \\ [^\x80-\xff] |
|
863 |
\( # (
|
864 |
[^\\\x80-\xff\n\015()] * # normal*
|
865 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
866 |
\) # )
|
867 |
) # special
|
868 |
[^\\\x80-\xff\n\015()] * # normal*
|
869 |
)* # )*
|
870 |
\) # )
|
871 |
|
|
872 |
" # "
|
873 |
[^\\\x80-\xff\n\015"] * # normal
|
874 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
|
875 |
" # "
|
876 |
) # "special" comment or quoted string
|
877 |
[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # more "normal"
|
878 |
)*
|
879 |
<
|
880 |
[\040\t]* # Nab whitespace.
|
881 |
(?:
|
882 |
\( # (
|
883 |
[^\\\x80-\xff\n\015()] * # normal*
|
884 |
(?: # (
|
885 |
(?: \\ [^\x80-\xff] |
|
886 |
\( # (
|
887 |
[^\\\x80-\xff\n\015()] * # normal*
|
888 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
889 |
\) # )
|
890 |
) # special
|
891 |
[^\\\x80-\xff\n\015()] * # normal*
|
892 |
)* # )*
|
893 |
\) # )
|
894 |
[\040\t]* )* # If comment found, allow more spaces.
|
895 |
# <
|
896 |
(?:
|
897 |
@
|
898 |
[\040\t]* # Nab whitespace.
|
899 |
(?:
|
900 |
\( # (
|
901 |
[^\\\x80-\xff\n\015()] * # normal*
|
902 |
(?: # (
|
903 |
(?: \\ [^\x80-\xff] |
|
904 |
\( # (
|
905 |
[^\\\x80-\xff\n\015()] * # normal*
|
906 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
907 |
\) # )
|
908 |
) # special
|
909 |
[^\\\x80-\xff\n\015()] * # normal*
|
910 |
)* # )*
|
911 |
\) # )
|
912 |
[\040\t]* )* # If comment found, allow more spaces.
|
913 |
(?:
|
914 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
915 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
916 |
|
|
917 |
\[ # [
|
918 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
919 |
\] # ]
|
920 |
)
|
921 |
[\040\t]* # Nab whitespace.
|
922 |
(?:
|
923 |
\( # (
|
924 |
[^\\\x80-\xff\n\015()] * # normal*
|
925 |
(?: # (
|
926 |
(?: \\ [^\x80-\xff] |
|
927 |
\( # (
|
928 |
[^\\\x80-\xff\n\015()] * # normal*
|
929 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
930 |
\) # )
|
931 |
) # special
|
932 |
[^\\\x80-\xff\n\015()] * # normal*
|
933 |
)* # )*
|
934 |
\) # )
|
935 |
[\040\t]* )* # If comment found, allow more spaces.
|
936 |
# optional trailing comments
|
937 |
(?:
|
938 |
\.
|
939 |
[\040\t]* # Nab whitespace.
|
940 |
(?:
|
941 |
\( # (
|
942 |
[^\\\x80-\xff\n\015()] * # normal*
|
943 |
(?: # (
|
944 |
(?: \\ [^\x80-\xff] |
|
945 |
\( # (
|
946 |
[^\\\x80-\xff\n\015()] * # normal*
|
947 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
948 |
\) # )
|
949 |
) # special
|
950 |
[^\\\x80-\xff\n\015()] * # normal*
|
951 |
)* # )*
|
952 |
\) # )
|
953 |
[\040\t]* )* # If comment found, allow more spaces.
|
954 |
(?:
|
955 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
956 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
957 |
|
|
958 |
\[ # [
|
959 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
960 |
\] # ]
|
961 |
)
|
962 |
[\040\t]* # Nab whitespace.
|
963 |
(?:
|
964 |
\( # (
|
965 |
[^\\\x80-\xff\n\015()] * # normal*
|
966 |
(?: # (
|
967 |
(?: \\ [^\x80-\xff] |
|
968 |
\( # (
|
969 |
[^\\\x80-\xff\n\015()] * # normal*
|
970 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
971 |
\) # )
|
972 |
) # special
|
973 |
[^\\\x80-\xff\n\015()] * # normal*
|
974 |
)* # )*
|
975 |
\) # )
|
976 |
[\040\t]* )* # If comment found, allow more spaces.
|
977 |
# optional trailing comments
|
978 |
)*
|
979 |
(?: ,
|
980 |
[\040\t]* # Nab whitespace.
|
981 |
(?:
|
982 |
\( # (
|
983 |
[^\\\x80-\xff\n\015()] * # normal*
|
984 |
(?: # (
|
985 |
(?: \\ [^\x80-\xff] |
|
986 |
\( # (
|
987 |
[^\\\x80-\xff\n\015()] * # normal*
|
988 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
989 |
\) # )
|
990 |
) # special
|
991 |
[^\\\x80-\xff\n\015()] * # normal*
|
992 |
)* # )*
|
993 |
\) # )
|
994 |
[\040\t]* )* # If comment found, allow more spaces.
|
995 |
@
|
996 |
[\040\t]* # Nab whitespace.
|
997 |
(?:
|
998 |
\( # (
|
999 |
[^\\\x80-\xff\n\015()] * # normal*
|
1000 |
(?: # (
|
1001 |
(?: \\ [^\x80-\xff] |
|
1002 |
\( # (
|
1003 |
[^\\\x80-\xff\n\015()] * # normal*
|
1004 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1005 |
\) # )
|
1006 |
) # special
|
1007 |
[^\\\x80-\xff\n\015()] * # normal*
|
1008 |
)* # )*
|
1009 |
\) # )
|
1010 |
[\040\t]* )* # If comment found, allow more spaces.
|
1011 |
(?:
|
1012 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
1013 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
1014 |
|
|
1015 |
\[ # [
|
1016 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
1017 |
\] # ]
|
1018 |
)
|
1019 |
[\040\t]* # Nab whitespace.
|
1020 |
(?:
|
1021 |
\( # (
|
1022 |
[^\\\x80-\xff\n\015()] * # normal*
|
1023 |
(?: # (
|
1024 |
(?: \\ [^\x80-\xff] |
|
1025 |
\( # (
|
1026 |
[^\\\x80-\xff\n\015()] * # normal*
|
1027 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1028 |
\) # )
|
1029 |
) # special
|
1030 |
[^\\\x80-\xff\n\015()] * # normal*
|
1031 |
)* # )*
|
1032 |
\) # )
|
1033 |
[\040\t]* )* # If comment found, allow more spaces.
|
1034 |
# optional trailing comments
|
1035 |
(?:
|
1036 |
\.
|
1037 |
[\040\t]* # Nab whitespace.
|
1038 |
(?:
|
1039 |
\( # (
|
1040 |
[^\\\x80-\xff\n\015()] * # normal*
|
1041 |
(?: # (
|
1042 |
(?: \\ [^\x80-\xff] |
|
1043 |
\( # (
|
1044 |
[^\\\x80-\xff\n\015()] * # normal*
|
1045 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1046 |
\) # )
|
1047 |
) # special
|
1048 |
[^\\\x80-\xff\n\015()] * # normal*
|
1049 |
)* # )*
|
1050 |
\) # )
|
1051 |
[\040\t]* )* # If comment found, allow more spaces.
|
1052 |
(?:
|
1053 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
1054 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
1055 |
|
|
1056 |
\[ # [
|
1057 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
1058 |
\] # ]
|
1059 |
)
|
1060 |
[\040\t]* # Nab whitespace.
|
1061 |
(?:
|
1062 |
\( # (
|
1063 |
[^\\\x80-\xff\n\015()] * # normal*
|
1064 |
(?: # (
|
1065 |
(?: \\ [^\x80-\xff] |
|
1066 |
\( # (
|
1067 |
[^\\\x80-\xff\n\015()] * # normal*
|
1068 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1069 |
\) # )
|
1070 |
) # special
|
1071 |
[^\\\x80-\xff\n\015()] * # normal*
|
1072 |
)* # )*
|
1073 |
\) # )
|
1074 |
[\040\t]* )* # If comment found, allow more spaces.
|
1075 |
# optional trailing comments
|
1076 |
)*
|
1077 |
)* # additional domains
|
1078 |
:
|
1079 |
[\040\t]* # Nab whitespace.
|
1080 |
(?:
|
1081 |
\( # (
|
1082 |
[^\\\x80-\xff\n\015()] * # normal*
|
1083 |
(?: # (
|
1084 |
(?: \\ [^\x80-\xff] |
|
1085 |
\( # (
|
1086 |
[^\\\x80-\xff\n\015()] * # normal*
|
1087 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1088 |
\) # )
|
1089 |
) # special
|
1090 |
[^\\\x80-\xff\n\015()] * # normal*
|
1091 |
)* # )*
|
1092 |
\) # )
|
1093 |
[\040\t]* )* # If comment found, allow more spaces.
|
1094 |
# optional trailing comments
|
1095 |
)? # optional route
|
1096 |
(?:
|
1097 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
1098 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
1099 |
# Atom
|
1100 |
| # or
|
1101 |
" # "
|
1102 |
[^\\\x80-\xff\n\015"] * # normal
|
1103 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
|
1104 |
" # "
|
1105 |
# Quoted string
|
1106 |
)
|
1107 |
[\040\t]* # Nab whitespace.
|
1108 |
(?:
|
1109 |
\( # (
|
1110 |
[^\\\x80-\xff\n\015()] * # normal*
|
1111 |
(?: # (
|
1112 |
(?: \\ [^\x80-\xff] |
|
1113 |
\( # (
|
1114 |
[^\\\x80-\xff\n\015()] * # normal*
|
1115 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1116 |
\) # )
|
1117 |
) # special
|
1118 |
[^\\\x80-\xff\n\015()] * # normal*
|
1119 |
)* # )*
|
1120 |
\) # )
|
1121 |
[\040\t]* )* # If comment found, allow more spaces.
|
1122 |
(?:
|
1123 |
\.
|
1124 |
[\040\t]* # Nab whitespace.
|
1125 |
(?:
|
1126 |
\( # (
|
1127 |
[^\\\x80-\xff\n\015()] * # normal*
|
1128 |
(?: # (
|
1129 |
(?: \\ [^\x80-\xff] |
|
1130 |
\( # (
|
1131 |
[^\\\x80-\xff\n\015()] * # normal*
|
1132 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1133 |
\) # )
|
1134 |
) # special
|
1135 |
[^\\\x80-\xff\n\015()] * # normal*
|
1136 |
)* # )*
|
1137 |
\) # )
|
1138 |
[\040\t]* )* # If comment found, allow more spaces.
|
1139 |
(?:
|
1140 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
1141 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
1142 |
# Atom
|
1143 |
| # or
|
1144 |
" # "
|
1145 |
[^\\\x80-\xff\n\015"] * # normal
|
1146 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
|
1147 |
" # "
|
1148 |
# Quoted string
|
1149 |
)
|
1150 |
[\040\t]* # Nab whitespace.
|
1151 |
(?:
|
1152 |
\( # (
|
1153 |
[^\\\x80-\xff\n\015()] * # normal*
|
1154 |
(?: # (
|
1155 |
(?: \\ [^\x80-\xff] |
|
1156 |
\( # (
|
1157 |
[^\\\x80-\xff\n\015()] * # normal*
|
1158 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1159 |
\) # )
|
1160 |
) # special
|
1161 |
[^\\\x80-\xff\n\015()] * # normal*
|
1162 |
)* # )*
|
1163 |
\) # )
|
1164 |
[\040\t]* )* # If comment found, allow more spaces.
|
1165 |
# additional words
|
1166 |
)*
|
1167 |
@
|
1168 |
[\040\t]* # Nab whitespace.
|
1169 |
(?:
|
1170 |
\( # (
|
1171 |
[^\\\x80-\xff\n\015()] * # normal*
|
1172 |
(?: # (
|
1173 |
(?: \\ [^\x80-\xff] |
|
1174 |
\( # (
|
1175 |
[^\\\x80-\xff\n\015()] * # normal*
|
1176 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1177 |
\) # )
|
1178 |
) # special
|
1179 |
[^\\\x80-\xff\n\015()] * # normal*
|
1180 |
)* # )*
|
1181 |
\) # )
|
1182 |
[\040\t]* )* # If comment found, allow more spaces.
|
1183 |
(?:
|
1184 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
1185 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
1186 |
|
|
1187 |
\[ # [
|
1188 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
1189 |
\] # ]
|
1190 |
)
|
1191 |
[\040\t]* # Nab whitespace.
|
1192 |
(?:
|
1193 |
\( # (
|
1194 |
[^\\\x80-\xff\n\015()] * # normal*
|
1195 |
(?: # (
|
1196 |
(?: \\ [^\x80-\xff] |
|
1197 |
\( # (
|
1198 |
[^\\\x80-\xff\n\015()] * # normal*
|
1199 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1200 |
\) # )
|
1201 |
) # special
|
1202 |
[^\\\x80-\xff\n\015()] * # normal*
|
1203 |
)* # )*
|
1204 |
\) # )
|
1205 |
[\040\t]* )* # If comment found, allow more spaces.
|
1206 |
# optional trailing comments
|
1207 |
(?:
|
1208 |
\.
|
1209 |
[\040\t]* # Nab whitespace.
|
1210 |
(?:
|
1211 |
\( # (
|
1212 |
[^\\\x80-\xff\n\015()] * # normal*
|
1213 |
(?: # (
|
1214 |
(?: \\ [^\x80-\xff] |
|
1215 |
\( # (
|
1216 |
[^\\\x80-\xff\n\015()] * # normal*
|
1217 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1218 |
\) # )
|
1219 |
) # special
|
1220 |
[^\\\x80-\xff\n\015()] * # normal*
|
1221 |
)* # )*
|
1222 |
\) # )
|
1223 |
[\040\t]* )* # If comment found, allow more spaces.
|
1224 |
(?:
|
1225 |
[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
|
1226 |
(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
|
1227 |
|
|
1228 |
\[ # [
|
1229 |
(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
|
1230 |
\] # ]
|
1231 |
)
|
1232 |
[\040\t]* # Nab whitespace.
|
1233 |
(?:
|
1234 |
\( # (
|
1235 |
[^\\\x80-\xff\n\015()] * # normal*
|
1236 |
(?: # (
|
1237 |
(?: \\ [^\x80-\xff] |
|
1238 |
\( # (
|
1239 |
[^\\\x80-\xff\n\015()] * # normal*
|
1240 |
(?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
|
1241 |
\) # )
|
1242 |
) # special
|
1243 |
[^\\\x80-\xff\n\015()] * # normal*
|
1244 |
)* # )*
|
1245 |
\) # )
|
1246 |
[\040\t]* )* # If comment found, allow more spaces.
|
1247 |
# optional trailing comments
|
1248 |
)*
|
1249 |
# address spec
|
1250 |
> # >
|
1251 |
# name and address
|
1252 |
)
|
1253 |
/x
|
1254 |
Alan Other <user\@dom.ain>
|
1255 |
<user\@dom.ain>
|
1256 |
user\@dom.ain
|
1257 |
\"A. Other\" <user.1234\@dom.ain> (a comment)
|
1258 |
A. Other <user.1234\@dom.ain> (a comment)
|
1259 |
\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
|
1260 |
A missing angle <user\@some.where
|
1261 |
*** Failers
|
1262 |
The quick brown fox
|
1263 |
|
1264 |
/abc\0def\00pqr\000xyz\0000AB/
|
1265 |
abc\0def\00pqr\000xyz\0000AB
|
1266 |
abc456 abc\0def\00pqr\000xyz\0000ABCDE
|
1267 |
|
1268 |
/abc\x0def\x00pqr\x000xyz\x0000AB/
|
1269 |
abc\x0def\x00pqr\x000xyz\x0000AB
|
1270 |
abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
|
1271 |
|
1272 |
/^[\000-\037]/
|
1273 |
\0A
|
1274 |
\01B
|
1275 |
\037C
|
1276 |
|
1277 |
/\0*/
|
1278 |
\0\0\0\0
|
1279 |
|
1280 |
/A\x0{2,3}Z/
|
1281 |
The A\x0\x0Z
|
1282 |
An A\0\x0\0Z
|
1283 |
*** Failers
|
1284 |
A\0Z
|
1285 |
A\0\x0\0\x0Z
|
1286 |
|
1287 |
/^(cow|)\1(bell)/
|
1288 |
cowcowbell
|
1289 |
bell
|
1290 |
*** Failers
|
1291 |
cowbell
|
1292 |
|
1293 |
/^\s/
|
1294 |
\040abc
|
1295 |
\x0cabc
|
1296 |
\nabc
|
1297 |
\rabc
|
1298 |
\tabc
|
1299 |
*** Failers
|
1300 |
abc
|
1301 |
|
1302 |
/^a b
|
1303 |
c/x
|
1304 |
abc
|
1305 |
|
1306 |
/^(a|)\1*b/
|
1307 |
ab
|
1308 |
aaaab
|
1309 |
b
|
1310 |
*** Failers
|
1311 |
acb
|
1312 |
|
1313 |
/^(a|)\1+b/
|
1314 |
aab
|
1315 |
aaaab
|
1316 |
b
|
1317 |
*** Failers
|
1318 |
ab
|
1319 |
|
1320 |
/^(a|)\1?b/
|
1321 |
ab
|
1322 |
aab
|
1323 |
b
|
1324 |
*** Failers
|
1325 |
acb
|
1326 |
|
1327 |
/^(a|)\1{2}b/
|
1328 |
aaab
|
1329 |
b
|
1330 |
*** Failers
|
1331 |
ab
|
1332 |
aab
|
1333 |
aaaab
|
1334 |
|
1335 |
/^(a|)\1{2,3}b/
|
1336 |
aaab
|
1337 |
aaaab
|
1338 |
b
|
1339 |
*** Failers
|
1340 |
ab
|
1341 |
aab
|
1342 |
aaaaab
|
1343 |
|
1344 |
/ab{1,3}bc/
|
1345 |
abbbbc
|
1346 |
abbbc
|
1347 |
abbc
|
1348 |
*** Failers
|
1349 |
abc
|
1350 |
abbbbbc
|
1351 |
|
1352 |
/([^.]*)\.([^:]*):[T ]+(.*)/
|
1353 |
track1.title:TBlah blah blah
|
1354 |
|
1355 |
/([^.]*)\.([^:]*):[T ]+(.*)/i
|
1356 |
track1.title:TBlah blah blah
|
1357 |
|
1358 |
/([^.]*)\.([^:]*):[t ]+(.*)/i
|
1359 |
track1.title:TBlah blah blah
|
1360 |
|
1361 |
/^[W-c]+$/
|
1362 |
WXY_^abc
|
1363 |
*** Failers
|
1364 |
wxy
|
1365 |
|
1366 |
/^[W-c]+$/i
|
1367 |
WXY_^abc
|
1368 |
wxy_^ABC
|
1369 |
|
1370 |
/^[\x3f-\x5F]+$/i
|
1371 |
WXY_^abc
|
1372 |
wxy_^ABC
|
1373 |
|
1374 |
/^abc$/m
|
1375 |
abc
|
1376 |
qqq\nabc
|
1377 |
abc\nzzz
|
1378 |
qqq\nabc\nzzz
|
1379 |
|
1380 |
/^abc$/
|
1381 |
abc
|
1382 |
*** Failers
|
1383 |
qqq\nabc
|
1384 |
abc\nzzz
|
1385 |
qqq\nabc\nzzz
|
1386 |
|
1387 |
/\Aabc\Z/m
|
1388 |
abc
|
1389 |
abc\n
|
1390 |
*** Failers
|
1391 |
qqq\nabc
|
1392 |
abc\nzzz
|
1393 |
qqq\nabc\nzzz
|
1394 |
|
1395 |
/\A(.)*\Z/s
|
1396 |
abc\ndef
|
1397 |
|
1398 |
/\A(.)*\Z/m
|
1399 |
*** Failers
|
1400 |
abc\ndef
|
1401 |
|
1402 |
/(?:b)|(?::+)/
|
1403 |
b::c
|
1404 |
c::b
|
1405 |
|
1406 |
/[-az]+/
|
1407 |
az-
|
1408 |
*** Failers
|
1409 |
b
|
1410 |
|
1411 |
/[az-]+/
|
1412 |
za-
|
1413 |
*** Failers
|
1414 |
b
|
1415 |
|
1416 |
/[a\-z]+/
|
1417 |
a-z
|
1418 |
*** Failers
|
1419 |
b
|
1420 |
|
1421 |
/[a-z]+/
|
1422 |
abcdxyz
|
1423 |
|
1424 |
/[\d-]+/
|
1425 |
12-34
|
1426 |
*** Failers
|
1427 |
aaa
|
1428 |
|
1429 |
/[\d-z]+/
|
1430 |
12-34z
|
1431 |
*** Failers
|
1432 |
aaa
|
1433 |
|
1434 |
/\x5c/
|
1435 |
\\
|
1436 |
|
1437 |
/\x20Z/
|
1438 |
the Zoo
|
1439 |
*** Failers
|
1440 |
Zulu
|
1441 |
|
1442 |
/(abc)\1/i
|
1443 |
abcabc
|
1444 |
ABCabc
|
1445 |
abcABC
|
1446 |
|
1447 |
/ab{3cd/
|
1448 |
ab{3cd
|
1449 |
|
1450 |
/ab{3,cd/
|
1451 |
ab{3,cd
|
1452 |
|
1453 |
/ab{3,4a}cd/
|
1454 |
ab{3,4a}cd
|
1455 |
|
1456 |
/{4,5a}bc/
|
1457 |
{4,5a}bc
|
1458 |
|
1459 |
/abc$/
|
1460 |
abc
|
1461 |
abc\n
|
1462 |
*** Failers
|
1463 |
abc\ndef
|
1464 |
|
1465 |
/(abc)\123/
|
1466 |
abc\x53
|
1467 |
|
1468 |
/(abc)\223/
|
1469 |
abc\x93
|
1470 |
|
1471 |
/(abc)\323/
|
1472 |
abc\xd3
|
1473 |
|
1474 |
/(abc)\100/
|
1475 |
abc\x40
|
1476 |
abc\100
|
1477 |
|
1478 |
/(abc)\1000/
|
1479 |
abc\x400
|
1480 |
abc\x40\x30
|
1481 |
abc\1000
|
1482 |
abc\100\x30
|
1483 |
abc\100\060
|
1484 |
abc\100\60
|
1485 |
|
1486 |
/abc\81/
|
1487 |
abc\081
|
1488 |
abc\0\x38\x31
|
1489 |
|
1490 |
/abc\91/
|
1491 |
abc\091
|
1492 |
abc\0\x39\x31
|
1493 |
|
1494 |
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\12\123/
|
1495 |
abcdefghijkllS
|
1496 |
|
1497 |
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
|
1498 |
abcdefghijk\12S
|
1499 |
|
1500 |
/ab\idef/
|
1501 |
abidef
|
1502 |
|
1503 |
/a{0}bc/
|
1504 |
bc
|
1505 |
|
1506 |
/(a|(bc)){0,0}?xyz/
|
1507 |
xyz
|
1508 |
|
1509 |
/abc[\10]de/
|
1510 |
abc\010de
|
1511 |
|
1512 |
/abc[\1]de/
|
1513 |
abc\1de
|
1514 |
|
1515 |
/(abc)[\1]de/
|
1516 |
abc\1de
|
1517 |
|
1518 |
/(?s)a.b/
|
1519 |
a\nb
|
1520 |
|
1521 |
/^([^a])([^\b])([^c]*)([^d]{3,4})/
|
1522 |
baNOTccccd
|
1523 |
baNOTcccd
|
1524 |
baNOTccd
|
1525 |
bacccd
|
1526 |
*** Failers
|
1527 |
anything
|
1528 |
b\bc
|
1529 |
baccd
|
1530 |
|
1531 |
/[^a]/
|
1532 |
Abc
|
1533 |
|
1534 |
/[^a]/i
|
1535 |
Abc
|
1536 |
|
1537 |
/[^a]+/
|
1538 |
AAAaAbc
|
1539 |
|
1540 |
/[^a]+/i
|
1541 |
AAAaAbc
|
1542 |
|
1543 |
/[^a]+/
|
1544 |
bbb\nccc
|
1545 |
|
1546 |
/[^k]$/
|
1547 |
abc
|
1548 |
*** Failers
|
1549 |
abk
|
1550 |
|
1551 |
/[^k]{2,3}$/
|
1552 |
abc
|
1553 |
kbc
|
1554 |
kabc
|
1555 |
*** Failers
|
1556 |
abk
|
1557 |
akb
|
1558 |
akk
|
1559 |
|
1560 |
/^\d{8,}\@.+[^k]$/
|
1561 |
12345678\@a.b.c.d
|
1562 |
123456789\@x.y.z
|
1563 |
*** Failers
|
1564 |
12345678\@x.y.uk
|
1565 |
1234567\@a.b.c.d
|
1566 |
|
1567 |
/(a)\1{8,}/
|
1568 |
aaaaaaaaa
|
1569 |
aaaaaaaaaa
|
1570 |
*** Failers
|
1571 |
aaaaaaa
|
1572 |
|
1573 |
/[^a]/
|
1574 |
aaaabcd
|
1575 |
aaAabcd
|
1576 |
|
1577 |
/[^a]/i
|
1578 |
aaaabcd
|
1579 |
aaAabcd
|
1580 |
|
1581 |
/[^az]/
|
1582 |
aaaabcd
|
1583 |
aaAabcd
|
1584 |
|
1585 |
/[^az]/i
|
1586 |
aaaabcd
|
1587 |
aaAabcd
|
1588 |
|
1589 |
/\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/
|
1590 |
\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377
|
1591 |
|
1592 |
/P[^*]TAIRE[^*]{1,6}?LL/
|
1593 |
xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
|
1594 |
|
1595 |
/P[^*]TAIRE[^*]{1,}?LL/
|
1596 |
xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
|
1597 |
|
1598 |
/(\.\d\d[1-9]?)\d+/
|
1599 |
1.230003938
|
1600 |
1.875000282
|
1601 |
1.235
|
1602 |
|
1603 |
/(\.\d\d((?=0)|\d(?=\d)))/
|
1604 |
1.230003938
|
1605 |
1.875000282
|
1606 |
*** Failers
|
1607 |
1.235
|
1608 |
|
1609 |
/a(?)b/
|
1610 |
ab
|
1611 |
|
1612 |
/\b(foo)\s+(\w+)/i
|
1613 |
Food is on the foo table
|
1614 |
|
1615 |
/foo(.*)bar/
|
1616 |
The food is under the bar in the barn.
|
1617 |
|
1618 |
/foo(.*?)bar/
|
1619 |
The food is under the bar in the barn.
|
1620 |
|
1621 |
/(.*)(\d*)/
|
1622 |
I have 2 numbers: 53147
|
1623 |
|
1624 |
/(.*)(\d+)/
|
1625 |
I have 2 numbers: 53147
|
1626 |
|
1627 |
/(.*?)(\d*)/
|
1628 |
I have 2 numbers: 53147
|
1629 |
|
1630 |
/(.*?)(\d+)/
|
1631 |
I have 2 numbers: 53147
|
1632 |
|
1633 |
/(.*)(\d+)$/
|
1634 |
I have 2 numbers: 53147
|
1635 |
|
1636 |
/(.*?)(\d+)$/
|
1637 |
I have 2 numbers: 53147
|
1638 |
|
1639 |
/(.*)\b(\d+)$/
|
1640 |
I have 2 numbers: 53147
|
1641 |
|
1642 |
/(.*\D)(\d+)$/
|
1643 |
I have 2 numbers: 53147
|
1644 |
|
1645 |
/^\D*(?!123)/
|
1646 |
ABC123
|
1647 |
|
1648 |
/^(\D*)(?=\d)(?!123)/
|
1649 |
ABC445
|
1650 |
*** Failers
|
1651 |
ABC123
|
1652 |
|
1653 |
/^[W-]46]/
|
1654 |
W46]789
|
1655 |
-46]789
|
1656 |
*** Failers
|
1657 |
Wall
|
1658 |
Zebra
|
1659 |
42
|
1660 |
[abcd]
|
1661 |
]abcd[
|
1662 |
|
1663 |
/^[W-\]46]/
|
1664 |
W46]789
|
1665 |
Wall
|
1666 |
Zebra
|
1667 |
Xylophone
|
1668 |
42
|
1669 |
[abcd]
|
1670 |
]abcd[
|
1671 |
\\backslash
|
1672 |
*** Failers
|
1673 |
-46]789
|
1674 |
well
|
1675 |
|
1676 |
/\d\d\/\d\d\/\d\d\d\d/
|
1677 |
01/01/2000
|
1678 |
|
1679 |
/word (?:[a-zA-Z0-9]+ ){0,10}otherword/
|
1680 |
word cat dog elephant mussel cow horse canary baboon snake shark otherword
|
1681 |
word cat dog elephant mussel cow horse canary baboon snake shark
|
1682 |
|
1683 |
/word (?:[a-zA-Z0-9]+ ){0,300}otherword/
|
1684 |
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
|
1685 |
|
1686 |
/^(a){0,0}/
|
1687 |
bcd
|
1688 |
abc
|
1689 |
aab
|
1690 |
|
1691 |
/^(a){0,1}/
|
1692 |
bcd
|
1693 |
abc
|
1694 |
aab
|
1695 |
|
1696 |
/^(a){0,2}/
|
1697 |
bcd
|
1698 |
abc
|
1699 |
aab
|
1700 |
|
1701 |
/^(a){0,3}/
|
1702 |
bcd
|
1703 |
abc
|
1704 |
aab
|
1705 |
aaa
|
1706 |
|
1707 |
/^(a){0,}/
|
1708 |
bcd
|
1709 |
abc
|
1710 |
aab
|
1711 |
aaa
|
1712 |
aaaaaaaa
|
1713 |
|
1714 |
/^(a){1,1}/
|
1715 |
bcd
|
1716 |
abc
|
1717 |
aab
|
1718 |
|
1719 |
/^(a){1,2}/
|
1720 |
bcd
|
1721 |
abc
|
1722 |
aab
|
1723 |
|
1724 |
/^(a){1,3}/
|
1725 |
bcd
|
1726 |
abc
|
1727 |
aab
|
1728 |
aaa
|
1729 |
|
1730 |
/^(a){1,}/
|
1731 |
bcd
|
1732 |
abc
|
1733 |
aab
|
1734 |
aaa
|
1735 |
aaaaaaaa
|
1736 |
|
1737 |
/.*\.gif/
|
1738 |
borfle\nbib.gif\nno
|
1739 |
|
1740 |
/.{0,}\.gif/
|
1741 |
borfle\nbib.gif\nno
|
1742 |
|
1743 |
/.*\.gif/m
|
1744 |
borfle\nbib.gif\nno
|
1745 |
|
1746 |
/.*\.gif/s
|
1747 |
borfle\nbib.gif\nno
|
1748 |
|
1749 |
/.*\.gif/ms
|
1750 |
borfle\nbib.gif\nno
|
1751 |
|
1752 |
/.*$/
|
1753 |
borfle\nbib.gif\nno
|
1754 |
|
1755 |
/.*$/m
|
1756 |
borfle\nbib.gif\nno
|
1757 |
|
1758 |
/.*$/s
|
1759 |
borfle\nbib.gif\nno
|
1760 |
|
1761 |
/.*$/ms
|
1762 |
borfle\nbib.gif\nno
|
1763 |
|
1764 |
/.*$/
|
1765 |
borfle\nbib.gif\nno\n
|
1766 |
|
1767 |
/.*$/m
|
1768 |
borfle\nbib.gif\nno\n
|
1769 |
|
1770 |
/.*$/s
|
1771 |
borfle\nbib.gif\nno\n
|
1772 |
|
1773 |
/.*$/ms
|
1774 |
borfle\nbib.gif\nno\n
|
1775 |
|
1776 |
/(.*X|^B)/
|
1777 |
abcde\n1234Xyz
|
1778 |
BarFoo
|
1779 |
*** Failers
|
1780 |
abcde\nBar
|
1781 |
|
1782 |
/(.*X|^B)/m
|
1783 |
abcde\n1234Xyz
|
1784 |
BarFoo
|
1785 |
abcde\nBar
|
1786 |
|
1787 |
/(.*X|^B)/s
|
1788 |
abcde\n1234Xyz
|
1789 |
BarFoo
|
1790 |
*** Failers
|
1791 |
abcde\nBar
|
1792 |
|
1793 |
/(.*X|^B)/ms
|
1794 |
abcde\n1234Xyz
|
1795 |
BarFoo
|
1796 |
abcde\nBar
|
1797 |
|
1798 |
/(?s)(.*X|^B)/
|
1799 |
abcde\n1234Xyz
|
1800 |
BarFoo
|
1801 |
*** Failers
|
1802 |
abcde\nBar
|
1803 |
|
1804 |
/(?s:.*X|^B)/
|
1805 |
abcde\n1234Xyz
|
1806 |
BarFoo
|
1807 |
*** Failers
|
1808 |
abcde\nBar
|
1809 |
|
1810 |
/^.*B/
|
1811 |
**** Failers
|
1812 |
abc\nB
|
1813 |
|
1814 |
/(?s)^.*B/
|
1815 |
abc\nB
|
1816 |
|
1817 |
/(?m)^.*B/
|
1818 |
abc\nB
|
1819 |
|
1820 |
/(?ms)^.*B/
|
1821 |
abc\nB
|
1822 |
|
1823 |
/(?ms)^B/
|
1824 |
abc\nB
|
1825 |
|
1826 |
/(?s)B$/
|
1827 |
B\n
|
1828 |
|
1829 |
/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
|
1830 |
123456654321
|
1831 |
|
1832 |
/^\d\d\d\d\d\d\d\d\d\d\d\d/
|
1833 |
123456654321
|
1834 |
|
1835 |
/^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
|
1836 |
123456654321
|
1837 |
|
1838 |
/^[abc]{12}/
|
1839 |
abcabcabcabc
|
1840 |
|
1841 |
/^[a-c]{12}/
|
1842 |
abcabcabcabc
|
1843 |
|
1844 |
/^(a|b|c){12}/
|
1845 |
abcabcabcabc
|
1846 |
|
1847 |
/^[abcdefghijklmnopqrstuvwxy0123456789]/
|
1848 |
n
|
1849 |
*** Failers
|
1850 |
z
|
1851 |
|
1852 |
/abcde{0,0}/
|
1853 |
abcd
|
1854 |
*** Failers
|
1855 |
abce
|
1856 |
|
1857 |
/ab[cd]{0,0}e/
|
1858 |
abe
|
1859 |
*** Failers
|
1860 |
abcde
|
1861 |
|
1862 |
/ab(c){0,0}d/
|
1863 |
abd
|
1864 |
*** Failers
|
1865 |
abcd
|
1866 |
|
1867 |
/a(b*)/
|
1868 |
a
|
1869 |
ab
|
1870 |
abbbb
|
1871 |
*** Failers
|
1872 |
bbbbb
|
1873 |
|
1874 |
/ab\d{0}e/
|
1875 |
abe
|
1876 |
*** Failers
|
1877 |
ab1e
|
1878 |
|
1879 |
/"([^\\"]+|\\.)*"/
|
1880 |
the \"quick\" brown fox
|
1881 |
\"the \\\"quick\\\" brown fox\"
|
1882 |
|
1883 |
/.*?/g+
|
1884 |
abc
|
1885 |
|
1886 |
/\b/g+
|
1887 |
abc
|
1888 |
|
1889 |
/\b/+g
|
1890 |
abc
|
1891 |
|
1892 |
//g
|
1893 |
abc
|
1894 |
|
1895 |
/<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
|
1896 |
<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>
|
1897 |
|
1898 |
/a[^a]b/
|
1899 |
acb
|
1900 |
a\nb
|
1901 |
|
1902 |
/a.b/
|
1903 |
acb
|
1904 |
*** Failers
|
1905 |
a\nb
|
1906 |
|
1907 |
/a[^a]b/s
|
1908 |
acb
|
1909 |
a\nb
|
1910 |
|
1911 |
/a.b/s
|
1912 |
acb
|
1913 |
a\nb
|
1914 |
|
1915 |
/^(b+?|a){1,2}?c/
|
1916 |
bac
|
1917 |
bbac
|
1918 |
bbbac
|
1919 |
bbbbac
|
1920 |
bbbbbac
|
1921 |
|
1922 |
/^(b+|a){1,2}?c/
|
1923 |
bac
|
1924 |
bbac
|
1925 |
bbbac
|
1926 |
bbbbac
|
1927 |
bbbbbac
|
1928 |
|
1929 |
/(?!\A)x/m
|
1930 |
x\nb\n
|
1931 |
a\bx\n
|
1932 |
|
1933 |
/\x0{ab}/
|
1934 |
\0{ab}
|
1935 |
|
1936 |
/(A|B)*?CD/
|
1937 |
CD
|
1938 |
|
1939 |
/(A|B)*CD/
|
1940 |
CD
|
1941 |
|
1942 |
/(AB)*?\1/
|
1943 |
ABABAB
|
1944 |
|
1945 |
/(AB)*\1/
|
1946 |
ABABAB
|
1947 |
|
1948 |
/(?<!bar)foo/
|
1949 |
foo
|
1950 |
catfood
|
1951 |
arfootle
|
1952 |
rfoosh
|
1953 |
*** Failers
|
1954 |
barfoo
|
1955 |
towbarfoo
|
1956 |
|
1957 |
/\w{3}(?<!bar)foo/
|
1958 |
catfood
|
1959 |
*** Failers
|
1960 |
foo
|
1961 |
barfoo
|
1962 |
towbarfoo
|
1963 |
|
1964 |
/(?<=(foo)a)bar/
|
1965 |
fooabar
|
1966 |
*** Failers
|
1967 |
bar
|
1968 |
foobbar
|
1969 |
|
1970 |
/\Aabc\z/m
|
1971 |
abc
|
1972 |
*** Failers
|
1973 |
abc\n
|
1974 |
qqq\nabc
|
1975 |
abc\nzzz
|
1976 |
qqq\nabc\nzzz
|
1977 |
|
1978 |
"(?>.*/)foo"
|
1979 |
/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
|
1980 |
|
1981 |
"(?>.*/)foo"
|
1982 |
/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
|
1983 |
|
1984 |
/(?>(\.\d\d[1-9]?))\d+/
|
1985 |
1.230003938
|
1986 |
1.875000282
|
1987 |
*** Failers
|
1988 |
1.235
|
1989 |
|
1990 |
/^((?>\w+)|(?>\s+))*$/
|
1991 |
now is the time for all good men to come to the aid of the party
|
1992 |
*** Failers
|
1993 |
this is not a line with only words and spaces!
|
1994 |
|
1995 |
/(\d+)(\w)/
|
1996 |
12345a
|
1997 |
12345+
|
1998 |
|
1999 |
/((?>\d+))(\w)/
|
2000 |
12345a
|
2001 |
*** Failers
|
2002 |
12345+
|
2003 |
|
2004 |
/(?>a+)b/
|
2005 |
aaab
|
2006 |
|
2007 |
/((?>a+)b)/
|
2008 |
aaab
|
2009 |
|
2010 |
/(?>(a+))b/
|
2011 |
aaab
|
2012 |
|
2013 |
/(?>b)+/
|
2014 |
aaabbbccc
|
2015 |
|
2016 |
/(?>a+|b+|c+)*c/
|
2017 |
aaabbbbccccd
|
2018 |
|
2019 |
/((?>[^()]+)|\([^()]*\))+/
|
2020 |
((abc(ade)ufh()()x
|
2021 |
|
2022 |
/\(((?>[^()]+)|\([^()]+\))+\)/
|
2023 |
(abc)
|
2024 |
(abc(def)xyz)
|
2025 |
*** Failers
|
2026 |
((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
2027 |
|
2028 |
/a(?-i)b/i
|
2029 |
ab
|
2030 |
Ab
|
2031 |
*** Failers
|
2032 |
aB
|
2033 |
AB
|
2034 |
|
2035 |
/(a (?x)b c)d e/
|
2036 |
a bcd e
|
2037 |
*** Failers
|
2038 |
a b cd e
|
2039 |
abcd e
|
2040 |
a bcde
|
2041 |
|
2042 |
/(a b(?x)c d (?-x)e f)/
|
2043 |
a bcde f
|
2044 |
*** Failers
|
2045 |
abcdef
|
2046 |
|
2047 |
/(a(?i)b)c/
|
2048 |
abc
|
2049 |
aBc
|
2050 |
*** Failers
|
2051 |
abC
|
2052 |
aBC
|
2053 |
Abc
|
2054 |
ABc
|
2055 |
ABC
|
2056 |
AbC
|
2057 |
|
2058 |
/a(?i:b)c/
|
2059 |
abc
|
2060 |
aBc
|
2061 |
*** Failers
|
2062 |
ABC
|
2063 |
abC
|
2064 |
aBC
|
2065 |
|
2066 |
/a(?i:b)*c/
|
2067 |
aBc
|
2068 |
aBBc
|
2069 |
*** Failers
|
2070 |
aBC
|
2071 |
aBBC
|
2072 |
|
2073 |
/a(?=b(?i)c)\w\wd/
|
2074 |
abcd
|
2075 |
abCd
|
2076 |
*** Failers
|
2077 |
aBCd
|
2078 |
abcD
|
2079 |
|
2080 |
/(?s-i:more.*than).*million/i
|
2081 |
more than million
|
2082 |
more than MILLION
|
2083 |
more \n than Million
|
2084 |
*** Failers
|
2085 |
MORE THAN MILLION
|
2086 |
more \n than \n million
|
2087 |
|
2088 |
/(?:(?s-i)more.*than).*million/i
|
2089 |
more than million
|
2090 |
more than MILLION
|
2091 |
more \n than Million
|
2092 |
*** Failers
|
2093 |
MORE THAN MILLION
|
2094 |
more \n than \n million
|
2095 |
|
2096 |
/(?>a(?i)b+)+c/
|
2097 |
abc
|
2098 |
aBbc
|
2099 |
aBBc
|
2100 |
*** Failers
|
2101 |
Abc
|
2102 |
abAb
|
2103 |
abbC
|
2104 |
|
2105 |
/(?=a(?i)b)\w\wc/
|
2106 |
abc
|
2107 |
aBc
|
2108 |
*** Failers
|
2109 |
Ab
|
2110 |
abC
|
2111 |
aBC
|
2112 |
|
2113 |
/(?<=a(?i)b)(\w\w)c/
|
2114 |
abxxc
|
2115 |
aBxxc
|
2116 |
*** Failers
|
2117 |
Abxxc
|
2118 |
ABxxc
|
2119 |
abxxC
|
2120 |
|
2121 |
/(?:(a)|b)(?(1)A|B)/
|
2122 |
aA
|
2123 |
bB
|
2124 |
*** Failers
|
2125 |
aB
|
2126 |
bA
|
2127 |
|
2128 |
/^(a)?(?(1)a|b)+$/
|
2129 |
aa
|
2130 |
b
|
2131 |
bb
|
2132 |
*** Failers
|
2133 |
ab
|
2134 |
|
2135 |
/^(?(?=abc)\w{3}:|\d\d)$/
|
2136 |
abc:
|
2137 |
12
|
2138 |
*** Failers
|
2139 |
123
|
2140 |
xyz
|
2141 |
|
2142 |
/^(?(?!abc)\d\d|\w{3}:)$/
|
2143 |
abc:
|
2144 |
12
|
2145 |
*** Failers
|
2146 |
123
|
2147 |
xyz
|
2148 |
|
2149 |
/(?(?<=foo)bar|cat)/
|
2150 |
foobar
|
2151 |
cat
|
2152 |
fcat
|
2153 |
focat
|
2154 |
*** Failers
|
2155 |
foocat
|
2156 |
|
2157 |
/(?(?<!foo)cat|bar)/
|
2158 |
foobar
|
2159 |
cat
|
2160 |
fcat
|
2161 |
focat
|
2162 |
*** Failers
|
2163 |
foocat
|
2164 |
|
2165 |
/( \( )? [^()]+ (?(1) \) |) /x
|
2166 |
abcd
|
2167 |
(abcd)
|
2168 |
the quick (abcd) fox
|
2169 |
(abcd
|
2170 |
|
2171 |
/( \( )? [^()]+ (?(1) \) ) /x
|
2172 |
abcd
|
2173 |
(abcd)
|
2174 |
the quick (abcd) fox
|
2175 |
(abcd
|
2176 |
|
2177 |
/^(?(2)a|(1)(2))+$/
|
2178 |
12
|
2179 |
12a
|
2180 |
12aa
|
2181 |
*** Failers
|
2182 |
1234
|
2183 |
|
2184 |
/((?i)blah)\s+\1/
|
2185 |
blah blah
|
2186 |
BLAH BLAH
|
2187 |
Blah Blah
|
2188 |
blaH blaH
|
2189 |
*** Failers
|
2190 |
blah BLAH
|
2191 |
Blah blah
|
2192 |
blaH blah
|
2193 |
|
2194 |
/((?i)blah)\s+(?i:\1)/
|
2195 |
blah blah
|
2196 |
BLAH BLAH
|
2197 |
Blah Blah
|
2198 |
blaH blaH
|
2199 |
blah BLAH
|
2200 |
Blah blah
|
2201 |
blaH blah
|
2202 |
|
2203 |
/(?>a*)*/
|
2204 |
a
|
2205 |
aa
|
2206 |
aaaa
|
2207 |
|
2208 |
/(abc|)+/
|
2209 |
abc
|
2210 |
abcabc
|
2211 |
abcabcabc
|
2212 |
xyz
|
2213 |
|
2214 |
/([a]*)*/
|
2215 |
a
|
2216 |
aaaaa
|
2217 |
|
2218 |
/([ab]*)*/
|
2219 |
a
|
2220 |
b
|
2221 |
ababab
|
2222 |
aaaabcde
|
2223 |
bbbb
|
2224 |
|
2225 |
/([^a]*)*/
|
2226 |
b
|
2227 |
bbbb
|
2228 |
aaa
|
2229 |
|
2230 |
/([^ab]*)*/
|
2231 |
cccc
|
2232 |
abab
|
2233 |
|
2234 |
/([a]*?)*/
|
2235 |
a
|
2236 |
aaaa
|
2237 |
|
2238 |
/([ab]*?)*/
|
2239 |
a
|
2240 |
b
|
2241 |
abab
|
2242 |
baba
|
2243 |
|
2244 |
/([^a]*?)*/
|
2245 |
b
|
2246 |
bbbb
|
2247 |
aaa
|
2248 |
|
2249 |
/([^ab]*?)*/
|
2250 |
c
|
2251 |
cccc
|
2252 |
baba
|
2253 |
|
2254 |
/(?>a*)*/
|
2255 |
a
|
2256 |
aaabcde
|
2257 |
|
2258 |
/((?>a*))*/
|
2259 |
aaaaa
|
2260 |
aabbaa
|
2261 |
|
2262 |
/((?>a*?))*/
|
2263 |
aaaaa
|
2264 |
aabbaa
|
2265 |
|
2266 |
/(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x
|
2267 |
12-sep-98
|
2268 |
12-09-98
|
2269 |
*** Failers
|
2270 |
sep-12-98
|
2271 |
|
2272 |
/(?<=(foo))bar\1/
|
2273 |
foobarfoo
|
2274 |
foobarfootling
|
2275 |
*** Failers
|
2276 |
foobar
|
2277 |
barfoo
|
2278 |
|
2279 |
/(?i:saturday|sunday)/
|
2280 |
saturday
|
2281 |
sunday
|
2282 |
Saturday
|
2283 |
Sunday
|
2284 |
SATURDAY
|
2285 |
SUNDAY
|
2286 |
SunDay
|
2287 |
|
2288 |
/(a(?i)bc|BB)x/
|
2289 |
abcx
|
2290 |
aBCx
|
2291 |
bbx
|
2292 |
BBx
|
2293 |
*** Failers
|
2294 |
abcX
|
2295 |
aBCX
|
2296 |
bbX
|
2297 |
BBX
|
2298 |
|
2299 |
/^([ab](?i)[cd]|[ef])/
|
2300 |
ac
|
2301 |
aC
|
2302 |
bD
|
2303 |
elephant
|
2304 |
Europe
|
2305 |
frog
|
2306 |
France
|
2307 |
*** Failers
|
2308 |
Africa
|
2309 |
|
2310 |
/^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
|
2311 |
ab
|
2312 |
aBd
|
2313 |
xy
|
2314 |
xY
|
2315 |
zebra
|
2316 |
Zambesi
|
2317 |
*** Failers
|
2318 |
aCD
|
2319 |
XY
|
2320 |
|
2321 |
/(?<=foo\n)^bar/m
|
2322 |
foo\nbar
|
2323 |
*** Failers
|
2324 |
bar
|
2325 |
baz\nbar
|
2326 |
|
2327 |
/(?<=(?<!foo)bar)baz/
|
2328 |
barbaz
|
2329 |
barbarbaz
|
2330 |
koobarbaz
|
2331 |
*** Failers
|
2332 |
baz
|
2333 |
foobarbaz
|
2334 |
|
2335 |
/The cases of aaaa and aaaaaa are missed out below because Perl does things/
|
2336 |
/differently. We know that odd, and maybe incorrect, things happen with/
|
2337 |
/recursive references in Perl, as far as 5.11.3 - see some stuff in test #2./
|
2338 |
|
2339 |
/^(a\1?){4}$/
|
2340 |
a
|
2341 |
aa
|
2342 |
aaa
|
2343 |
aaaaa
|
2344 |
aaaaaaa
|
2345 |
aaaaaaaa
|
2346 |
aaaaaaaaa
|
2347 |
aaaaaaaaaa
|
2348 |
aaaaaaaaaaa
|
2349 |
aaaaaaaaaaaa
|
2350 |
aaaaaaaaaaaaa
|
2351 |
aaaaaaaaaaaaaa
|
2352 |
aaaaaaaaaaaaaaa
|
2353 |
aaaaaaaaaaaaaaaa
|
2354 |
|
2355 |
/^(a\1?)(a\1?)(a\2?)(a\3?)$/
|
2356 |
a
|
2357 |
aa
|
2358 |
aaa
|
2359 |
aaaa
|
2360 |
aaaaa
|
2361 |
aaaaaa
|
2362 |
aaaaaaa
|
2363 |
aaaaaaaa
|
2364 |
aaaaaaaaa
|
2365 |
aaaaaaaaaa
|
2366 |
aaaaaaaaaaa
|
2367 |
aaaaaaaaaaaa
|
2368 |
aaaaaaaaaaaaa
|
2369 |
aaaaaaaaaaaaaa
|
2370 |
aaaaaaaaaaaaaaa
|
2371 |
aaaaaaaaaaaaaaaa
|
2372 |
|
2373 |
/The following tests are taken from the Perl 5.005 test suite; some of them/
|
2374 |
/are compatible with 5.004, but I'd rather not have to sort them out./
|
2375 |
|
2376 |
/abc/
|
2377 |
abc
|
2378 |
xabcy
|
2379 |
ababc
|
2380 |
*** Failers
|
2381 |
xbc
|
2382 |
axc
|
2383 |
abx
|
2384 |
|
2385 |
/ab*c/
|
2386 |
abc
|
2387 |
|
2388 |
/ab*bc/
|
2389 |
abc
|
2390 |
abbc
|
2391 |
abbbbc
|
2392 |
|
2393 |
/.{1}/
|
2394 |
abbbbc
|
2395 |
|
2396 |
/.{3,4}/
|
2397 |
abbbbc
|
2398 |
|
2399 |
/ab{0,}bc/
|
2400 |
abbbbc
|
2401 |
|
2402 |
/ab+bc/
|
2403 |
abbc
|
2404 |
*** Failers
|
2405 |
abc
|
2406 |
abq
|
2407 |
|
2408 |
/ab{1,}bc/
|
2409 |
|
2410 |
/ab+bc/
|
2411 |
abbbbc
|
2412 |
|
2413 |
/ab{1,}bc/
|
2414 |
abbbbc
|
2415 |
|
2416 |
/ab{1,3}bc/
|
2417 |
abbbbc
|
2418 |
|
2419 |
/ab{3,4}bc/
|
2420 |
abbbbc
|
2421 |
|
2422 |
/ab{4,5}bc/
|
2423 |
*** Failers
|
2424 |
abq
|
2425 |
abbbbc
|
2426 |
|
2427 |
/ab?bc/
|
2428 |
abbc
|
2429 |
abc
|
2430 |
|
2431 |
/ab{0,1}bc/
|
2432 |
abc
|
2433 |
|
2434 |
/ab?bc/
|
2435 |
|
2436 |
/ab?c/
|
2437 |
abc
|
2438 |
|
2439 |
/ab{0,1}c/
|
2440 |
abc
|
2441 |
|
2442 |
/^abc$/
|
2443 |
abc
|
2444 |
*** Failers
|
2445 |
abbbbc
|
2446 |
abcc
|
2447 |
|
2448 |
/^abc/
|
2449 |
abcc
|
2450 |
|
2451 |
/^abc$/
|
2452 |
|
2453 |
/abc$/
|
2454 |
aabc
|
2455 |
*** Failers
|
2456 |
aabc
|
2457 |
aabcd
|
2458 |
|
2459 |
/^/
|
2460 |
abc
|
2461 |
|
2462 |
/$/
|
2463 |
abc
|
2464 |
|
2465 |
/a.c/
|
2466 |
abc
|
2467 |
axc
|
2468 |
|
2469 |
/a.*c/
|
2470 |
axyzc
|
2471 |
|
2472 |
/a[bc]d/
|
2473 |
abd
|
2474 |
*** Failers
|
2475 |
axyzd
|
2476 |
abc
|
2477 |
|
2478 |
/a[b-d]e/
|
2479 |
ace
|
2480 |
|
2481 |
/a[b-d]/
|
2482 |
aac
|
2483 |
|
2484 |
/a[-b]/
|
2485 |
a-
|
2486 |
|
2487 |
/a[b-]/
|
2488 |
a-
|
2489 |
|
2490 |
/a]/
|
2491 |
a]
|
2492 |
|
2493 |
/a[]]b/
|
2494 |
a]b
|
2495 |
|
2496 |
/a[^bc]d/
|
2497 |
aed
|
2498 |
*** Failers
|
2499 |
abd
|
2500 |
abd
|
2501 |
|
2502 |
/a[^-b]c/
|
2503 |
adc
|
2504 |
|
2505 |
/a[^]b]c/
|
2506 |
adc
|
2507 |
*** Failers
|
2508 |
a-c
|
2509 |
a]c
|
2510 |
|
2511 |
/\ba\b/
|
2512 |
a-
|
2513 |
-a
|
2514 |
-a-
|
2515 |
|
2516 |
/\by\b/
|
2517 |
*** Failers
|
2518 |
xy
|
2519 |
yz
|
2520 |
xyz
|
2521 |
|
2522 |
/\Ba\B/
|
2523 |
*** Failers
|
2524 |
a-
|
2525 |
-a
|
2526 |
-a-
|
2527 |
|
2528 |
/\By\b/
|
2529 |
xy
|
2530 |
|
2531 |
/\by\B/
|
2532 |
yz
|
2533 |
|
2534 |
/\By\B/
|
2535 |
xyz
|
2536 |
|
2537 |
/\w/
|
2538 |
a
|
2539 |
|
2540 |
/\W/
|
2541 |
-
|
2542 |
*** Failers
|
2543 |
-
|
2544 |
a
|
2545 |
|
2546 |
/a\sb/
|
2547 |
a b
|
2548 |
|
2549 |
/a\Sb/
|
2550 |
a-b
|
2551 |
*** Failers
|
2552 |
a-b
|
2553 |
a b
|
2554 |
|
2555 |
/\d/
|
2556 |
1
|
2557 |
|
2558 |
/\D/
|
2559 |
-
|
2560 |
*** Failers
|
2561 |
-
|
2562 |
1
|
2563 |
|
2564 |
/[\w]/
|
2565 |
a
|
2566 |
|
2567 |
/[\W]/
|
2568 |
-
|
2569 |
*** Failers
|
2570 |
-
|
2571 |
a
|
2572 |
|
2573 |
/a[\s]b/
|
2574 |
a b
|
2575 |
|
2576 |
/a[\S]b/
|
2577 |
a-b
|
2578 |
*** Failers
|
2579 |
a-b
|
2580 |
a b
|
2581 |
|
2582 |
/[\d]/
|
2583 |
1
|
2584 |
|
2585 |
/[\D]/
|
2586 |
-
|
2587 |
*** Failers
|
2588 |
-
|
2589 |
1
|
2590 |
|
2591 |
/ab|cd/
|
2592 |
abc
|
2593 |
abcd
|
2594 |
|
2595 |
/()ef/
|
2596 |
def
|
2597 |
|
2598 |
/$b/
|
2599 |
|
2600 |
/a\(b/
|
2601 |
a(b
|
2602 |
|
2603 |
/a\(*b/
|
2604 |
ab
|
2605 |
a((b
|
2606 |
|
2607 |
/a\\b/
|
2608 |
a\b
|
2609 |
|
2610 |
/((a))/
|
2611 |
abc
|
2612 |
|
2613 |
/(a)b(c)/
|
2614 |
abc
|
2615 |
|
2616 |
/a+b+c/
|
2617 |
aabbabc
|
2618 |
|
2619 |
/a{1,}b{1,}c/
|
2620 |
aabbabc
|
2621 |
|
2622 |
/a.+?c/
|
2623 |
abcabc
|
2624 |
|
2625 |
/(a+|b)*/
|
2626 |
ab
|
2627 |
|
2628 |
/(a+|b){0,}/
|
2629 |
ab
|
2630 |
|
2631 |
/(a+|b)+/
|
2632 |
ab
|
2633 |
|
2634 |
/(a+|b){1,}/
|
2635 |
ab
|
2636 |
|
2637 |
/(a+|b)?/
|
2638 |
ab
|
2639 |
|
2640 |
/(a+|b){0,1}/
|
2641 |
ab
|
2642 |
|
2643 |
/[^ab]*/
|
2644 |
cde
|
2645 |
|
2646 |
/abc/
|
2647 |
*** Failers
|
2648 |
b
|
2649 |
|
2650 |
|
2651 |
/a*/
|
2652 |
|
2653 |
|
2654 |
/([abc])*d/
|
2655 |
abbbcd
|
2656 |
|
2657 |
/([abc])*bcd/
|
2658 |
abcd
|
2659 |
|
2660 |
/a|b|c|d|e/
|
2661 |
e
|
2662 |
|
2663 |
/(a|b|c|d|e)f/
|
2664 |
ef
|
2665 |
|
2666 |
/abcd*efg/
|
2667 |
abcdefg
|
2668 |
|
2669 |
/ab*/
|
2670 |
xabyabbbz
|
2671 |
xayabbbz
|
2672 |
|
2673 |
/(ab|cd)e/
|
2674 |
abcde
|
2675 |
|
2676 |
/[abhgefdc]ij/
|
2677 |
hij
|
2678 |
|
2679 |
/^(ab|cd)e/
|
2680 |
|
2681 |
/(abc|)ef/
|
2682 |
abcdef
|
2683 |
|
2684 |
/(a|b)c*d/
|
2685 |
abcd
|
2686 |
|
2687 |
/(ab|ab*)bc/
|
2688 |
abc
|
2689 |
|
2690 |
/a([bc]*)c*/
|
2691 |
abc
|
2692 |
|
2693 |
/a([bc]*)(c*d)/
|
2694 |
abcd
|
2695 |
|
2696 |
/a([bc]+)(c*d)/
|
2697 |
abcd
|
2698 |
|
2699 |
/a([bc]*)(c+d)/
|
2700 |
abcd
|
2701 |
|
2702 |
/a[bcd]*dcdcde/
|
2703 |
adcdcde
|
2704 |
|
2705 |
/a[bcd]+dcdcde/
|
2706 |
*** Failers
|
2707 |
abcde
|
2708 |
adcdcde
|
2709 |
|
2710 |
/(ab|a)b*c/
|
2711 |
abc
|
2712 |
|
2713 |
/((a)(b)c)(d)/
|
2714 |
abcd
|
2715 |
|
2716 |
/[a-zA-Z_][a-zA-Z0-9_]*/
|
2717 |
alpha
|
2718 |
|
2719 |
/^a(bc+|b[eh])g|.h$/
|
2720 |
abh
|
2721 |
|
2722 |
/(bc+d$|ef*g.|h?i(j|k))/
|
2723 |
effgz
|
2724 |
ij
|
2725 |
reffgz
|
2726 |
*** Failers
|
2727 |
effg
|
2728 |
bcdd
|
2729 |
|
2730 |
/((((((((((a))))))))))/
|
2731 |
a
|
2732 |
|
2733 |
/((((((((((a))))))))))\10/
|
2734 |
aa
|
2735 |
|
2736 |
/(((((((((a)))))))))/
|
2737 |
a
|
2738 |
|
2739 |
/multiple words of text/
|
2740 |
*** Failers
|
2741 |
aa
|
2742 |
uh-uh
|
2743 |
|
2744 |
/multiple words/
|
2745 |
multiple words, yeah
|
2746 |
|
2747 |
/(.*)c(.*)/
|
2748 |
abcde
|
2749 |
|
2750 |
/\((.*), (.*)\)/
|
2751 |
(a, b)
|
2752 |
|
2753 |
/[k]/
|
2754 |
|
2755 |
/abcd/
|
2756 |
abcd
|
2757 |
|
2758 |
/a(bc)d/
|
2759 |
abcd
|
2760 |
|
2761 |
/a[-]?c/
|
2762 |
ac
|
2763 |
|
2764 |
/(abc)\1/
|
2765 |
abcabc
|
2766 |
|
2767 |
/([a-c]*)\1/
|
2768 |
abcabc
|
2769 |
|
2770 |
/(a)|\1/
|
2771 |
a
|
2772 |
*** Failers
|
2773 |
ab
|
2774 |
x
|
2775 |
|
2776 |
/(([a-c])b*?\2)*/
|
2777 |
ababbbcbc
|
2778 |
|
2779 |
/(([a-c])b*?\2){3}/
|
2780 |
ababbbcbc
|
2781 |
|
2782 |
/((\3|b)\2(a)x)+/
|
2783 |
aaaxabaxbaaxbbax
|
2784 |
|
2785 |
/((\3|b)\2(a)){2,}/
|
2786 |
bbaababbabaaaaabbaaaabba
|
2787 |
|
2788 |
/abc/i
|
2789 |
ABC
|
2790 |
XABCY
|
2791 |
ABABC
|
2792 |
*** Failers
|
2793 |
aaxabxbaxbbx
|
2794 |
XBC
|
2795 |
AXC
|
2796 |
ABX
|
2797 |
|
2798 |
/ab*c/i
|
2799 |
ABC
|
2800 |
|
2801 |
/ab*bc/i
|
2802 |
ABC
|
2803 |
ABBC
|
2804 |
|
2805 |
/ab*?bc/i
|
2806 |
ABBBBC
|
2807 |
|
2808 |
/ab{0,}?bc/i
|
2809 |
ABBBBC
|
2810 |
|
2811 |
/ab+?bc/i
|
2812 |
ABBC
|
2813 |
|
2814 |
/ab+bc/i
|
2815 |
*** Failers
|
2816 |
ABC
|
2817 |
ABQ
|
2818 |
|
2819 |
/ab{1,}bc/i
|
2820 |
|
2821 |
/ab+bc/i
|
2822 |
ABBBBC
|
2823 |
|
2824 |
/ab{1,}?bc/i
|
2825 |
ABBBBC
|
2826 |
|
2827 |
/ab{1,3}?bc/i
|
2828 |
ABBBBC
|
2829 |
|
2830 |
/ab{3,4}?bc/i
|
2831 |
ABBBBC
|
2832 |
|
2833 |
/ab{4,5}?bc/i
|
2834 |
*** Failers
|
2835 |
ABQ
|
2836 |
ABBBBC
|
2837 |
|
2838 |
/ab??bc/i
|
2839 |
ABBC
|
2840 |
ABC
|
2841 |
|
2842 |
/ab{0,1}?bc/i
|
2843 |
ABC
|
2844 |
|
2845 |
/ab??bc/i
|
2846 |
|
2847 |
/ab??c/i
|
2848 |
ABC
|
2849 |
|
2850 |
/ab{0,1}?c/i
|
2851 |
ABC
|
2852 |
|
2853 |
/^abc$/i
|
2854 |
ABC
|
2855 |
*** Failers
|
2856 |
ABBBBC
|
2857 |
ABCC
|
2858 |
|
2859 |
/^abc/i
|
2860 |
ABCC
|
2861 |
|
2862 |
/^abc$/i
|
2863 |
|
2864 |
/abc$/i
|
2865 |
AABC
|
2866 |
|
2867 |
/^/i
|
2868 |
ABC
|
2869 |
|
2870 |
/$/i
|
2871 |
ABC
|
2872 |
|
2873 |
/a.c/i
|
2874 |
ABC
|
2875 |
AXC
|
2876 |
|
2877 |
/a.*?c/i
|
2878 |
AXYZC
|
2879 |
|
2880 |
/a.*c/i
|
2881 |
*** Failers
|
2882 |
AABC
|
2883 |
AXYZD
|
2884 |
|
2885 |
/a[bc]d/i
|
2886 |
ABD
|
2887 |
|
2888 |
/a[b-d]e/i
|
2889 |
ACE
|
2890 |
*** Failers
|
2891 |
ABC
|
2892 |
ABD
|
2893 |
|
2894 |
/a[b-d]/i
|
2895 |
AAC
|
2896 |
|
2897 |
/a[-b]/i
|
2898 |
A-
|
2899 |
|
2900 |
/a[b-]/i
|
2901 |
A-
|
2902 |
|
2903 |
/a]/i
|
2904 |
A]
|
2905 |
|
2906 |
/a[]]b/i
|
2907 |
A]B
|
2908 |
|
2909 |
/a[^bc]d/i
|
2910 |
AED
|
2911 |
|
2912 |
/a[^-b]c/i
|
2913 |
ADC
|
2914 |
*** Failers
|
2915 |
ABD
|
2916 |
A-C
|
2917 |
|
2918 |
/a[^]b]c/i
|
2919 |
ADC
|
2920 |
|
2921 |
/ab|cd/i
|
2922 |
ABC
|
2923 |
ABCD
|
2924 |
|
2925 |
/()ef/i
|
2926 |
DEF
|
2927 |
|
2928 |
/$b/i
|
2929 |
*** Failers
|
2930 |
A]C
|
2931 |
B
|
2932 |
|
2933 |
/a\(b/i
|
2934 |
A(B
|
2935 |
|
2936 |
/a\(*b/i
|
2937 |
AB
|
2938 |
A((B
|
2939 |
|
2940 |
/a\\b/i
|
2941 |
A\B
|
2942 |
|
2943 |
/((a))/i
|
2944 |
ABC
|
2945 |
|
2946 |
/(a)b(c)/i
|
2947 |
ABC
|
2948 |
|
2949 |
/a+b+c/i
|
2950 |
AABBABC
|
2951 |
|
2952 |
/a{1,}b{1,}c/i
|
2953 |
AABBABC
|
2954 |
|
2955 |
/a.+?c/i
|
2956 |
ABCABC
|
2957 |
|
2958 |
/a.*?c/i
|
2959 |
ABCABC
|
2960 |
|
2961 |
/a.{0,5}?c/i
|
2962 |
ABCABC
|
2963 |
|
2964 |
/(a+|b)*/i
|
2965 |
AB
|
2966 |
|
2967 |
/(a+|b){0,}/i
|
2968 |
AB
|
2969 |
|
2970 |
/(a+|b)+/i
|
2971 |
AB
|
2972 |
|
2973 |
/(a+|b){1,}/i
|
2974 |
AB
|
2975 |
|
2976 |
/(a+|b)?/i
|
2977 |
AB
|
2978 |
|
2979 |
/(a+|b){0,1}/i
|
2980 |
AB
|
2981 |
|
2982 |
/(a+|b){0,1}?/i
|
2983 |
AB
|
2984 |
|
2985 |
/[^ab]*/i
|
2986 |
CDE
|
2987 |
|
2988 |
/abc/i
|
2989 |
|
2990 |
/a*/i
|
2991 |
|
2992 |
|
2993 |
/([abc])*d/i
|
2994 |
ABBBCD
|
2995 |
|
2996 |
/([abc])*bcd/i
|
2997 |
ABCD
|
2998 |
|
2999 |
/a|b|c|d|e/i
|
3000 |
E
|
3001 |
|
3002 |
/(a|b|c|d|e)f/i
|
3003 |
EF
|
3004 |
|
3005 |
/abcd*efg/i
|
3006 |
ABCDEFG
|
3007 |
|
3008 |
/ab*/i
|
3009 |
XABYABBBZ
|
3010 |
XAYABBBZ
|
3011 |
|
3012 |
/(ab|cd)e/i
|
3013 |
ABCDE
|
3014 |
|
3015 |
/[abhgefdc]ij/i
|
3016 |
HIJ
|
3017 |
|
3018 |
/^(ab|cd)e/i
|
3019 |
ABCDE
|
3020 |
|
3021 |
/(abc|)ef/i
|
3022 |
ABCDEF
|
3023 |
|
3024 |
/(a|b)c*d/i
|
3025 |
ABCD
|
3026 |
|
3027 |
/(ab|ab*)bc/i
|
3028 |
ABC
|
3029 |
|
3030 |
/a([bc]*)c*/i
|
3031 |
ABC
|
3032 |
|
3033 |
/a([bc]*)(c*d)/i
|
3034 |
ABCD
|
3035 |
|
3036 |
/a([bc]+)(c*d)/i
|
3037 |
ABCD
|
3038 |
|
3039 |
/a([bc]*)(c+d)/i
|
3040 |
ABCD
|
3041 |
|
3042 |
/a[bcd]*dcdcde/i
|
3043 |
ADCDCDE
|
3044 |
|
3045 |
/a[bcd]+dcdcde/i
|
3046 |
|
3047 |
/(ab|a)b*c/i
|
3048 |
ABC
|
3049 |
|
3050 |
/((a)(b)c)(d)/i
|
3051 |
ABCD
|
3052 |
|
3053 |
/[a-zA-Z_][a-zA-Z0-9_]*/i
|
3054 |
ALPHA
|
3055 |
|
3056 |
/^a(bc+|b[eh])g|.h$/i
|
3057 |
ABH
|
3058 |
|
3059 |
/(bc+d$|ef*g.|h?i(j|k))/i
|
3060 |
EFFGZ
|
3061 |
IJ
|
3062 |
REFFGZ
|
3063 |
*** Failers
|
3064 |
ADCDCDE
|
3065 |
EFFG
|
3066 |
BCDD
|
3067 |
|
3068 |
/((((((((((a))))))))))/i
|
3069 |
A
|
3070 |
|
3071 |
/((((((((((a))))))))))\10/i
|
3072 |
AA
|
3073 |
|
3074 |
/(((((((((a)))))))))/i
|
3075 |
A
|
3076 |
|
3077 |
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
|
3078 |
A
|
3079 |
|
3080 |
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
|
3081 |
C
|
3082 |
|
3083 |
/multiple words of text/i
|
3084 |
*** Failers
|
3085 |
AA
|
3086 |
UH-UH
|
3087 |
|
3088 |
/multiple words/i
|
3089 |
MULTIPLE WORDS, YEAH
|
3090 |
|
3091 |
/(.*)c(.*)/i
|
3092 |
ABCDE
|
3093 |
|
3094 |
/\((.*), (.*)\)/i
|
3095 |
(A, B)
|
3096 |
|
3097 |
/[k]/i
|
3098 |
|
3099 |
/abcd/i
|
3100 |
ABCD
|
3101 |
|
3102 |
/a(bc)d/i
|
3103 |
ABCD
|
3104 |
|
3105 |
/a[-]?c/i
|
3106 |
AC
|
3107 |
|
3108 |
/(abc)\1/i
|
3109 |
ABCABC
|
3110 |
|
3111 |
/([a-c]*)\1/i
|
3112 |
ABCABC
|
3113 |
|
3114 |
/a(?!b)./
|
3115 |
abad
|
3116 |
|
3117 |
/a(?=d)./
|
3118 |
abad
|
3119 |
|
3120 |
/a(?=c|d)./
|
3121 |
abad
|
3122 |
|
3123 |
/a(?:b|c|d)(.)/
|
3124 |
ace
|
3125 |
|
3126 |
/a(?:b|c|d)*(.)/
|
3127 |
ace
|
3128 |
|
3129 |
/a(?:b|c|d)+?(.)/
|
3130 |
ace
|
3131 |
acdbcdbe
|
3132 |
|
3133 |
/a(?:b|c|d)+(.)/
|
3134 |
acdbcdbe
|
3135 |
|
3136 |
/a(?:b|c|d){2}(.)/
|
3137 |
acdbcdbe
|
3138 |
|
3139 |
/a(?:b|c|d){4,5}(.)/
|
3140 |
acdbcdbe
|
3141 |
|
3142 |
/a(?:b|c|d){4,5}?(.)/
|
3143 |
acdbcdbe
|
3144 |
|
3145 |
/((foo)|(bar))*/
|
3146 |
foobar
|
3147 |
|
3148 |
/a(?:b|c|d){6,7}(.)/
|
3149 |
acdbcdbe
|
3150 |
|
3151 |
/a(?:b|c|d){6,7}?(.)/
|
3152 |
acdbcdbe
|
3153 |
|
3154 |
/a(?:b|c|d){5,6}(.)/
|
3155 |
acdbcdbe
|
3156 |
|
3157 |
/a(?:b|c|d){5,6}?(.)/
|
3158 |
acdbcdbe
|
3159 |
|
3160 |
/a(?:b|c|d){5,7}(.)/
|
3161 |
acdbcdbe
|
3162 |
|
3163 |
/a(?:b|c|d){5,7}?(.)/
|
3164 |
acdbcdbe
|
3165 |
|
3166 |
/a(?:b|(c|e){1,2}?|d)+?(.)/
|
3167 |
ace
|
3168 |
|
3169 |
/^(.+)?B/
|
3170 |
AB
|
3171 |
|
3172 |
/^([^a-z])|(\^)$/
|
3173 |
.
|
3174 |
|
3175 |
/^[<>]&/
|
3176 |
<&OUT
|
3177 |
|
3178 |
/^(a\1?){4}$/
|
3179 |
aaaaaaaaaa
|
3180 |
*** Failers
|
3181 |
AB
|
3182 |
aaaaaaaaa
|
3183 |
aaaaaaaaaaa
|
3184 |
|
3185 |
/^(a(?(1)\1)){4}$/
|
3186 |
aaaaaaaaaa
|
3187 |
*** Failers
|
3188 |
aaaaaaaaa
|
3189 |
aaaaaaaaaaa
|
3190 |
|
3191 |
/(?:(f)(o)(o)|(b)(a)(r))*/
|
3192 |
foobar
|
3193 |
|
3194 |
/(?<=a)b/
|
3195 |
ab
|
3196 |
*** Failers
|
3197 |
cb
|
3198 |
b
|
3199 |
|
3200 |
/(?<!c)b/
|
3201 |
ab
|
3202 |
b
|
3203 |
b
|
3204 |
|
3205 |
/(?:..)*a/
|
3206 |
aba
|
3207 |
|
3208 |
/(?:..)*?a/
|
3209 |
aba
|
3210 |
|
3211 |
/^(?:b|a(?=(.)))*\1/
|
3212 |
abc
|
3213 |
|
3214 |
/^(){3,5}/
|
3215 |
abc
|
3216 |
|
3217 |
/^(a+)*ax/
|
3218 |
aax
|
3219 |
|
3220 |
/^((a|b)+)*ax/
|
3221 |
aax
|
3222 |
|
3223 |
/^((a|bc)+)*ax/
|
3224 |
aax
|
3225 |
|
3226 |
/(a|x)*ab/
|
3227 |
cab
|
3228 |
|
3229 |
/(a)*ab/
|
3230 |
cab
|
3231 |
|
3232 |
/(?:(?i)a)b/
|
3233 |
ab
|
3234 |
|
3235 |
/((?i)a)b/
|
3236 |
ab
|
3237 |
|
3238 |
/(?:(?i)a)b/
|
3239 |
Ab
|
3240 |
|
3241 |
/((?i)a)b/
|
3242 |
Ab
|
3243 |
|
3244 |
/(?:(?i)a)b/
|
3245 |
*** Failers
|
3246 |
cb
|
3247 |
aB
|
3248 |
|
3249 |
/((?i)a)b/
|
3250 |
|
3251 |
/(?i:a)b/
|
3252 |
ab
|
3253 |
|
3254 |
/((?i:a))b/
|
3255 |
ab
|
3256 |
|
3257 |
/(?i:a)b/
|
3258 |
Ab
|
3259 |
|
3260 |
/((?i:a))b/
|
3261 |
Ab
|
3262 |
|
3263 |
/(?i:a)b/
|
3264 |
*** Failers
|
3265 |
aB
|
3266 |
aB
|
3267 |
|
3268 |
/((?i:a))b/
|
3269 |
|
3270 |
/(?:(?-i)a)b/i
|
3271 |
ab
|
3272 |
|
3273 |
/((?-i)a)b/i
|
3274 |
ab
|
3275 |
|
3276 |
/(?:(?-i)a)b/i
|
3277 |
aB
|
3278 |
|
3279 |
/((?-i)a)b/i
|
3280 |
aB
|
3281 |
|
3282 |
/(?:(?-i)a)b/i
|
3283 |
*** Failers
|
3284 |
aB
|
3285 |
Ab
|
3286 |
|
3287 |
/((?-i)a)b/i
|
3288 |
|
3289 |
/(?:(?-i)a)b/i
|
3290 |
aB
|
3291 |
|
3292 |
/((?-i)a)b/i
|
3293 |
aB
|
3294 |
|
3295 |
/(?:(?-i)a)b/i
|
3296 |
*** Failers
|
3297 |
Ab
|
3298 |
AB
|
3299 |
|
3300 |
/((?-i)a)b/i
|
3301 |
|
3302 |
/(?-i:a)b/i
|
3303 |
ab
|
3304 |
|
3305 |
/((?-i:a))b/i
|
3306 |
ab
|
3307 |
|
3308 |
/(?-i:a)b/i
|
3309 |
aB
|
3310 |
|
3311 |
/((?-i:a))b/i
|
3312 |
aB
|
3313 |
|
3314 |
/(?-i:a)b/i
|
3315 |
*** Failers
|
3316 |
AB
|
3317 |
Ab
|
3318 |
|
3319 |
/((?-i:a))b/i
|
3320 |
|
3321 |
/(?-i:a)b/i
|
3322 |
aB
|
3323 |
|
3324 |
/((?-i:a))b/i
|
3325 |
aB
|
3326 |
|
3327 |
/(?-i:a)b/i
|
3328 |
*** Failers
|
3329 |
Ab
|
3330 |
AB
|
3331 |
|
3332 |
/((?-i:a))b/i
|
3333 |
|
3334 |
/((?-i:a.))b/i
|
3335 |
*** Failers
|
3336 |
AB
|
3337 |
a\nB
|
3338 |
|
3339 |
/((?s-i:a.))b/i
|
3340 |
a\nB
|
3341 |
|
3342 |
/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
|
3343 |
cabbbb
|
3344 |
|
3345 |
/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
|
3346 |
caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
3347 |
|
3348 |
/(ab)\d\1/i
|
3349 |
Ab4ab
|
3350 |
ab4Ab
|
3351 |
|
3352 |
/foo\w*\d{4}baz/
|
3353 |
foobar1234baz
|
3354 |
|
3355 |
/x(~~)*(?:(?:F)?)?/
|
3356 |
x~~
|
3357 |
|
3358 |
/^a(?#xxx){3}c/
|
3359 |
aaac
|
3360 |
|
3361 |
/^a (?#xxx) (?#yyy) {3}c/x
|
3362 |
aaac
|
3363 |
|
3364 |
/(?<![cd])b/
|
3365 |
*** Failers
|
3366 |
B\nB
|
3367 |
dbcb
|
3368 |
|
3369 |
/(?<![cd])[ab]/
|
3370 |
dbaacb
|
3371 |
|
3372 |
/(?<!(c|d))b/
|
3373 |
|
3374 |
/(?<!(c|d))[ab]/
|
3375 |
dbaacb
|
3376 |
|
3377 |
/(?<!cd)[ab]/
|
3378 |
cdaccb
|
3379 |
|
3380 |
/^(?:a?b?)*$/
|
3381 |
\
|
3382 |
a
|
3383 |
ab
|
3384 |
aaa
|
3385 |
*** Failers
|
3386 |
dbcb
|
3387 |
a--
|
3388 |
aa--
|
3389 |
|
3390 |
/((?s)^a(.))((?m)^b$)/
|
3391 |
a\nb\nc\n
|
3392 |
|
3393 |
/((?m)^b$)/
|
3394 |
a\nb\nc\n
|
3395 |
|
3396 |
/(?m)^b/
|
3397 |
a\nb\n
|
3398 |
|
3399 |
/(?m)^(b)/
|
3400 |
a\nb\n
|
3401 |
|
3402 |
/((?m)^b)/
|
3403 |
a\nb\n
|
3404 |
|
3405 |
/\n((?m)^b)/
|
3406 |
a\nb\n
|
3407 |
|
3408 |
/((?s).)c(?!.)/
|
3409 |
a\nb\nc\n
|
3410 |
a\nb\nc\n
|
3411 |
|
3412 |
/((?s)b.)c(?!.)/
|
3413 |
a\nb\nc\n
|
3414 |
a\nb\nc\n
|
3415 |
|
3416 |
/^b/
|
3417 |
|
3418 |
/()^b/
|
3419 |
*** Failers
|
3420 |
a\nb\nc\n
|
3421 |
a\nb\nc\n
|
3422 |
|
3423 |
/((?m)^b)/
|
3424 |
a\nb\nc\n
|
3425 |
|
3426 |
/(x)?(?(1)a|b)/
|
3427 |
*** Failers
|
3428 |
a
|
3429 |
a
|
3430 |
|
3431 |
/(x)?(?(1)b|a)/
|
3432 |
a
|
3433 |
|
3434 |
/()?(?(1)b|a)/
|
3435 |
a
|
3436 |
|
3437 |
/()(?(1)b|a)/
|
3438 |
|
3439 |
/()?(?(1)a|b)/
|
3440 |
a
|
3441 |
|
3442 |
/^(\()?blah(?(1)(\)))$/
|
3443 |
(blah)
|
3444 |
blah
|
3445 |
*** Failers
|
3446 |
a
|
3447 |
blah)
|
3448 |
(blah
|
3449 |
|
3450 |
/^(\(+)?blah(?(1)(\)))$/
|
3451 |
(blah)
|
3452 |
blah
|
3453 |
*** Failers
|
3454 |
blah)
|
3455 |
(blah
|
3456 |
|
3457 |
/(?(?!a)a|b)/
|
3458 |
|
3459 |
/(?(?!a)b|a)/
|
3460 |
a
|
3461 |
|
3462 |
/(?(?=a)b|a)/
|
3463 |
*** Failers
|
3464 |
a
|
3465 |
a
|
3466 |
|
3467 |
/(?(?=a)a|b)/
|
3468 |
a
|
3469 |
|
3470 |
/(?=(a+?))(\1ab)/
|
3471 |
aaab
|
3472 |
|
3473 |
/^(?=(a+?))\1ab/
|
3474 |
|
3475 |
/(\w+:)+/
|
3476 |
one:
|
3477 |
|
3478 |
/$(?<=^(a))/
|
3479 |
a
|
3480 |
|
3481 |
/(?=(a+?))(\1ab)/
|
3482 |
aaab
|
3483 |
|
3484 |
/^(?=(a+?))\1ab/
|
3485 |
*** Failers
|
3486 |
aaab
|
3487 |
aaab
|
3488 |
|
3489 |
/([\w:]+::)?(\w+)$/
|
3490 |
abcd
|
3491 |
xy:z:::abcd
|
3492 |
|
3493 |
/^[^bcd]*(c+)/
|
3494 |
aexycd
|
3495 |
|
3496 |
/(a*)b+/
|
3497 |
caab
|
3498 |
|
3499 |
/([\w:]+::)?(\w+)$/
|
3500 |
abcd
|
3501 |
xy:z:::abcd
|
3502 |
*** Failers
|
3503 |
abcd:
|
3504 |
abcd:
|
3505 |
|
3506 |
/^[^bcd]*(c+)/
|
3507 |
aexycd
|
3508 |
|
3509 |
/(>a+)ab/
|
3510 |
|
3511 |
/(?>a+)b/
|
3512 |
aaab
|
3513 |
|
3514 |
/([[:]+)/
|
3515 |
a:[b]:
|
3516 |
|
3517 |
/([[=]+)/
|
3518 |
a=[b]=
|
3519 |
|
3520 |
/([[.]+)/
|
3521 |
a.[b].
|
3522 |
|
3523 |
/((?>a+)b)/
|
3524 |
aaab
|
3525 |
|
3526 |
/(?>(a+))b/
|
3527 |
aaab
|
3528 |
|
3529 |
/((?>[^()]+)|\([^()]*\))+/
|
3530 |
((abc(ade)ufh()()x
|
3531 |
|
3532 |
/a\Z/
|
3533 |
*** Failers
|
3534 |
aaab
|
3535 |
a\nb\n
|
3536 |
|
3537 |
/b\Z/
|
3538 |
a\nb\n
|
3539 |
|
3540 |
/b\z/
|
3541 |
|
3542 |
/b\Z/
|
3543 |
a\nb
|
3544 |
|
3545 |
/b\z/
|
3546 |
a\nb
|
3547 |
*** Failers
|
3548 |
|
3549 |
/^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/
|
3550 |
a
|
3551 |
abc
|
3552 |
a-b
|
3553 |
0-9
|
3554 |
a.b
|
3555 |
5.6.7
|
3556 |
the.quick.brown.fox
|
3557 |
a100.b200.300c
|
3558 |
12-ab.1245
|
3559 |
*** Failers
|
3560 |
\
|
3561 |
.a
|
3562 |
-a
|
3563 |
a-
|
3564 |
a.
|
3565 |
a_b
|
3566 |
a.-
|
3567 |
a..
|
3568 |
ab..bc
|
3569 |
the.quick.brown.fox-
|
3570 |
the.quick.brown.fox.
|
3571 |
the.quick.brown.fox_
|
3572 |
the.quick.brown.fox+
|
3573 |
|
3574 |
/(?>.*)(?<=(abcd|wxyz))/
|
3575 |
alphabetabcd
|
3576 |
endingwxyz
|
3577 |
*** Failers
|
3578 |
a rather long string that doesn't end with one of them
|
3579 |
|
3580 |
/word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
|
3581 |
word cat dog elephant mussel cow horse canary baboon snake shark otherword
|
3582 |
word cat dog elephant mussel cow horse canary baboon snake shark
|
3583 |
|
3584 |
/word (?>[a-zA-Z0-9]+ ){0,30}otherword/
|
3585 |
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
|
3586 |
|
3587 |
/(?<=\d{3}(?!999))foo/
|
3588 |
999foo
|
3589 |
123999foo
|
3590 |
*** Failers
|
3591 |
123abcfoo
|
3592 |
|
3593 |
/(?<=(?!...999)\d{3})foo/
|
3594 |
999foo
|
3595 |
123999foo
|
3596 |
*** Failers
|
3597 |
123abcfoo
|
3598 |
|
3599 |
/(?<=\d{3}(?!999)...)foo/
|
3600 |
123abcfoo
|
3601 |
123456foo
|
3602 |
*** Failers
|
3603 |
123999foo
|
3604 |
|
3605 |
/(?<=\d{3}...)(?<!999)foo/
|
3606 |
123abcfoo
|
3607 |
123456foo
|
3608 |
*** Failers
|
3609 |
123999foo
|
3610 |
|
3611 |
/<a[\s]+href[\s]*=[\s]* # find <a href=
|
3612 |
([\"\'])? # find single or double quote
|
3613 |
(?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching
|
3614 |
# quote, otherwise match up to next space
|
3615 |
/isx
|
3616 |
<a href=abcd xyz
|
3617 |
<a href=\"abcd xyz pqr\" cats
|
3618 |
<a href=\'abcd xyz pqr\' cats
|
3619 |
|
3620 |
/<a\s+href\s*=\s* # find <a href=
|
3621 |
(["'])? # find single or double quote
|
3622 |
(?(1) (.*?)\1 | (\S+)) # if quote found, match up to next matching
|
3623 |
# quote, otherwise match up to next space
|
3624 |
/isx
|
3625 |
<a href=abcd xyz
|
3626 |
<a href=\"abcd xyz pqr\" cats
|
3627 |
<a href = \'abcd xyz pqr\' cats
|
3628 |
|
3629 |
/<a\s+href(?>\s*)=(?>\s*) # find <a href=
|
3630 |
(["'])? # find single or double quote
|
3631 |
(?(1) (.*?)\1 | (\S+)) # if quote found, match up to next matching
|
3632 |
# quote, otherwise match up to next space
|
3633 |
/isx
|
3634 |
<a href=abcd xyz
|
3635 |
<a href=\"abcd xyz pqr\" cats
|
3636 |
<a href = \'abcd xyz pqr\' cats
|
3637 |
|
3638 |
/((Z)+|A)*/
|
3639 |
ZABCDEFG
|
3640 |
|
3641 |
/(Z()|A)*/
|
3642 |
ZABCDEFG
|
3643 |
|
3644 |
/(Z(())|A)*/
|
3645 |
ZABCDEFG
|
3646 |
|
3647 |
/((?>Z)+|A)*/
|
3648 |
ZABCDEFG
|
3649 |
|
3650 |
/((?>)+|A)*/
|
3651 |
ZABCDEFG
|
3652 |
|
3653 |
/a*/g
|
3654 |
abbab
|
3655 |
|
3656 |
/^[a-\d]/
|
3657 |
abcde
|
3658 |
-things
|
3659 |
0digit
|
3660 |
*** Failers
|
3661 |
bcdef
|
3662 |
|
3663 |
/^[\d-a]/
|
3664 |
abcde
|
3665 |
-things
|
3666 |
0digit
|
3667 |
*** Failers
|
3668 |
bcdef
|
3669 |
|
3670 |
/[[:space:]]+/
|
3671 |
> \x09\x0a\x0c\x0d\x0b<
|
3672 |
|
3673 |
/[[:blank:]]+/
|
3674 |
> \x09\x0a\x0c\x0d\x0b<
|
3675 |
|
3676 |
/[\s]+/
|
3677 |
> \x09\x0a\x0c\x0d\x0b<
|
3678 |
|
3679 |
/\s+/
|
3680 |
> \x09\x0a\x0c\x0d\x0b<
|
3681 |
|
3682 |
/ab/x
|
3683 |
ab
|
3684 |
|
3685 |
/(?!\A)x/m
|
3686 |
a\nxb\n
|
3687 |
|
3688 |
/(?!^)x/m
|
3689 |
a\nxb\n
|
3690 |
|
3691 |
/abc\Qabc\Eabc/
|
3692 |
abcabcabc
|
3693 |
|
3694 |
/abc\Q(*+|\Eabc/
|
3695 |
abc(*+|abc
|
3696 |
|
3697 |
/ abc\Q abc\Eabc/x
|
3698 |
abc abcabc
|
3699 |
*** Failers
|
3700 |
abcabcabc
|
3701 |
|
3702 |
/abc#comment
|
3703 |
\Q#not comment
|
3704 |
literal\E/x
|
3705 |
abc#not comment\n literal
|
3706 |
|
3707 |
/abc#comment
|
3708 |
\Q#not comment
|
3709 |
literal/x
|
3710 |
abc#not comment\n literal
|
3711 |
|
3712 |
/abc#comment
|
3713 |
\Q#not comment
|
3714 |
literal\E #more comment
|
3715 |
/x
|
3716 |
abc#not comment\n literal
|
3717 |
|
3718 |
/abc#comment
|
3719 |
\Q#not comment
|
3720 |
literal\E #more comment/x
|
3721 |
abc#not comment\n literal
|
3722 |
|
3723 |
/\Qabc\$xyz\E/
|
3724 |
abc\\\$xyz
|
3725 |
|
3726 |
/\Qabc\E\$\Qxyz\E/
|
3727 |
abc\$xyz
|
3728 |
|
3729 |
/\Gabc/
|
3730 |
abc
|
3731 |
*** Failers
|
3732 |
xyzabc
|
3733 |
|
3734 |
/\Gabc./g
|
3735 |
abc1abc2xyzabc3
|
3736 |
|
3737 |
/abc./g
|
3738 |
abc1abc2xyzabc3
|
3739 |
|
3740 |
/a(?x: b c )d/
|
3741 |
XabcdY
|
3742 |
*** Failers
|
3743 |
Xa b c d Y
|
3744 |
|
3745 |
/((?x)x y z | a b c)/
|
3746 |
XabcY
|
3747 |
AxyzB
|
3748 |
|
3749 |
/(?i)AB(?-i)C/
|
3750 |
XabCY
|
3751 |
*** Failers
|
3752 |
XabcY
|
3753 |
|
3754 |
/((?i)AB(?-i)C|D)E/
|
3755 |
abCE
|
3756 |
DE
|
3757 |
*** Failers
|
3758 |
abcE
|
3759 |
abCe
|
3760 |
dE
|
3761 |
De
|
3762 |
|
3763 |
/(.*)\d+\1/
|
3764 |
abc123abc
|
3765 |
abc123bc
|
3766 |
|
3767 |
/(.*)\d+\1/s
|
3768 |
abc123abc
|
3769 |
abc123bc
|
3770 |
|
3771 |
/((.*))\d+\1/
|
3772 |
abc123abc
|
3773 |
abc123bc
|
3774 |
|
3775 |
/-- This tests for an IPv6 address in the form where it can have up to --/
|
3776 |
/-- eight components, one and only one of which is empty. This must be --/
|
3777 |
/-- an internal component. --/
|
3778 |
|
3779 |
/^(?!:) # colon disallowed at start
|
3780 |
(?: # start of item
|
3781 |
(?: [0-9a-f]{1,4} | # 1-4 hex digits or
|
3782 |
(?(1)0 | () ) ) # if null previously matched, fail; else null
|
3783 |
: # followed by colon
|
3784 |
){1,7} # end item; 1-7 of them required
|
3785 |
[0-9a-f]{1,4} $ # final hex number at end of string
|
3786 |
(?(1)|.) # check that there was an empty component
|
3787 |
/xi
|
3788 |
a123::a123
|
3789 |
a123:b342::abcd
|
3790 |
a123:b342::324e:abcd
|
3791 |
a123:ddde:b342::324e:abcd
|
3792 |
a123:ddde:b342::324e:dcba:abcd
|
3793 |
a123:ddde:9999:b342::324e:dcba:abcd
|
3794 |
*** Failers
|
3795 |
1:2:3:4:5:6:7:8
|
3796 |
a123:bce:ddde:9999:b342::324e:dcba:abcd
|
3797 |
a123::9999:b342::324e:dcba:abcd
|
3798 |
abcde:2:3:4:5:6:7:8
|
3799 |
::1
|
3800 |
abcd:fee0:123::
|
3801 |
:1
|
3802 |
1:
|
3803 |
|
3804 |
/[z\Qa-d]\E]/
|
3805 |
z
|
3806 |
a
|
3807 |
-
|
3808 |
d
|
3809 |
]
|
3810 |
*** Failers
|
3811 |
b
|
3812 |
|
3813 |
/[\z\C]/
|
3814 |
z
|
3815 |
C
|
3816 |
|
3817 |
/\M/
|
3818 |
M
|
3819 |
|
3820 |
/(a+)*b/
|
3821 |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
3822 |
|
3823 |
/(?i)reg(?:ul(?:[a]|ae)r|ex)/
|
3824 |
REGular
|
3825 |
regulaer
|
3826 |
Regex
|
3827 |
regulr
|
3828 |
|
3829 |
/[--]+/
|
3830 |
|
3831 |
|
3832 |
|
3833 |
|
3834 |
|
3835 |
/(?<=Z)X./
|
3836 |
\x84XAZXB
|
3837 |
|
3838 |
/ab cd (?x) de fg/
|
3839 |
ab cd defg
|
3840 |
|
3841 |
/ab cd(?x) de fg/
|
3842 |
ab cddefg
|
3843 |
** Failers
|
3844 |
abcddefg
|
3845 |
|
3846 |
/(?<![^f]oo)(bar)/
|
3847 |
foobarX
|
3848 |
** Failers
|
3849 |
boobarX
|
3850 |
|
3851 |
/(?<![^f])X/
|
3852 |
offX
|
3853 |
** Failers
|
3854 |
onyX
|
3855 |
|
3856 |
/(?<=[^f])X/
|
3857 |
onyX
|
3858 |
** Failers
|
3859 |
offX
|
3860 |
|
3861 |
/^/mg
|
3862 |
a\nb\nc\n
|
3863 |
\
|
3864 |
|
3865 |
/(?<=C\n)^/mg
|
3866 |
A\nC\nC\n
|
3867 |
|
3868 |
/(?:(?(1)a|b)(X))+/
|
3869 |
bXaX
|
3870 |
|
3871 |
/(?:(?(1)\1a|b)(X|Y))+/
|
3872 |
bXXaYYaY
|
3873 |
bXYaXXaX
|
3874 |
|
3875 |
/()()()()()()()()()(?:(?(10)\10a|b)(X|Y))+/
|
3876 |
bXXaYYaY
|
3877 |
|
3878 |
/[[,abc,]+]/
|
3879 |
abc]
|
3880 |
a,b]
|
3881 |
[a,b,c]
|
3882 |
|
3883 |
/(?-x: )/x
|
3884 |
A\x20B
|
3885 |
|
3886 |
"(?x)(?-x: \s*#\s*)"
|
3887 |
A # B
|
3888 |
** Failers
|
3889 |
#
|
3890 |
|
3891 |
"(?x-is)(?:(?-ixs) \s*#\s*) include"
|
3892 |
A #include
|
3893 |
** Failers
|
3894 |
A#include
|
3895 |
A #Include
|
3896 |
|
3897 |
/a*b*\w/
|
3898 |
aaabbbb
|
3899 |
aaaa
|
3900 |
a
|
3901 |
|
3902 |
/a*b?\w/
|
3903 |
aaabbbb
|
3904 |
aaaa
|
3905 |
a
|
3906 |
|
3907 |
/a*b{0,4}\w/
|
3908 |
aaabbbb
|
3909 |
aaaa
|
3910 |
a
|
3911 |
|
3912 |
/a*b{0,}\w/
|
3913 |
aaabbbb
|
3914 |
aaaa
|
3915 |
a
|
3916 |
|
3917 |
/a*\d*\w/
|
3918 |
0a
|
3919 |
a
|
3920 |
|
3921 |
/a*b *\w/x
|
3922 |
a
|
3923 |
|
3924 |
/a*b#comment
|
3925 |
*\w/x
|
3926 |
a
|
3927 |
|
3928 |
/a* b *\w/x
|
3929 |
a
|
3930 |
|
3931 |
/^\w+=.*(\\\n.*)*/
|
3932 |
abc=xyz\\\npqr
|
3933 |
|
3934 |
/(?=(\w+))\1:/
|
3935 |
abcd:
|
3936 |
|
3937 |
/^(?=(\w+))\1:/
|
3938 |
abcd:
|
3939 |
|
3940 |
/^\Eabc/
|
3941 |
abc
|
3942 |
|
3943 |
/^[\Eabc]/
|
3944 |
a
|
3945 |
** Failers
|
3946 |
E
|
3947 |
|
3948 |
/^[a-\Ec]/
|
3949 |
b
|
3950 |
** Failers
|
3951 |
-
|
3952 |
E
|
3953 |
|
3954 |
/^[a\E\E-\Ec]/
|
3955 |
b
|
3956 |
** Failers
|
3957 |
-
|
3958 |
E
|
3959 |
|
3960 |
/^[\E\Qa\E-\Qz\E]+/
|
3961 |
b
|
3962 |
** Failers
|
3963 |
-
|
3964 |
|
3965 |
/^[a\Q]bc\E]/
|
3966 |
a
|
3967 |
]
|
3968 |
c
|
3969 |
|
3970 |
/^[a-\Q\E]/
|
3971 |
a
|
3972 |
-
|
3973 |
|
3974 |
/^(a()*)*/
|
3975 |
aaaa
|
3976 |
|
3977 |
/^(?:a(?:(?:))*)*/
|
3978 |
aaaa
|
3979 |
|
3980 |
/^(a()+)+/
|
3981 |
aaaa
|
3982 |
|
3983 |
/^(?:a(?:(?:))+)+/
|
3984 |
aaaa
|
3985 |
|
3986 |
/(a){0,3}(?(1)b|(c|))*D/
|
3987 |
abbD
|
3988 |
ccccD
|
3989 |
D
|
3990 |
|
3991 |
/(a|)*\d/
|
3992 |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
3993 |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
|
3994 |
|
3995 |
/(?>a|)*\d/
|
3996 |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
3997 |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
|
3998 |
|
3999 |
/(?:a|)*\d/
|
4000 |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
4001 |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
|
4002 |
|
4003 |
/\Z/g
|
4004 |
abc\n
|
4005 |
|
4006 |
/^(?s)(?>.*)(?<!\n)/
|
4007 |
abc
|
4008 |
abc\n
|
4009 |
|
4010 |
/^(?![^\n]*\n\z)/
|
4011 |
abc
|
4012 |
abc\n
|
4013 |
|
4014 |
/\z(?<!\n)/
|
4015 |
abc
|
4016 |
abc\n
|
4017 |
|
4018 |
/(.*(.)?)*/
|
4019 |
abcd
|
4020 |
|
4021 |
/( (A | (?(1)0|) )* )/x
|
4022 |
abcd
|
4023 |
|
4024 |
/( ( (?(1)0|) )* )/x
|
4025 |
abcd
|
4026 |
|
4027 |
/( (?(1)0|)* )/x
|
4028 |
abcd
|
4029 |
|
4030 |
/[[:abcd:xyz]]/
|
4031 |
a]
|
4032 |
:]
|
4033 |
|
4034 |
/[abc[:x\]pqr]/
|
4035 |
a
|
4036 |
[
|
4037 |
:
|
4038 |
]
|
4039 |
p
|
4040 |
|
4041 |
/.*[op][xyz]/
|
4042 |
fooabcfoo
|
4043 |
|
4044 |
/(?(?=.*b)b|^)/
|
4045 |
adc
|
4046 |
abc
|
4047 |
|
4048 |
/(?(?=^.*b)b|^)/
|
4049 |
adc
|
4050 |
abc
|
4051 |
|
4052 |
/(?(?=.*b)b|^)*/
|
4053 |
adc
|
4054 |
abc
|
4055 |
|
4056 |
/(?(?=.*b)b|^)+/
|
4057 |
adc
|
4058 |
abc
|
4059 |
|
4060 |
/(?(?=b).*b|^d)/
|
4061 |
abc
|
4062 |
|
4063 |
/(?(?=.*b).*b|^d)/
|
4064 |
abc
|
4065 |
|
4066 |
/^%((?(?=[a])[^%])|b)*%$/
|
4067 |
%ab%
|
4068 |
|
4069 |
/(?i)a(?-i)b|c/
|
4070 |
XabX
|
4071 |
XAbX
|
4072 |
CcC
|
4073 |
** Failers
|
4074 |
XABX
|
4075 |
|
4076 |
/[\x00-\xff\s]+/
|
4077 |
\x0a\x0b\x0c\x0d
|
4078 |
|
4079 |
/^\c/
|
4080 |
?
|
4081 |
|
4082 |
/-- End of testinput1 --/
|