1: converted from the pcre testdata/testinput1 2001-06-15
2
3E	the quick brown fox	the quick brown fox	(0,19)
4E	SAME	The quick brown FOX	NOMATCH
5E	SAME	What do you know about the quick brown fox?	(23,42)
6E	SAME	What do you know about THE QUICK BROWN FOX?	NOMATCH
7Ei	The quick brown fox	the quick brown fox	(0,19)
8Ei	SAME	The quick brown FOX	(0,19)
9Ei	SAME	What do you know about the quick brown fox?	(23,42)
10Ei	SAME	What do you know about THE QUICK BROWN FOX?	(23,42)
11E$	abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz	abcd\t\n\r\f\a\e9;$\\?caxyz	(0,20)
12E	a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz	abxyzpqrrrabbxyyyypqAzz	(0,23)
13E	SAME	abxyzpqrrrabbxyyyypqAzz	(0,23)
14E	SAME	aabxyzpqrrrabbxyyyypqAzz	(0,24)
15E	SAME	aaabxyzpqrrrabbxyyyypqAzz	(0,25)
16E	SAME	aaaabxyzpqrrrabbxyyyypqAzz	(0,26)
17E	SAME	abcxyzpqrrrabbxyyyypqAzz	(0,24)
18E	SAME	aabcxyzpqrrrabbxyyyypqAzz	(0,25)
19E	SAME	aaabcxyzpqrrrabbxyyyypAzz	(0,25)
20E	SAME	aaabcxyzpqrrrabbxyyyypqAzz	(0,26)
21E	SAME	aaabcxyzpqrrrabbxyyyypqqAzz	(0,27)
22E	SAME	aaabcxyzpqrrrabbxyyyypqqqAzz	(0,28)
23E	SAME	aaabcxyzpqrrrabbxyyyypqqqqAzz	(0,29)
24E	SAME	aaabcxyzpqrrrabbxyyyypqqqqqAzz	(0,30)
25E	SAME	aaabcxyzpqrrrabbxyyyypqqqqqqAzz	(0,31)
26E	SAME	aaaabcxyzpqrrrabbxyyyypqAzz	(0,27)
27E	SAME	abxyzzpqrrrabbxyyyypqAzz	(0,24)
28E	SAME	aabxyzzzpqrrrabbxyyyypqAzz	(0,26)
29E	SAME	aaabxyzzzzpqrrrabbxyyyypqAzz	(0,28)
30E	SAME	aaaabxyzzzzpqrrrabbxyyyypqAzz	(0,29)
31E	SAME	abcxyzzpqrrrabbxyyyypqAzz	(0,25)
32E	SAME	aabcxyzzzpqrrrabbxyyyypqAzz	(0,27)
33E	SAME	aaabcxyzzzzpqrrrabbxyyyypqAzz	(0,29)
34E	SAME	aaaabcxyzzzzpqrrrabbxyyyypqAzz	(0,30)
35E	SAME	aaaabcxyzzzzpqrrrabbbxyyyypqAzz	(0,31)
36E	SAME	aaaabcxyzzzzpqrrrabbbxyyyyypqAzz	(0,32)
37E	SAME	aaabcxyzpqrrrabbxyyyypABzz	(0,26)
38E	SAME	aaabcxyzpqrrrabbxyyyypABBzz	(0,27)
39E	SAME	>>>aaabxyzpqrrrabbxyyyypqAzz	(3,28)
40E	SAME	>aaaabxyzpqrrrabbxyyyypqAzz	(1,27)
41E	SAME	>>>>abcxyzpqrrrabbxyyyypqAzz	(4,28)
42E	SAME	abxyzpqrrabbxyyyypqAzz	NOMATCH
43E	SAME	abxyzpqrrrrabbxyyyypqAzz	NOMATCH
44E	SAME	abxyzpqrrrabxyyyypqAzz	NOMATCH
45E	SAME	aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz	NOMATCH
46E	SAME	aaaabcxyzzzzpqrrrabbbxyyypqAzz	NOMATCH
47E	SAME	aaabcxyzpqrrrabbxyyyypqqqqqqqAzz	NOMATCH
48E	^(abc){1,2}zz	abczz	(0,5)(0,3)
49E	SAME	abcabczz	(0,8)(3,6)
50E	SAME	zz	NOMATCH
51E	SAME	abcabcabczz	NOMATCH
52E	SAME	>>abczz	NOMATCH
53E	^(b+?|a){1,2}?c	bc	(0,2)(0,1)
54E	SAME	bbc	(0,3)(1,2)
55E	SAME	bbbc	(0,4)(1,3)
56E	SAME	bac	(0,3)(1,2)
57E	SAME	bbac	(0,4)(2,3)
58E	SAME	aac	(0,3)(1,2)
59E	SAME	abbbbbbbbbbbc	(0,13)(1,12)
60E	SAME	bbbbbbbbbbbac	(0,13)(11,12)
61E	SAME	aaac	NOMATCH
62E	SAME	abbbbbbbbbbbac	NOMATCH
63E	^(b+|a){1,2}c	bc	(0,2)(0,1)
64E	SAME	bbc	(0,3)(0,2)
65E	SAME	bbbc	(0,4)(0,3)
66E	SAME	bac	(0,3)(1,2)
67E	SAME	bbac	(0,4)(2,3)
68E	SAME	aac	(0,3)(1,2)
69E	SAME	abbbbbbbbbbbc	(0,13)(1,12)
70E	SAME	bbbbbbbbbbbac	(0,13)(11,12)
71E	SAME	aaac	NOMATCH
72E	SAME	abbbbbbbbbbbac	NOMATCH
73E	^(b+|a){1,2}?bc	bbc	(0,3)(0,1)
74E	^(b*|ba){1,2}?bc	babc	(0,4)(0,2)
75E	SAME	bbabc	(0,5)(1,3)
76E	SAME	bababc	(0,6)(2,4)
77E	SAME	bababbc	NOMATCH
78E	SAME	babababc	NOMATCH
79E	^(ba|b*){1,2}?bc	babc	(0,4)(0,2)
80E	SAME	bbabc	(0,5)(1,3)
81E	SAME	bababc	(0,6)(2,4)
82E	SAME	bababbc	NOMATCH
83E	SAME	babababc	NOMATCH
84E$	^\\ca\\cA\\c[\\c{\\c:	\x01\x01\e;z	(0,5)
85E$kv	^[ab\\]cde]	athing	(0,1)
86E$kv	SAME	bthing	(0,1)
87E$kv	SAME	]thing	(0,1)
88E$kv	SAME	cthing	(0,1)
89E$kv	SAME	dthing	(0,1)
90E$kv	SAME	ething	(0,1)
91E$kv	SAME	fthing	NOMATCH
92E$kv	SAME	[thing	NOMATCH
93E$kv	SAME	\\thing	NOMATCH
94E	^[]cde]	]thing	(0,1)
95E	SAME	cthing	(0,1)
96E	SAME	dthing	(0,1)
97E	SAME	ething	(0,1)
98E	SAME	athing	NOMATCH
99E	SAME	fthing	NOMATCH
100E$kv	^[^ab\\]cde]	fthing	(0,1)
101E$kv	SAME	[thing	(0,1)
102E$kv	SAME	\\thing	(0,1)
103E$kv	SAME	athing	NOMATCH
104E$kv	SAME	bthing	NOMATCH
105E$kv	SAME	]thing	NOMATCH
106E$kv	SAME	cthing	NOMATCH
107E$kv	SAME	dthing	NOMATCH
108E$kv	SAME	ething	NOMATCH
109E	^[^]cde]	athing	(0,1)
110E	SAME	fthing	(0,1)
111E	SAME	]thing	NOMATCH
112E	SAME	cthing	NOMATCH
113E	SAME	dthing	NOMATCH
114E	SAME	ething	NOMATCH
115E$x	^\\�	�	(0,1)
116E	^�	�	(0,1)
117E	^[0-9]+$	0	(0,1)
118E	SAME	1	(0,1)
119E	SAME	2	(0,1)
120E	SAME	3	(0,1)
121E	SAME	4	(0,1)
122E	SAME	5	(0,1)
123E	SAME	6	(0,1)
124E	SAME	7	(0,1)
125E	SAME	8	(0,1)
126E	SAME	9	(0,1)
127E	SAME	10	(0,2)
128E	SAME	100	(0,3)
129E	SAME	abc	NOMATCH
130E	^.*nter	enter	(0,5)
131E	SAME	inter	(0,5)
132E	SAME	uponter	(0,7)
133E	^xxx[0-9]+$	xxx0	(0,4)
134E	SAME	xxx1234	(0,7)
135E	SAME	xxx	NOMATCH
136E	^.+[0-9][0-9][0-9]$	x123	(0,4)
137E	SAME	xx123	(0,5)
138E	SAME	123456	(0,6)
139E	SAME	123	NOMATCH
140E	SAME	x1234	(0,5)
141E	^.+?[0-9][0-9][0-9]$	x123	(0,4)
142E	SAME	xx123	(0,5)
143E	SAME	123456	(0,6)
144E	SAME	123	NOMATCH
145E	SAME	x1234	(0,5)
146E$	^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$	abc!pqr=apquxz.ixr.zzz.ac.uk	(0,28)(0,3)(4,7)
147E$	SAME	!pqr=apquxz.ixr.zzz.ac.uk	NOMATCH
148E$	SAME	abc!=apquxz.ixr.zzz.ac.uk	NOMATCH
149E$	SAME	abc!pqr=apquxz:ixr.zzz.ac.uk	NOMATCH
150E$	SAME	abc!pqr=apquxz.ixr.zzz.ac.ukk	NOMATCH
151E	:	Well, we need a colon: somewhere	(21,22)
152E	SAME	*** Fail if we don't	NOMATCH
153E$iv	([\\da-f:]+)$	0abc	(0,4)(0,4)
154E$iv	SAME	abc	(0,3)(0,3)
155E$iv	SAME	fed	(0,3)(0,3)
156E$iv	SAME	E	(0,1)(0,1)
157E$iv	SAME	::	(0,2)(0,2)
158E$iv	SAME	5f03:12C0::932e	(0,15)(0,15)
159E$iv	SAME	fed def	(4,7)(4,7)
160E$iv	SAME	Any old stuff	(11,13)(11,13)
161E$iv	SAME	0zzz	NOMATCH
162E$iv	SAME	gzzz	NOMATCH
163E$iv	SAME	fed\x20	NOMATCH
164E$iv	SAME	Any old rubbish	NOMATCH
165E$	^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$	.1.2.3	(0,6)(1,2)(3,4)(5,6)
166E$	SAME	A.12.123.0	(0,10)(2,4)(5,8)(9,10)
167E$	SAME	.1.2.3333	NOMATCH
168E$	SAME	1.2.3	NOMATCH
169E$	SAME	1234.2.3	NOMATCH
170E$	^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$	1 IN SOA non-sp1 non-sp2(	(0,25)(0,1)(9,16)(17,24)
171E$	SAME	1    IN    SOA    non-sp1    non-sp2   (	(0,40)(0,1)(18,25)(29,36)
172E$	SAME	1IN SOA non-sp1 non-sp2(	NOMATCH
173E$kv	^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$	a.	(0,2)
174E$kv	SAME	Z.	(0,2)
175E$kv	SAME	2.	(0,2)
176E$kv	SAME	ab-c.pq-r.	(0,10)(4,9)
177E$kv	SAME	sxk.zzz.ac.uk.	(0,14)(10,13)
178E$kv	SAME	x-.y-.	(0,6)(2,5)
179E$kv	SAME	-abc.peq.	NOMATCH
180E$kv	^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$	*.a	(0,3)
181E$kv	SAME	*.b0-a	(0,6)(3,6)
182E$kv	SAME	*.c3-b.c	(0,8)(3,6)(6,8)
183E$kv	SAME	*.c-a.b-c	(0,9)(3,5)(5,9)(7,9)
184E$kv	SAME	*.0	NOMATCH
185E$kv	SAME	*.a-	NOMATCH
186E$kv	SAME	*.a-b.c-	NOMATCH
187E$kv	SAME	*.c-a.0-c	NOMATCH
188E	^(?=ab(de))(abd)(e)	abde	(0,4)(2,4)(0,3)(3,4)
189E	^(?!(ab)de|x)(abd)(f)	abdf	(0,4)(?,?)(0,3)(3,4)
190E	^(?=(ab(cd)))(ab)	abcd	(0,2)(0,4)(2,4)(0,2)
191E$iv	^[\\da-f](\\.[\\da-f])*$	a.b.c.d	(0,7)(5,7)
192E$iv	SAME	A.B.C.D	(0,7)(5,7)
193E$iv	SAME	a.b.c.1.2.3.C	(0,13)(11,13)
194E$	^".*"\\s*(;.*)?$	"1234"	(0,6)
195E$	SAME	"abcd" ;	(0,8)(7,8)
196E$	SAME	"" ; rhubarb	(0,12)(3,12)
197E$	SAME	"1234" : things	NOMATCH
198E$	^$	NULL	(0,0)
199E$c	   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)	ab c	(0,4)
200E$c	SAME	abc	NOMATCH
201E$c	SAME	ab cde	NOMATCH
202E$	(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)	ab c	(0,4)
203E$	SAME	abc	NOMATCH
204E$	SAME	ab cde	NOMATCH
205E$c	^   a\\ b[c ]d       $	a bcd	(0,5)
206E$c	SAME	a b d	(0,5)
207E$c	SAME	abcd	NOMATCH
208E$c	SAME	ab d	NOMATCH
209E	^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$	abcdefhijklm	(0,12)(0,3)(1,3)(2,3)(3,6)(4,6)(5,6)(6,9)(7,9)(8,9)(9,12)(10,12)(11,12)
210E	^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$	abcdefhijklm	(0,12)(1,3)(2,3)(4,6)(5,6)(7,9)(8,9)(10,12)(11,12)
211E$v	^[\\w][\\W][\\s][\\S][\\d][\\D][\\f][\\n][\\c]][\\022]	a+ Z0+\x0c\n\x1d\x12	(0,10)
212E$	^[.^$|()*+?{,}]+	.^$(*+)|{?,?}	(0,13)
213E$	^a*\\w	z	(0,1)
214E$	SAME	az	(0,2)
215E$	SAME	aaaz	(0,4)
216E$	SAME	a	(0,1)
217E$	SAME	aa	(0,2)
218E$	SAME	aaaa	(0,4)
219E$	SAME	a+	(0,1)
220E$	SAME	aa+	(0,2)
221E$	^a*?\\w	z	(0,1)
222E$	SAME	az	(0,1)
223E$	SAME	aaaz	(0,1)
224E$	SAME	a	(0,1)
225E$	SAME	aa	(0,1)
226E$	SAME	aaaa	(0,1)
227E$	SAME	a+	(0,1)
228E$	SAME	aa+	(0,1)
229E$	^a+\\w	az	(0,2)
230E$	SAME	aaaz	(0,4)
231E$	SAME	aa	(0,2)
232E$	SAME	aaaa	(0,4)
233E$	SAME	aa+	(0,2)
234E$	^a+?\\w	az	(0,2)
235E$	SAME	aaaz	(0,2)
236E$	SAME	aa	(0,2)
237E$	SAME	aaaa	(0,2)
238E$	SAME	aa+	(0,2)
239E$	^\\d{8}\\w{2,}	1234567890	(0,10)
240E$	SAME	12345678ab	(0,10)
241E$	SAME	12345678__	(0,10)
242E$	SAME	1234567	NOMATCH
243E$v	^[aeiou\\d]{4,5}$	uoie	(0,4)
244E$v	SAME	1234	(0,4)
245E$v	SAME	12345	(0,5)
246E$v	SAME	aaaaa	(0,5)
247E$v	SAME	123456	NOMATCH
248E$v	^[aeiou\\d]{4,5}?	uoie	(0,4)
249E$v	SAME	1234	(0,4)
250E$v	SAME	12345	(0,4)
251E$v	SAME	aaaaa	(0,4)
252E$v	SAME	123456	(0,4)
253E$	\\A(abc|def)=(\\1){2,3}\\Z	abc=abcabc	(0,10)(0,3)(7,10)
254E$	SAME	def=defdefdef	(0,13)(0,3)(10,13)
255E$	SAME	abc=defdef	NOMATCH
256E$h	^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$	abcdefghijkcda2	(0,15)(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)(10,11)(11,13)
257E$h	SAME	abcdefghijkkkkcda2	(0,18)(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)(10,11)(14,16)
258E$	^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(?11)*((?3)(?4))(?1)(?#)2$	abcdefghijkcda2	(0,15)(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)(10,11)(11,13)
259E$	SAME	abcdefghijkkkkcda2	(0,18)(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)(10,11)(14,16)
260E$z	(cat(a(ract|tonic)|erpillar)) \\1()2(3)	cataract cataract23	(0,19)(0,8)(3,8)(4,8)(17,17)(18,19)
261E$z	SAME	catatonic catatonic23	(0,21)(0,9)(3,9)(4,9)(19,19)(20,21)
262E$z	SAME	caterpillar caterpillar23	(0,25)(0,11)(3,11)(?,?)(23,23)(24,25)
263E	^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]	From abcd  Mon Sep 01 12:33:02 1997	(0,27)(5,9)
264E$	^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d	From abcd  Mon Sep 01 12:33:02 1997	(0,27)(15,19)
265E$	SAME	From abcd  Mon Sep  1 12:33:02 1997	(0,27)(15,20)
266E$	SAME	From abcd  Sep 01 12:33:02 1997	NOMATCH
267Ej$	^12.34	12\n34	(0,5)
268Ej$	SAME	12\r34	(0,5)
269E$	\\w+(?=\\t)	the quick brown\t fox	(10,15)
270E	foo(?!bar)(.*)	foobar is foolish see?	(10,22)(13,22)
271E	(?:(?!foo)...|^.{0,2})bar(.*)	foobar crowbar etc	(8,18)(14,18)
272E	SAME	barrel	(0,6)(3,6)
273E	SAME	2barrel	(0,7)(4,7)
274E	SAME	A barrel	(0,8)(5,8)
275E$	^(\\D*)(?=\\d)(?!123)	abc456	(0,3)(0,3)
276E$	SAME	abc123	NOMATCH
277E$	^1234(?# test newlines\n\
278  inside)	1234	(0,4)
279E$c	^1234 #comment in extended re\n\
280  	1234	(0,4)
281E$c	#rhubarb\n\
282  abcd	abcd	(0,4)
283Ec	^abcd#rhubarb	abcd	(0,4)
284E$	^(a)\\1{2,3}(.)	aaab	(0,4)(0,1)(3,4)
285E$	SAME	aaaab	(0,5)(0,1)(4,5)
286E$	SAME	aaaaab	(0,5)(0,1)(4,5)
287E$	SAME	aaaaaab	(0,5)(0,1)(4,5)
288E	(?!^)abc	the abc	(4,7)
289E	SAME	abc	NOMATCH
290E	(?=^)abc	abc	(0,3)
291E	SAME	the abc	NOMATCH
292E	^[ab]{1,3}(ab*|b)	aabbbbb	(0,7)(1,7)
293E	^[ab]{1,3}?(ab*|b)	aabbbbb	(0,7)(1,7)
294E	^[ab]{1,3}?(ab*?|b)	aabbbbb	(0,2)(1,2)
295E	^[ab]{1,3}(ab*?|b)	aabbbbb	(0,4)(3,4)
296E$ckv	  (?: [\\040\\t] |  \\(\n\
297(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
298\\)  )*                          # optional leading comment\n\
299(?:    (?:\n\
300[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
301(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
302|\n\
303" (?:                      # opening quote...\n\
304[^\\\\\\x80-\\xff\\n\\015"]                #   Anything except backslash and quote\n\
305|                     #    or\n\
306\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)\n\
307)* "  # closing quote\n\
308)                    # initial word\n\
309(?:  (?: [\\040\\t] |  \\(\n\
310(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
311\\)  )*  \\.  (?: [\\040\\t] |  \\(\n\
312(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
313\\)  )*   (?:\n\
314[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
315(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
316|\n\
317" (?:                      # opening quote...\n\
318[^\\\\\\x80-\\xff\\n\\015"]                #   Anything except backslash and quote\n\
319|                     #    or\n\
320\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)\n\
321)* "  # closing quote\n\
322)  )* # further okay, if led by a period\n\
323(?: [\\040\\t] |  \\(\n\
324(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
325\\)  )*  @  (?: [\\040\\t] |  \\(\n\
326(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
327\\)  )*    (?:\n\
328[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
329(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
330|   \\[                         # [\n\
331(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
332\\]                        #           ]\n\
333)                           # initial subdomain\n\
334(?:                                  #\n\
335(?: [\\040\\t] |  \\(\n\
336(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
337\\)  )*  \\.                        # if led by a period...\n\
338(?: [\\040\\t] |  \\(\n\
339(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
340\\)  )*   (?:\n\
341[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
342(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
343|   \\[                         # [\n\
344(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
345\\]                        #           ]\n\
346)                     #   ...further okay\n\
347)*\n\
348# address\n\
349|                     #  or\n\
350(?:\n\
351[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
352(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
353|\n\
354" (?:                      # opening quote...\n\
355[^\\\\\\x80-\\xff\\n\\015"]                #   Anything except backslash and quote\n\
356|                     #    or\n\
357\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)\n\
358)* "  # closing quote\n\
359)             # one word, optionally followed by....\n\
360(?:\n\
361[^()<>@,;:".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...\n\
362\\(\n\
363(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
364\\)       |  # comments, or...\n\
365\n\
366" (?:                      # opening quote...\n\
367[^\\\\\\x80-\\xff\\n\\015"]                #   Anything except backslash and quote\n\
368|                     #    or\n\
369\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)\n\
370)* "  # closing quote\n\
371# quoted strings\n\
372)*\n\
373<  (?: [\\040\\t] |  \\(\n\
374(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
375\\)  )*                     # leading <\n\
376(?:  @  (?: [\\040\\t] |  \\(\n\
377(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
378\\)  )*    (?:\n\
379[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
380(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
381|   \\[                         # [\n\
382(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
383\\]                        #           ]\n\
384)                           # initial subdomain\n\
385(?:                                  #\n\
386(?: [\\040\\t] |  \\(\n\
387(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
388\\)  )*  \\.                        # if led by a period...\n\
389(?: [\\040\\t] |  \\(\n\
390(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
391\\)  )*   (?:\n\
392[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
393(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
394|   \\[                         # [\n\
395(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
396\\]                        #           ]\n\
397)                     #   ...further okay\n\
398)*\n\
399\n\
400(?:  (?: [\\040\\t] |  \\(\n\
401(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
402\\)  )*  ,  (?: [\\040\\t] |  \\(\n\
403(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
404\\)  )*  @  (?: [\\040\\t] |  \\(\n\
405(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
406\\)  )*    (?:\n\
407[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
408(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
409|   \\[                         # [\n\
410(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
411\\]                        #           ]\n\
412)                           # initial subdomain\n\
413(?:                                  #\n\
414(?: [\\040\\t] |  \\(\n\
415(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
416\\)  )*  \\.                        # if led by a period...\n\
417(?: [\\040\\t] |  \\(\n\
418(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
419\\)  )*   (?:\n\
420[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
421(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
422|   \\[                         # [\n\
423(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
424\\]                        #           ]\n\
425)                     #   ...further okay\n\
426)*\n\
427)* # further okay, if led by comma\n\
428:                                # closing colon\n\
429(?: [\\040\\t] |  \\(\n\
430(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
431\\)  )*  )? #       optional route\n\
432(?:\n\
433[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
434(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
435|\n\
436" (?:                      # opening quote...\n\
437[^\\\\\\x80-\\xff\\n\\015"]                #   Anything except backslash and quote\n\
438|                     #    or\n\
439\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)\n\
440)* "  # closing quote\n\
441)                    # initial word\n\
442(?:  (?: [\\040\\t] |  \\(\n\
443(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
444\\)  )*  \\.  (?: [\\040\\t] |  \\(\n\
445(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
446\\)  )*   (?:\n\
447[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
448(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
449|\n\
450" (?:                      # opening quote...\n\
451[^\\\\\\x80-\\xff\\n\\015"]                #   Anything except backslash and quote\n\
452|                     #    or\n\
453\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)\n\
454)* "  # closing quote\n\
455)  )* # further okay, if led by a period\n\
456(?: [\\040\\t] |  \\(\n\
457(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
458\\)  )*  @  (?: [\\040\\t] |  \\(\n\
459(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
460\\)  )*    (?:\n\
461[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
462(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
463|   \\[                         # [\n\
464(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
465\\]                        #           ]\n\
466)                           # initial subdomain\n\
467(?:                                  #\n\
468(?: [\\040\\t] |  \\(\n\
469(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
470\\)  )*  \\.                        # if led by a period...\n\
471(?: [\\040\\t] |  \\(\n\
472(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
473\\)  )*   (?:\n\
474[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
475(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
476|   \\[                         # [\n\
477(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff\n\
478\\]                        #           ]\n\
479)                     #   ...further okay\n\
480)*\n\
481#       address spec\n\
482(?: [\\040\\t] |  \\(\n\
483(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
484\\)  )*  > #                  trailing >\n\
485# name and address\n\
486)  (?: [\\040\\t] |  \\(\n\
487(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*\n\
488\\)  )*                       # optional trailing comment\n\
489	Alan Other <user@dom.ain>	(0,25)
490E$ckv	SAME	<user@dom.ain>	(1,13)
491E$ckv	SAME	user@dom.ain	(0,12)
492E$ckv	SAME	"A. Other" <user.1234@dom.ain> (a comment)	(0,42)
493E$ckv	SAME	A. Other <user.1234@dom.ain> (a comment)	(2,40)
494E$ckv	SAME	"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay	(0,61)
495E$ckv	SAME	A missing angle <user@some.where	(17,32)
496E$ckv	SAME	The quick brown fox	NOMATCH
497E$ckv	[\\040\\t]*                    # Nab whitespace.\n\
498(?:\n\
499\\(                              #  (\n\
500[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
501(?:                                 #       (\n\
502(?:  \\\\ [^\\x80-\\xff]  |\n\
503\\(                            #  (\n\
504[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
505(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
506\\)                           #                       )\n\
507)    #         special\n\
508[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
509)*                                  #            )*\n\
510\\)                             #                )\n\
511[\\040\\t]* )*    # If comment found, allow more spaces.\n\
512# optional leading comment\n\
513(?:\n\
514(?:\n\
515[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
516(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
517# Atom\n\
518|                       #  or\n\
519"                                     # "\n\
520[^\\\\\\x80-\\xff\\n\\015"] *                            #   normal\n\
521(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015"] * )*        #   ( special normal* )*\n\
522"                                     #        "\n\
523# Quoted string\n\
524)\n\
525[\\040\\t]*                    # Nab whitespace.\n\
526(?:\n\
527\\(                              #  (\n\
528[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
529(?:                                 #       (\n\
530(?:  \\\\ [^\\x80-\\xff]  |\n\
531\\(                            #  (\n\
532[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
533(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
534\\)                           #                       )\n\
535)    #         special\n\
536[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
537)*                                  #            )*\n\
538\\)                             #                )\n\
539[\\040\\t]* )*    # If comment found, allow more spaces.\n\
540(?:\n\
541\\.\n\
542[\\040\\t]*                    # Nab whitespace.\n\
543(?:\n\
544\\(                              #  (\n\
545[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
546(?:                                 #       (\n\
547(?:  \\\\ [^\\x80-\\xff]  |\n\
548\\(                            #  (\n\
549[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
550(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
551\\)                           #                       )\n\
552)    #         special\n\
553[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
554)*                                  #            )*\n\
555\\)                             #                )\n\
556[\\040\\t]* )*    # If comment found, allow more spaces.\n\
557(?:\n\
558[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
559(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
560# Atom\n\
561|                       #  or\n\
562"                                     # "\n\
563[^\\\\\\x80-\\xff\\n\\015"] *                            #   normal\n\
564(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015"] * )*        #   ( special normal* )*\n\
565"                                     #        "\n\
566# Quoted string\n\
567)\n\
568[\\040\\t]*                    # Nab whitespace.\n\
569(?:\n\
570\\(                              #  (\n\
571[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
572(?:                                 #       (\n\
573(?:  \\\\ [^\\x80-\\xff]  |\n\
574\\(                            #  (\n\
575[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
576(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
577\\)                           #                       )\n\
578)    #         special\n\
579[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
580)*                                  #            )*\n\
581\\)                             #                )\n\
582[\\040\\t]* )*    # If comment found, allow more spaces.\n\
583# additional words\n\
584)*\n\
585@\n\
586[\\040\\t]*                    # Nab whitespace.\n\
587(?:\n\
588\\(                              #  (\n\
589[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
590(?:                                 #       (\n\
591(?:  \\\\ [^\\x80-\\xff]  |\n\
592\\(                            #  (\n\
593[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
594(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
595\\)                           #                       )\n\
596)    #         special\n\
597[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
598)*                                  #            )*\n\
599\\)                             #                )\n\
600[\\040\\t]* )*    # If comment found, allow more spaces.\n\
601(?:\n\
602[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
603(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
604|\n\
605\\[                            # [\n\
606(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
607\\]                           #           ]\n\
608)\n\
609[\\040\\t]*                    # Nab whitespace.\n\
610(?:\n\
611\\(                              #  (\n\
612[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
613(?:                                 #       (\n\
614(?:  \\\\ [^\\x80-\\xff]  |\n\
615\\(                            #  (\n\
616[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
617(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
618\\)                           #                       )\n\
619)    #         special\n\
620[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
621)*                                  #            )*\n\
622\\)                             #                )\n\
623[\\040\\t]* )*    # If comment found, allow more spaces.\n\
624# optional trailing comments\n\
625(?:\n\
626\\.\n\
627[\\040\\t]*                    # Nab whitespace.\n\
628(?:\n\
629\\(                              #  (\n\
630[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
631(?:                                 #       (\n\
632(?:  \\\\ [^\\x80-\\xff]  |\n\
633\\(                            #  (\n\
634[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
635(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
636\\)                           #                       )\n\
637)    #         special\n\
638[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
639)*                                  #            )*\n\
640\\)                             #                )\n\
641[\\040\\t]* )*    # If comment found, allow more spaces.\n\
642(?:\n\
643[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
644(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
645|\n\
646\\[                            # [\n\
647(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
648\\]                           #           ]\n\
649)\n\
650[\\040\\t]*                    # Nab whitespace.\n\
651(?:\n\
652\\(                              #  (\n\
653[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
654(?:                                 #       (\n\
655(?:  \\\\ [^\\x80-\\xff]  |\n\
656\\(                            #  (\n\
657[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
658(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
659\\)                           #                       )\n\
660)    #         special\n\
661[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
662)*                                  #            )*\n\
663\\)                             #                )\n\
664[\\040\\t]* )*    # If comment found, allow more spaces.\n\
665# optional trailing comments\n\
666)*\n\
667# address\n\
668|                             #  or\n\
669(?:\n\
670[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
671(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
672# Atom\n\
673|                       #  or\n\
674"                                     # "\n\
675[^\\\\\\x80-\\xff\\n\\015"] *                            #   normal\n\
676(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015"] * )*        #   ( special normal* )*\n\
677"                                     #        "\n\
678# Quoted string\n\
679)\n\
680# leading word\n\
681[^()<>@,;:".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # "normal" atoms and or spaces\n\
682(?:\n\
683(?:\n\
684\\(                              #  (\n\
685[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
686(?:                                 #       (\n\
687(?:  \\\\ [^\\x80-\\xff]  |\n\
688\\(                            #  (\n\
689[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
690(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
691\\)                           #                       )\n\
692)    #         special\n\
693[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
694)*                                  #            )*\n\
695\\)                             #                )\n\
696|\n\
697"                                     # "\n\
698[^\\\\\\x80-\\xff\\n\\015"] *                            #   normal\n\
699(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015"] * )*        #   ( special normal* )*\n\
700"                                     #        "\n\
701) # "special" comment or quoted string\n\
702[^()<>@,;:".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more "normal"\n\
703)*\n\
704<\n\
705[\\040\\t]*                    # Nab whitespace.\n\
706(?:\n\
707\\(                              #  (\n\
708[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
709(?:                                 #       (\n\
710(?:  \\\\ [^\\x80-\\xff]  |\n\
711\\(                            #  (\n\
712[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
713(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
714\\)                           #                       )\n\
715)    #         special\n\
716[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
717)*                                  #            )*\n\
718\\)                             #                )\n\
719[\\040\\t]* )*    # If comment found, allow more spaces.\n\
720# <\n\
721(?:\n\
722@\n\
723[\\040\\t]*                    # Nab whitespace.\n\
724(?:\n\
725\\(                              #  (\n\
726[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
727(?:                                 #       (\n\
728(?:  \\\\ [^\\x80-\\xff]  |\n\
729\\(                            #  (\n\
730[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
731(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
732\\)                           #                       )\n\
733)    #         special\n\
734[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
735)*                                  #            )*\n\
736\\)                             #                )\n\
737[\\040\\t]* )*    # If comment found, allow more spaces.\n\
738(?:\n\
739[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
740(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
741|\n\
742\\[                            # [\n\
743(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
744\\]                           #           ]\n\
745)\n\
746[\\040\\t]*                    # Nab whitespace.\n\
747(?:\n\
748\\(                              #  (\n\
749[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
750(?:                                 #       (\n\
751(?:  \\\\ [^\\x80-\\xff]  |\n\
752\\(                            #  (\n\
753[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
754(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
755\\)                           #                       )\n\
756)    #         special\n\
757[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
758)*                                  #            )*\n\
759\\)                             #                )\n\
760[\\040\\t]* )*    # If comment found, allow more spaces.\n\
761# optional trailing comments\n\
762(?:\n\
763\\.\n\
764[\\040\\t]*                    # Nab whitespace.\n\
765(?:\n\
766\\(                              #  (\n\
767[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
768(?:                                 #       (\n\
769(?:  \\\\ [^\\x80-\\xff]  |\n\
770\\(                            #  (\n\
771[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
772(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
773\\)                           #                       )\n\
774)    #         special\n\
775[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
776)*                                  #            )*\n\
777\\)                             #                )\n\
778[\\040\\t]* )*    # If comment found, allow more spaces.\n\
779(?:\n\
780[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
781(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
782|\n\
783\\[                            # [\n\
784(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
785\\]                           #           ]\n\
786)\n\
787[\\040\\t]*                    # Nab whitespace.\n\
788(?:\n\
789\\(                              #  (\n\
790[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
791(?:                                 #       (\n\
792(?:  \\\\ [^\\x80-\\xff]  |\n\
793\\(                            #  (\n\
794[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
795(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
796\\)                           #                       )\n\
797)    #         special\n\
798[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
799)*                                  #            )*\n\
800\\)                             #                )\n\
801[\\040\\t]* )*    # If comment found, allow more spaces.\n\
802# optional trailing comments\n\
803)*\n\
804(?: ,\n\
805[\\040\\t]*                    # Nab whitespace.\n\
806(?:\n\
807\\(                              #  (\n\
808[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
809(?:                                 #       (\n\
810(?:  \\\\ [^\\x80-\\xff]  |\n\
811\\(                            #  (\n\
812[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
813(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
814\\)                           #                       )\n\
815)    #         special\n\
816[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
817)*                                  #            )*\n\
818\\)                             #                )\n\
819[\\040\\t]* )*    # If comment found, allow more spaces.\n\
820@\n\
821[\\040\\t]*                    # Nab whitespace.\n\
822(?:\n\
823\\(                              #  (\n\
824[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
825(?:                                 #       (\n\
826(?:  \\\\ [^\\x80-\\xff]  |\n\
827\\(                            #  (\n\
828[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
829(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
830\\)                           #                       )\n\
831)    #         special\n\
832[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
833)*                                  #            )*\n\
834\\)                             #                )\n\
835[\\040\\t]* )*    # If comment found, allow more spaces.\n\
836(?:\n\
837[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
838(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
839|\n\
840\\[                            # [\n\
841(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
842\\]                           #           ]\n\
843)\n\
844[\\040\\t]*                    # Nab whitespace.\n\
845(?:\n\
846\\(                              #  (\n\
847[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
848(?:                                 #       (\n\
849(?:  \\\\ [^\\x80-\\xff]  |\n\
850\\(                            #  (\n\
851[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
852(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
853\\)                           #                       )\n\
854)    #         special\n\
855[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
856)*                                  #            )*\n\
857\\)                             #                )\n\
858[\\040\\t]* )*    # If comment found, allow more spaces.\n\
859# optional trailing comments\n\
860(?:\n\
861\\.\n\
862[\\040\\t]*                    # Nab whitespace.\n\
863(?:\n\
864\\(                              #  (\n\
865[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
866(?:                                 #       (\n\
867(?:  \\\\ [^\\x80-\\xff]  |\n\
868\\(                            #  (\n\
869[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
870(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
871\\)                           #                       )\n\
872)    #         special\n\
873[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
874)*                                  #            )*\n\
875\\)                             #                )\n\
876[\\040\\t]* )*    # If comment found, allow more spaces.\n\
877(?:\n\
878[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
879(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
880|\n\
881\\[                            # [\n\
882(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
883\\]                           #           ]\n\
884)\n\
885[\\040\\t]*                    # Nab whitespace.\n\
886(?:\n\
887\\(                              #  (\n\
888[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
889(?:                                 #       (\n\
890(?:  \\\\ [^\\x80-\\xff]  |\n\
891\\(                            #  (\n\
892[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
893(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
894\\)                           #                       )\n\
895)    #         special\n\
896[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
897)*                                  #            )*\n\
898\\)                             #                )\n\
899[\\040\\t]* )*    # If comment found, allow more spaces.\n\
900# optional trailing comments\n\
901)*\n\
902)*  # additional domains\n\
903:\n\
904[\\040\\t]*                    # Nab whitespace.\n\
905(?:\n\
906\\(                              #  (\n\
907[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
908(?:                                 #       (\n\
909(?:  \\\\ [^\\x80-\\xff]  |\n\
910\\(                            #  (\n\
911[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
912(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
913\\)                           #                       )\n\
914)    #         special\n\
915[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
916)*                                  #            )*\n\
917\\)                             #                )\n\
918[\\040\\t]* )*    # If comment found, allow more spaces.\n\
919# optional trailing comments\n\
920)?     #       optional route\n\
921(?:\n\
922[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
923(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
924# Atom\n\
925|                       #  or\n\
926"                                     # "\n\
927[^\\\\\\x80-\\xff\\n\\015"] *                            #   normal\n\
928(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015"] * )*        #   ( special normal* )*\n\
929"                                     #        "\n\
930# Quoted string\n\
931)\n\
932[\\040\\t]*                    # Nab whitespace.\n\
933(?:\n\
934\\(                              #  (\n\
935[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
936(?:                                 #       (\n\
937(?:  \\\\ [^\\x80-\\xff]  |\n\
938\\(                            #  (\n\
939[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
940(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
941\\)                           #                       )\n\
942)    #         special\n\
943[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
944)*                                  #            )*\n\
945\\)                             #                )\n\
946[\\040\\t]* )*    # If comment found, allow more spaces.\n\
947(?:\n\
948\\.\n\
949[\\040\\t]*                    # Nab whitespace.\n\
950(?:\n\
951\\(                              #  (\n\
952[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
953(?:                                 #       (\n\
954(?:  \\\\ [^\\x80-\\xff]  |\n\
955\\(                            #  (\n\
956[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
957(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
958\\)                           #                       )\n\
959)    #         special\n\
960[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
961)*                                  #            )*\n\
962\\)                             #                )\n\
963[\\040\\t]* )*    # If comment found, allow more spaces.\n\
964(?:\n\
965[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
966(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
967# Atom\n\
968|                       #  or\n\
969"                                     # "\n\
970[^\\\\\\x80-\\xff\\n\\015"] *                            #   normal\n\
971(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015"] * )*        #   ( special normal* )*\n\
972"                                     #        "\n\
973# Quoted string\n\
974)\n\
975[\\040\\t]*                    # Nab whitespace.\n\
976(?:\n\
977\\(                              #  (\n\
978[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
979(?:                                 #       (\n\
980(?:  \\\\ [^\\x80-\\xff]  |\n\
981\\(                            #  (\n\
982[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
983(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
984\\)                           #                       )\n\
985)    #         special\n\
986[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
987)*                                  #            )*\n\
988\\)                             #                )\n\
989[\\040\\t]* )*    # If comment found, allow more spaces.\n\
990# additional words\n\
991)*\n\
992@\n\
993[\\040\\t]*                    # Nab whitespace.\n\
994(?:\n\
995\\(                              #  (\n\
996[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
997(?:                                 #       (\n\
998(?:  \\\\ [^\\x80-\\xff]  |\n\
999\\(                            #  (\n\
1000[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
1001(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
1002\\)                           #                       )\n\
1003)    #         special\n\
1004[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
1005)*                                  #            )*\n\
1006\\)                             #                )\n\
1007[\\040\\t]* )*    # If comment found, allow more spaces.\n\
1008(?:\n\
1009[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
1010(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
1011|\n\
1012\\[                            # [\n\
1013(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
1014\\]                           #           ]\n\
1015)\n\
1016[\\040\\t]*                    # Nab whitespace.\n\
1017(?:\n\
1018\\(                              #  (\n\
1019[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
1020(?:                                 #       (\n\
1021(?:  \\\\ [^\\x80-\\xff]  |\n\
1022\\(                            #  (\n\
1023[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
1024(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
1025\\)                           #                       )\n\
1026)    #         special\n\
1027[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
1028)*                                  #            )*\n\
1029\\)                             #                )\n\
1030[\\040\\t]* )*    # If comment found, allow more spaces.\n\
1031# optional trailing comments\n\
1032(?:\n\
1033\\.\n\
1034[\\040\\t]*                    # Nab whitespace.\n\
1035(?:\n\
1036\\(                              #  (\n\
1037[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
1038(?:                                 #       (\n\
1039(?:  \\\\ [^\\x80-\\xff]  |\n\
1040\\(                            #  (\n\
1041[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
1042(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
1043\\)                           #                       )\n\
1044)    #         special\n\
1045[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
1046)*                                  #            )*\n\
1047\\)                             #                )\n\
1048[\\040\\t]* )*    # If comment found, allow more spaces.\n\
1049(?:\n\
1050[^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...\n\
1051(?![^(\\040)<>@,;:".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom\n\
1052|\n\
1053\\[                            # [\n\
1054(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff\n\
1055\\]                           #           ]\n\
1056)\n\
1057[\\040\\t]*                    # Nab whitespace.\n\
1058(?:\n\
1059\\(                              #  (\n\
1060[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*\n\
1061(?:                                 #       (\n\
1062(?:  \\\\ [^\\x80-\\xff]  |\n\
1063\\(                            #  (\n\
1064[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*\n\
1065(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*\n\
1066\\)                           #                       )\n\
1067)    #         special\n\
1068[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*\n\
1069)*                                  #            )*\n\
1070\\)                             #                )\n\
1071[\\040\\t]* )*    # If comment found, allow more spaces.\n\
1072# optional trailing comments\n\
1073)*\n\
1074#       address spec\n\
1075>                    #                 >\n\
1076# name and address\n\
1077)\n\
1078	Alan Other <user@dom.ain>	(0,25)
1079E$ckv	SAME	<user@dom.ain>	(1,13)
1080E$ckv	SAME	user@dom.ain	(0,12)
1081E$ckv	SAME	"A. Other" <user.1234@dom.ain> (a comment)	(0,30)
1082E$ckv	SAME	A. Other <user.1234@dom.ain> (a comment)	(2,28)
1083E$ckv	SAME	"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/"@x400-re.lay	(0,61)
1084E$ckv	SAME	A missing angle <user@some.where	(17,32)
1085E$ckv	SAME	The quick brown fox	NOMATCH
1086E$hx	abc\\0def\\00pqr\\000xyz\\0000AB	abc\0def\00pqr\000xyz\0000AB	(0,19)
1087E$hx	SAME	abc456 abc\0def\00pqr\000xyz\0000ABCDE	(7,26)
1088E$	abc\\x{0d}ef\\x00pqr\\x{00}0xyz\\x{00}00AB	abc\x{0d}ef\x{00}pqr\x{00}0xyz\x{00}00AB	(0,20)
1089E$	abc\\x000d\\x00pqr\\x000xyz\\x0000AB	abc\x000d\x00pqr\x000xyz\x0000AB	(0,13)
1090Ex$	SAME	abc\x000d\x00pqr\x000xyz\x0000AB		(0,13)
1091#E$	abc\\x0def\\x00pqr\\x000xyz\\x0000AB	abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE	(7,27)
1092#Ex$	abc\\x0def\\x00pqr\\x000xyz\\x0000AB	abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE	(7,27)
1093E$v	^[\\000-\\037]	\0A	(0,1)
1094E$v	SAME	\01B	(0,1)
1095E$v	SAME	\037C	(0,1)
1096E$x	\\0*	\0\0\0\0	(0,4)
1097E$	A\\x0{2,3}Z	The A\x0\x0Z	(4,8)
1098E$	SAME	An A\0\x0\0Z	(3,8)
1099E$	SAME	A\0Z	NOMATCH
1100E$	SAME	A\0\x0\0\x0Z	NOMATCH
1101E$z	^(cow|)\\1(bell)	cowcowbell	(0,10)(0,3)(6,10)
1102E$z	SAME	bell		(0,4)(0,0)(0,4)
1103E$z	SAME	cowbell		NOMATCH
1104E$	^\\s	\040abc		(0,1)
1105E$	SAME	\x{0c}abc	(0,1)
1106E$	SAME	\x0cxyz		(0,1)
1107E$	SAME	\fabc	(0,1)
1108E$	SAME	\nabc	(0,1)
1109E$	SAME	\rabc	(0,1)
1110E$	SAME	\tabc	(0,1)
1111E$	SAME	abc	NOMATCH
1112E$c	^a\tb\n\
1113
1114    c	abc	(0,3)
1115E$z	^(a|)\\1*b	ab	(0,2)(0,1)
1116E$z	SAME	aaaab	(0,5)(0,1)
1117E$z	SAME	b	(0,1)(0,0)
1118E$z	SAME	acb	NOMATCH
1119E$z	^(a|)\\1+b	aab	(0,3)(0,1)
1120E$z	SAME	aaaab	(0,5)(0,1)
1121E$z	SAME	b	(0,1)(0,0)
1122E$z	SAME	ab	NOMATCH
1123E$z	^(a|)\\1?b	ab	(0,2)(0,1)
1124E$z	SAME	aab	(0,3)(0,1)
1125E$z	SAME	b	(0,1)(0,0)
1126E$z	SAME	acb	NOMATCH
1127E$z	^(a|)\\1{2}b	aaab	(0,4)(0,1)
1128E$z	SAME	b	(0,1)(0,0)
1129E$z	SAME	ab	NOMATCH
1130E$z	SAME	aab	NOMATCH
1131E$z	SAME	aaaab	NOMATCH
1132E$z	^(a|)\\1{2,3}b	aaab	(0,4)(0,1)
1133E$z	SAME	aaaab	(0,5)(0,1)
1134E$z	SAME	b	(0,1)(0,0)
1135E$z	SAME	ab	NOMATCH
1136E$z	SAME	aab	NOMATCH
1137E$z	SAME	aaaaab	NOMATCH
1138E	ab{1,3}bc	abbbbc	(0,6)
1139E	SAME	abbbc	(0,5)
1140E	SAME	abbc	(0,4)
1141E	SAME	abc	NOMATCH
1142E	SAME	abbbbbc	NOMATCH
1143E$	([^.]*)\\.([^:]*):[T ]+(.*)	track1.title:TBlah blah blah	(0,28)(0,6)(7,12)(14,28)
1144E$i	([^.]*)\\.([^:]*):[T ]+(.*)	track1.title:TBlah blah blah	(0,28)(0,6)(7,12)(14,28)
1145E$i	([^.]*)\\.([^:]*):[t ]+(.*)	track1.title:TBlah blah blah	(0,28)(0,6)(7,12)(14,28)
1146E	^[W-c]+$	WXY_^abc	(0,8)
1147E	SAME	wxy	NOMATCH
1148Ei	^[W-c]+$	WXY_^abc	(0,8)
1149Ei	SAME	wxy_^ABC	(0,8)
1150E$iv	^[\\x3f-\\x5F]+$	WXY_^abc	(0,8)
1151E$iv	SAME	wxy_^ABC	(0,8)
1152En	^abc$	abc	(0,3)
1153En$	SAME	qqq\nabc	(4,7)
1154En$	SAME	abc\nzzz	(0,3)
1155En$	SAME	qqq\nabc\nzzz	(4,7)
1156E	^abc$	abc	(0,3)
1157E$	SAME	qqq\nabc	NOMATCH
1158E$	SAME	abc\nzzz	NOMATCH
1159E$	SAME	qqq\nabc\nzzz	NOMATCH
1160E$n	\\Aabc\\Z	abc	(0,3)
1161E$n	SAME	abc\n 	NOMATCH
1162E$n	SAME	qqq\nabc	NOMATCH
1163E$n	SAME	abc\nzzz	NOMATCH
1164E$n	SAME	qqq\nabc\nzzz	NOMATCH
1165E$j	\\A(.)*\\Z	abc\ndef	(0,7)(6,7)
1166E$n	\\A(.)*\\Z	abc\ndef	NOMATCH
1167E	(?:b)|(?::+)	b::c	(0,1)
1168E	SAME	c::b	(1,3)
1169E	[-az]+	az-	(0,3)
1170E	SAME	b	NOMATCH
1171E	[az-]+	za-	(0,3)
1172E	SAME	b	NOMATCH
1173E$kv	[a\\-z]+	a-z	(0,3)
1174E$kv	SAME	b	NOMATCH
1175E	[a-z]+	abcdxyz	(0,7)
1176E$v	[\\d-]+	12-34	(0,5)
1177E$v	SAME	aaa	NOMATCH
1178E$v	[\\d-z]+	12-34z	ERANGE
1179E$v	SAME	aaa	ERANGE
1180E$	\\x5c	\\	(0,1)
1181E$	\\x20Z	the Zoo	(3,5)
1182E$	SAME	Zulu	NOMATCH
1183E$i	(abc)\\1	abcabc	(0,6)(0,3)
1184E$i	SAME	ABCabc	(0,6)(0,3)
1185E$i	SAME	abcABC	(0,6)(0,3)
1186E	(main(O)?)+	mainmain	(0,8)(4,8)
1187E	SAME	mainOmain	(0,9)(5,9)
1188E	ab{3cd	ab{3cd	BADBR
1189E	ab{3,cd	ab{3,cd	BADBR
1190E	ab{3,4a}cd	ab{3,4a}cd	BADBR
1191E	{4,5a}bc	{4,5a}bc	BADBR
1192E$	^a.b	a\rb	(0,3)
1193E$	SAME	a\nb	(0,3)
1194E	abc$	abc	(0,3)
1195E$	SAME	abc\n	NOMATCH
1196E$n	SAME	abc\n	(0,3)
1197E$	SAME	abc\ndef	NOMATCH
1198E$n	SAME	abc\ndef	(0,3)
1199E$	(abc)\\123	abc\x53		(0,4)(0,3)
1200E$	(abc)\\223	abc\x93		(0,4)(0,3)
1201E$	(abc)\\323	abc\xd3		(0,4)(0,3)
1202E$h	(abc)\\500	abc\x40		ESUBREG
1203E$h	SAME		abc\100		ESUBREG
1204E$h	(abc)\\1000	abc\x{40}0	(0,5)(0,3)
1205E$h	SAME		abc\x40\x30	(0,5)(0,3)
1206E$h	SAME		abc\1000	(0,5)(0,3)
1207E$h	SAME		abc\100\x30	(0,5)(0,3)
1208E$h	SAME		abc\100\060	(0,5)(0,3)
1209E$h	SAME		abc\100\60	(0,5)(0,3)
1210E$h	(abc)\\100z	abc\x40z	(0,5)(0,3)
1211E$	abc\\71	abc\071	ESUBREG
1212E$h	abc\\71	abc\071	(0,4)
1213E$	abc\\81	abc\081	ESUBREG
1214E$h	abc\\81	abc\081	NOMATCH
1215E$h	SAME	abc\0\x38\x31	NOMATCH
1216E$	abc\\091	abc\091	BADESC
1217E$x	abc\\091	abc\091	(0,6)
1218E$x	SAME	abc\0\x39\x31	(0,6)
1219E$	(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\12\\123	abcdefghijkllS	NOMATCH
1220E$	(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123	abcdefghijk\12S	NOMATCH
1221E$h	(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\12\\123	abcdefghijkllS	(0,14)(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)(10,11)(11,12)
1222E$h	(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123	abcdefghijk\12S	(0,13)(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)(10,11)
1223E$	(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(?12)\\123	abcdefghijkllS	(0,14)(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)(10,11)(11,12)
1224E$	ab\\gdef	abgdef	BADESC
1225E$x	ab\\gdef	abgdef	(0,6)
1226E	a{0}bc	bc	(0,2)
1227E	(a|(bc)){0,0}?xyz	xyz	(0,3)
1228E$v	abc[\\10]de	abc\010de	(0,6)
1229E$v	abc[\\1]de	abc\1de	(0,6)
1230E$kv	abc[\\1]de	abc\1de	(0,6)
1231E$v	(abc)[\\1]de	abc\1de	(0,6)(0,3)
1232E$kv	(abc)[\\1]de	abc\1de	(0,6)(0,3)
1233E$	a.b(?s)	a\nb	(0,3)
1234E$v	^([^a])([^\\b])([^c]*)([^d]{3,4})	baNOTccccd	(0,9)(0,1)(1,2)(2,5)(5,9)
1235E$v	SAME	baNOTcccd	(0,8)(0,1)(1,2)(2,5)(5,8)
1236E$v	SAME	baNOTccd	(0,7)(0,1)(1,2)(2,4)(4,7)
1237E$v	SAME	bacccd	(0,5)(0,1)(1,2)(2,2)(2,5)
1238E$v	SAME	anything	NOMATCH
1239E$v	SAME	b\bc...	NOMATCH
1240E$v	SAME	baccd	NOMATCH
1241E$v	^([^a])([^\\f])([^c]*)([^d]{3,4})	b\fc...	NOMATCH
1242E	[^a]	Abc	(0,1)
1243Ei	[^a]	Abc 	(1,2)
1244E	[^a]+	AAAaAbc	(0,3)
1245Ei	[^a]+	AAAaAbc 	(5,8)
1246E$	[^a]+	bbb\nccc	(0,7)
1247E	[^k]$	abc	(2,3)
1248E	SAME	abk   	(5,6)
1249E	[^k]{2,3}$	abc	(0,3)
1250E	SAME	kbc	(1,3)
1251E	SAME	kabc 	(2,5)
1252E	SAME	abk	NOMATCH
1253E	SAME	akb	NOMATCH
1254E	SAME	akk 	NOMATCH
1255E$	^\\d{8,}\\@.+[^k]$	12345678@a.b.c.d	(0,16)
1256E$	SAME	123456789@x.y.z	(0,15)
1257E$	SAME	12345678@x.y.uk	NOMATCH
1258E$	SAME	1234567@a.b.c.d       	NOMATCH
1259E$	(a)\\1{8,}	aaaaaaaaa	(0,9)(0,1)
1260E$	SAME	aaaaaaaaaa	(0,10)(0,1)
1261E$	SAME	aaaaaaa   	NOMATCH
1262E	[^a]	aaaabcd	(4,5)
1263E	SAME	aaAabcd 	(2,3)
1264Ei	[^a]	aaaabcd	(4,5)
1265Ei	SAME	aaAabcd 	(4,5)
1266E	[^az]	aaaabcd	(4,5)
1267E	SAME	aaAabcd 	(2,3)
1268Ei	[^az]	aaaabcd	(4,5)
1269Ei	SAME	aaAabcd 	(4,5)
1270E$	\\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	\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	(0,256)
1271E	P[^*]TAIRE[^*]{1,6}?LL	xxxxxxxxxxxPSTAIREISLLxxxxxxxxx	(11,22)
1272E	P[^*]TAIRE[^*]{1,}?LL	xxxxxxxxxxxPSTAIREISLLxxxxxxxxx	(11,22)
1273E$	(\\.\\d\\d[1-9]?)\\d+	1.230003938	(1,11)(1,4)
1274E$	SAME	1.875000282   	(1,11)(1,5)
1275E$	SAME	1.235  	(1,5)(1,4)
1276E$	(\\.\\d\\d((?=0)|[1-9](?=\\d)))	1.230003938      	(1,4)(1,4)(4,4)
1277E$	(\\.\\d\\d((?=0)|\\d(?=\\d)))	1.230003938      	(1,5)(1,5)(4,5)
1278E$	SAME	1.875000282	(1,5)(1,5)(4,5)
1279E$	SAME	1.235 	NOMATCH
1280E	a(?)b	ab 	(0,2)
1281E	a(?#)b	ab 	(0,2)
1282E$i	\\b(foo)\\s+(\\w+)	Food is on the foo table	(15,24)(15,18)(19,24)
1283E	foo(.*)bar	The food is under the bar in the barn.	(4,36)(7,33)
1284E	foo(.*?)bar	The food is under the bar in the barn.	(4,25)(7,22)
1285E$	(.*)(\\d*)	I have 2 numbers: 53147	(0,23)(0,23)(23,23)
1286E$	(.*)(\\d+)	I have 2 numbers: 53147	(0,23)(0,22)(22,23)
1287E$	(.*?)(\\d*)	I have 2 numbers: 53147	(0,0)(0,0)(0,0)
1288E$	(.*?)(\\d+)	I have 2 numbers: 53147	(0,8)(0,7)(7,8)
1289E$	(.*)(\\d+)$	I have 2 numbers: 53147	(0,23)(0,22)(22,23)
1290E$	(.*?)(\\d+)$	I have 2 numbers: 53147	(0,23)(0,18)(18,23)
1291E$	(.*)\\b(\\d+)$	I have 2 numbers: 53147	(0,23)(0,18)(18,23)
1292E$	(.*\\D)(\\d+)$	I have 2 numbers: 53147	(0,23)(0,18)(18,23)
1293E$	^\\D*(?!123)	ABC123	(0,2)
1294E$	^(\\D*)(?=\\d)(?!123)	ABC445	(0,3)(0,3)
1295E$	SAME	ABC123	NOMATCH
1296E	^[W-]46]	W46]789 	(0,4)
1297E	SAME	-46]789	(0,4)
1298E	SAME	Wall	NOMATCH
1299E	SAME	Zebra	NOMATCH
1300E	SAME	42	NOMATCH
1301E	SAME	[abcd] 	NOMATCH
1302E	SAME	]abcd[	NOMATCH
1303E$kv	^[W-\\]46]	W46]789 	(0,1)
1304E$kv	SAME	Wall	(0,1)
1305E$kv	SAME	Zebra	(0,1)
1306E$kv	SAME	Xylophone  	(0,1)
1307E$kv	SAME	42	(0,1)
1308E$kv	SAME	[abcd] 	(0,1)
1309E$kv	SAME	]abcd[	(0,1)
1310E$kv	SAME	\\backslash 	(0,1)
1311E$kv	SAME	-46]789	NOMATCH
1312E$kv	SAME	well	NOMATCH
1313E$	\\d\\d/\\d\\d/\\d\\d\\d\\d	01/01/2000	(0,10)
1314E	word (?:[a-zA-Z0-9]+ ){0,10}otherword	word cat dog elephant mussel cow horse canary baboon snake shark otherword	(0,74)
1315E	SAME	word cat dog elephant mussel cow horse canary baboon snake shark	NOMATCH
1316E	word (?:[a-zA-Z0-9]+ ){0,300}otherword	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	NOMATCH
1317E	^(a){0,0}	bcd	(0,0)
1318E	SAME	abc	(0,0)
1319E	SAME	aab     	(0,0)
1320E	^(a){0,1}	bcd	(0,0)
1321E	SAME	abc	(0,1)(0,1)
1322E	SAME	aab  	(0,1)(0,1)
1323E	^(a){0,2}	bcd	(0,0)
1324E	SAME	abc	(0,1)(0,1)
1325E	SAME	aab  	(0,2)(1,2)
1326E	^(a){0,3}	bcd	(0,0)
1327E	SAME	abc	(0,1)(0,1)
1328E	SAME	aab	(0,2)(1,2)
1329E	SAME	aaa   	(0,3)(2,3)
1330E	^(a){0,}	bcd	(0,0)
1331E	SAME	abc	(0,1)(0,1)
1332E	SAME	aab	(0,2)(1,2)
1333E	SAME	aaa	(0,3)(2,3)
1334E	SAME	aaaaaaaa    	(0,8)(7,8)
1335E	^(a){1,1}	bcd	NOMATCH
1336E	SAME	abc	(0,1)(0,1)
1337E	SAME	aab  	(0,1)(0,1)
1338E	^(a){1,2}	bcd	NOMATCH
1339E	SAME	abc	(0,1)(0,1)
1340E	SAME	aab  	(0,2)(1,2)
1341E	^(a){1,3}	bcd	NOMATCH
1342E	SAME	abc	(0,1)(0,1)
1343E	SAME	aab	(0,2)(1,2)
1344E	SAME	aaa   	(0,3)(2,3)
1345E	^(a){1,}	bcd	NOMATCH
1346E	SAME	abc	(0,1)(0,1)
1347E	SAME	aab	(0,2)(1,2)
1348E	SAME	aaa	(0,3)(2,3)
1349E	SAME	aaaaaaaa    	(0,8)(7,8)
1350E$	.{0,}\\.gif	borfle\nbib.gif\nno	(0,14)
1351E$	.*\\.gif	borfle\nbib.gif\nno	(0,14)
1352E$n	SAME		borfle\nbib.gif\nno	(7,14)
1353E$j	SAME		borfle\nbib.gif\nno	(0,14)
1354E$nj	SAME		borfle\nbib.gif\nno	(0,14)
1355E$	.*$		borfle\nbib.gif\nno	(0,17)
1356En$	SAME		borfle\nbib.gif\nno	(0,6)
1357Ej$	SAME		borfle\nbib.gif\nno	(0,17)
1358Enj$	SAME		borfle\nbib.gif\nno	(0,17)
1359E$	SAME		borfle\nbib.gif\nno\n	(0,18)
1360En$	SAME		borfle\nbib.gif\nno\n	(0,6)
1361Ej$	SAME		borfle\nbib.gif\nno\n	(0,18)
1362Enj$	SAME		borfle\nbib.gif\nno\n	(0,18)
1363E$	(.*X|^B)	abcde\n1234Xyz	(0,11)(0,11)
1364E$	SAME	BarFoo 	(0,1)(0,1)
1365E$	SAME	abcde\nBar  	NOMATCH
1366En$	(.*X|^B)	abcde\n1234Xyz	(6,11)(6,11)
1367En$	SAME	BarFoo 	(0,1)(0,1)
1368En$	SAME	abcde\nBar  	(6,7)(6,7)
1369Ej$	(.*X|^B)	abcde\n1234Xyz	(0,11)(0,11)
1370Ej$	SAME	BarFoo 	(0,1)(0,1)
1371Ej$	SAME	abcde\nBar  	NOMATCH
1372Enj$	(.*X|^B)	abcde\n1234Xyz	(0,11)(0,11)
1373Enj$	SAME	BarFoo 	(0,1)(0,1)
1374Enj$	SAME	abcde\nBar  	(6,7)(6,7)
1375E$	(?s)(.*X|^B)	abcde\n1234Xyz	(0,11)(0,11)
1376E$	SAME	BarFoo 	(0,1)(0,1)
1377E$	SAME	abcde\nBar  	NOMATCH
1378E$	(?s:.*X|^B)	abcde\n1234Xyz	(0,11)
1379E$	SAME	BarFoo 	(0,1)
1380E$	SAME	abcde\nBar  	NOMATCH
1381E$	^.*B	abc\nB	(0,5)
1382E$n	^.*B	abc\nB	(4,5)
1383E$	(?s)^.*B	abc\nB	(0,5)
1384E$	(?m)^.*B	abc\nB	(4,5)
1385E$	(?ms)^.*B	abc\nB	(0,5)
1386E$	(?ms)^B	abc\nB	(4,5)
1387E$	(?m)B$	B\n	(0,1)
1388E$	(?s)B$	B\n	NOMATCH
1389E	^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]	123456654321	(0,12)
1390E$	^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d	123456654321 	(0,12)
1391E$v	^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]	123456654321	(0,12)
1392E	^[abc]{12}	abcabcabcabc	(0,12)
1393E	^[a-c]{12}	abcabcabcabc	(0,12)
1394E	^(a|b|c){12}	abcabcabcabc 	(0,12)(11,12)
1395E	^[abcdefghijklmnopqrstuvwxy0123456789]	n	(0,1)
1396E	SAME	z 	NOMATCH
1397E	abcde{0,0}	abcd	(0,4)
1398E	SAME	abce  	NOMATCH
1399E	ab[cd]{0,0}e	abe	(0,3)
1400E	SAME	abcde 	NOMATCH
1401E	ab(c){0,0}d	abd	(0,3)
1402E	SAME	abcd   	NOMATCH
1403E	a(b*)	a	(0,1)(1,1)
1404E	SAME	ab	(0,2)(1,2)
1405E	SAME	abbbb	(0,5)(1,5)
1406E	SAME	bbbbb    	NOMATCH
1407E$	ab\\d{0}e	abe	(0,3)
1408E$	SAME	ab1e   	NOMATCH
1409E$v	"([^\\\\"]+|\\\\.)*"	the "quick" brown fox	(4,11)(5,10)
1410#E$v	SAME	"the \\"quick\\" brown fox" 	(0,25)(14,24)
1411E	.*?	abc	(0,0)
1412E$	\\b	abc 	(0,0)
1413E$	\\b	abc 	(0,0)
1414Ez	NULL	abc	(0,0)
1415E$ijv	<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>	<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>	(0,227)(3,21)(25,47)(48,51)(51,122)(122,122)(122,122)(?,?)(134,156)(157,172)(180,202)(203,217)
1416E	a[^a]b	acb	(0,3)
1417E$	SAME	a\nb	(0,3)
1418E	a.b	acb	(0,3)
1419E$	SAME	a\nb   	(0,3)
1420Ej	a[^a]b	acb	(0,3)
1421Ej$	SAME	a\nb  	(0,3)
1422Ej	a.b	acb	(0,3)
1423Ej$	SAME	a\nb  	(0,3)
1424