Annotation of embedaddon/pcre/testdata/testinput17, revision 1.1.1.4
1.1.1.3 misho 1: /-- This set of tests is for the 16- and 32-bit library's basic (non-UTF-16
2: or -32) features that are not compatible with the 8-bit library, or which
3: give different output in 16- or 32-bit mode. --/
1.1.1.4 ! misho 4:
! 5: < forbid 8W
1.1 misho 6:
7: /a\Cb/
8: aXb
9: a\nb
10:
11: /[^\x{c4}]/DZ
12:
13: /\x{100}/I
14:
15: / (?: [\040\t] | \(
16: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
17: \) )* # optional leading comment
18: (?: (?:
19: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
20: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
21: |
22: " (?: # opening quote...
23: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
24: | # or
25: \\ [^\x80-\xff] # Escaped something (something != CR)
26: )* " # closing quote
27: ) # initial word
28: (?: (?: [\040\t] | \(
29: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
30: \) )* \. (?: [\040\t] | \(
31: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
32: \) )* (?:
33: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
34: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
35: |
36: " (?: # opening quote...
37: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
38: | # or
39: \\ [^\x80-\xff] # Escaped something (something != CR)
40: )* " # closing quote
41: ) )* # further okay, if led by a period
42: (?: [\040\t] | \(
43: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
44: \) )* @ (?: [\040\t] | \(
45: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
46: \) )* (?:
47: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
48: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
49: | \[ # [
50: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
51: \] # ]
52: ) # initial subdomain
53: (?: #
54: (?: [\040\t] | \(
55: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
56: \) )* \. # if led by a period...
57: (?: [\040\t] | \(
58: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
59: \) )* (?:
60: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
61: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
62: | \[ # [
63: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
64: \] # ]
65: ) # ...further okay
66: )*
67: # address
68: | # or
69: (?:
70: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
71: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
72: |
73: " (?: # opening quote...
74: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
75: | # or
76: \\ [^\x80-\xff] # Escaped something (something != CR)
77: )* " # closing quote
78: ) # one word, optionally followed by....
79: (?:
80: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
81: \(
82: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
83: \) | # comments, or...
84:
85: " (?: # opening quote...
86: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
87: | # or
88: \\ [^\x80-\xff] # Escaped something (something != CR)
89: )* " # closing quote
90: # quoted strings
91: )*
92: < (?: [\040\t] | \(
93: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
94: \) )* # leading <
95: (?: @ (?: [\040\t] | \(
96: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
97: \) )* (?:
98: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
99: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
100: | \[ # [
101: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
102: \] # ]
103: ) # initial subdomain
104: (?: #
105: (?: [\040\t] | \(
106: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
107: \) )* \. # if led by a period...
108: (?: [\040\t] | \(
109: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
110: \) )* (?:
111: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
112: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
113: | \[ # [
114: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
115: \] # ]
116: ) # ...further okay
117: )*
118:
119: (?: (?: [\040\t] | \(
120: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
121: \) )* , (?: [\040\t] | \(
122: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
123: \) )* @ (?: [\040\t] | \(
124: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
125: \) )* (?:
126: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
127: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
128: | \[ # [
129: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
130: \] # ]
131: ) # initial subdomain
132: (?: #
133: (?: [\040\t] | \(
134: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
135: \) )* \. # if led by a period...
136: (?: [\040\t] | \(
137: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
138: \) )* (?:
139: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
140: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
141: | \[ # [
142: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
143: \] # ]
144: ) # ...further okay
145: )*
146: )* # further okay, if led by comma
147: : # closing colon
148: (?: [\040\t] | \(
149: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
150: \) )* )? # optional route
151: (?:
152: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
153: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
154: |
155: " (?: # opening quote...
156: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
157: | # or
158: \\ [^\x80-\xff] # Escaped something (something != CR)
159: )* " # closing quote
160: ) # initial word
161: (?: (?: [\040\t] | \(
162: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
163: \) )* \. (?: [\040\t] | \(
164: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
165: \) )* (?:
166: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
167: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
168: |
169: " (?: # opening quote...
170: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
171: | # or
172: \\ [^\x80-\xff] # Escaped something (something != CR)
173: )* " # closing quote
174: ) )* # further okay, if led by a period
175: (?: [\040\t] | \(
176: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
177: \) )* @ (?: [\040\t] | \(
178: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
179: \) )* (?:
180: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
181: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
182: | \[ # [
183: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
184: \] # ]
185: ) # initial subdomain
186: (?: #
187: (?: [\040\t] | \(
188: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
189: \) )* \. # if led by a period...
190: (?: [\040\t] | \(
191: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
192: \) )* (?:
193: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
194: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
195: | \[ # [
196: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
197: \] # ]
198: ) # ...further okay
199: )*
200: # address spec
201: (?: [\040\t] | \(
202: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
203: \) )* > # trailing >
204: # name and address
205: ) (?: [\040\t] | \(
206: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
207: \) )* # optional trailing comment
208: /xSI
209:
210: /[\h]/BZ
211: >\x09<
212:
213: /[\h]+/BZ
214: >\x09\x20\xa0<
215:
216: /[\v]/BZ
217:
218: /[^\h]/BZ
219:
220: /\h+/SI
221: \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
222: \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
223:
224: /[\h\x{dc00}]+/BZSI
225: \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
226: \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
227:
228: /\H+/SI
229: \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
230: \x{2000}\x{200a}\x{1fff}\x{200b}
231: \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
232: \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
233:
1.1.1.3 misho 234: /[\H\x{d800}]+/
1.1 misho 235: \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
236: \x{2000}\x{200a}\x{1fff}\x{200b}
237: \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
238: \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
239:
240: /\v+/SI
241: \x{2027}\x{2030}\x{2028}\x{2029}
242: \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
243:
244: /[\v\x{dc00}]+/BZSI
245: \x{2027}\x{2030}\x{2028}\x{2029}
246: \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
247:
248: /\V+/SI
249: \x{2028}\x{2029}\x{2027}\x{2030}
250: \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
251:
1.1.1.3 misho 252: /[\V\x{d800}]+/
1.1 misho 253: \x{2028}\x{2029}\x{2027}\x{2030}
254: \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
255:
256: /\R+/SI<bsr_unicode>
257: \x{2027}\x{2030}\x{2028}\x{2029}
258: \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
259:
260: /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
261: \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
262:
1.1.1.2 misho 263: /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZ
264:
265: /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZi
266:
267: /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZ
268:
269: /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZi
270:
271: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
272: XX
273:
274: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
275: XX
276:
277: /\u0100/<JS>BZ
278:
279: /[\u0100-\u0200]/<JS>BZ
280:
281: /\ud800/<JS>BZ
282:
1.1.1.3 misho 283: /^\x{ffff}+/i
284: \x{ffff}
285:
286: /^\x{ffff}?/i
287: \x{ffff}
288:
289: /^\x{ffff}*/i
290: \x{ffff}
291:
292: /^\x{ffff}{3}/i
293: \x{ffff}\x{ffff}\x{ffff}
294:
295: /^\x{ffff}{0,3}/i
296: \x{ffff}
297:
1.1.1.4 ! misho 298: /[^\x00-a]{12,}[^b-\xff]*/BZ
! 299:
! 300: /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
! 301:
! 302: /a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/BZ
! 303:
! 304: /^[\x{1234}\x{4321}]{2,4}?/
! 305: \x{1234}\x{1234}\x{1234}
! 306:
1.1 misho 307: /-- End of testinput17 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>