Annotation of embedaddon/pcre/testdata/testinput14, revision 1.1.1.4
1.1.1.2 misho 1: /-- This set of tests is run only with the 8-bit library. It starts with all
2: the tests of the POSIX interface, because that is supported only with the
3: 8-bit library. --/
1.1 misho 4:
1.1.1.2 misho 5: /abc/P
6: abc
7: *** Failers
8:
9: /^abc|def/P
10: abcdef
11: abcdef\B
12:
13: /.*((abc)$|(def))/P
14: defabc
15: \Zdefabc
16:
17: /the quick brown fox/P
18: the quick brown fox
19: *** Failers
20: The Quick Brown Fox
21:
22: /the quick brown fox/Pi
23: the quick brown fox
24: The Quick Brown Fox
25:
26: /abc.def/P
27: *** Failers
28: abc\ndef
29:
30: /abc$/P
31: abc
32: abc\n
33:
34: /(abc)\2/P
1.1 misho 35:
1.1.1.2 misho 36: /(abc\1)/P
37: abc
38:
39: /a*(b+)(z)(z)/P
40: aaaabbbbzzzz
41: aaaabbbbzzzz\O0
42: aaaabbbbzzzz\O1
43: aaaabbbbzzzz\O2
44: aaaabbbbzzzz\O3
45: aaaabbbbzzzz\O4
46: aaaabbbbzzzz\O5
47:
48: /ab.cd/P
49: ab-cd
50: ab=cd
51: ** Failers
52: ab\ncd
1.1 misho 53:
1.1.1.2 misho 54: /ab.cd/Ps
55: ab-cd
56: ab=cd
57: ab\ncd
58:
59: /a(b)c/PN
60: abc
1.1 misho 61:
1.1.1.2 misho 62: /a(?P<name>b)c/PN
1.1 misho 63: abc
64:
1.1.1.2 misho 65: /a?|b?/P
66: abc
67: ** Failers
68: ddd\N
69:
70: /\w+A/P
71: CDAAAAB
72:
73: /\w+A/PU
74: CDAAAAB
75:
76: /\Biss\B/I+P
77: Mississippi
78:
79: /abc/\P
80:
81: /-- End of POSIX tests --/
82:
83: /a\Cb/
84: aXb
85: a\nb
86: ** Failers (too big char)
87: A\x{123}B
88:
89: /\x{100}/I
90:
91: / (?: [\040\t] | \(
92: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
93: \) )* # optional leading comment
94: (?: (?:
95: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
96: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
97: |
98: " (?: # opening quote...
99: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
100: | # or
101: \\ [^\x80-\xff] # Escaped something (something != CR)
102: )* " # closing quote
103: ) # initial word
104: (?: (?: [\040\t] | \(
105: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
106: \) )* \. (?: [\040\t] | \(
107: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
108: \) )* (?:
109: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
110: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
111: |
112: " (?: # opening quote...
113: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
114: | # or
115: \\ [^\x80-\xff] # Escaped something (something != CR)
116: )* " # closing quote
117: ) )* # further okay, if led by a period
118: (?: [\040\t] | \(
119: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
120: \) )* @ (?: [\040\t] | \(
121: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
122: \) )* (?:
123: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
124: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
125: | \[ # [
126: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
127: \] # ]
128: ) # initial subdomain
129: (?: #
130: (?: [\040\t] | \(
131: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
132: \) )* \. # if led by a period...
133: (?: [\040\t] | \(
134: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
135: \) )* (?:
136: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
137: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
138: | \[ # [
139: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
140: \] # ]
141: ) # ...further okay
142: )*
143: # address
144: | # or
145: (?:
146: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
147: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
148: |
149: " (?: # opening quote...
150: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
151: | # or
152: \\ [^\x80-\xff] # Escaped something (something != CR)
153: )* " # closing quote
154: ) # one word, optionally followed by....
155: (?:
156: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
157: \(
158: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
159: \) | # comments, or...
160:
161: " (?: # opening quote...
162: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
163: | # or
164: \\ [^\x80-\xff] # Escaped something (something != CR)
165: )* " # closing quote
166: # quoted strings
167: )*
168: < (?: [\040\t] | \(
169: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
170: \) )* # leading <
171: (?: @ (?: [\040\t] | \(
172: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
173: \) )* (?:
174: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
175: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
176: | \[ # [
177: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
178: \] # ]
179: ) # initial subdomain
180: (?: #
181: (?: [\040\t] | \(
182: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
183: \) )* \. # if led by a period...
184: (?: [\040\t] | \(
185: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
186: \) )* (?:
187: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
188: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
189: | \[ # [
190: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
191: \] # ]
192: ) # ...further okay
193: )*
194:
195: (?: (?: [\040\t] | \(
196: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
197: \) )* , (?: [\040\t] | \(
198: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
199: \) )* @ (?: [\040\t] | \(
200: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
201: \) )* (?:
202: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
203: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
204: | \[ # [
205: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
206: \] # ]
207: ) # initial subdomain
208: (?: #
209: (?: [\040\t] | \(
210: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
211: \) )* \. # if led by a period...
212: (?: [\040\t] | \(
213: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
214: \) )* (?:
215: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
216: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
217: | \[ # [
218: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
219: \] # ]
220: ) # ...further okay
221: )*
222: )* # further okay, if led by comma
223: : # closing colon
224: (?: [\040\t] | \(
225: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
226: \) )* )? # optional route
227: (?:
228: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
229: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
230: |
231: " (?: # opening quote...
232: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
233: | # or
234: \\ [^\x80-\xff] # Escaped something (something != CR)
235: )* " # closing quote
236: ) # initial word
237: (?: (?: [\040\t] | \(
238: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
239: \) )* \. (?: [\040\t] | \(
240: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
241: \) )* (?:
242: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
243: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
244: |
245: " (?: # opening quote...
246: [^\\\x80-\xff\n\015"] # Anything except backslash and quote
247: | # or
248: \\ [^\x80-\xff] # Escaped something (something != CR)
249: )* " # closing quote
250: ) )* # further okay, if led by a period
251: (?: [\040\t] | \(
252: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
253: \) )* @ (?: [\040\t] | \(
254: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
255: \) )* (?:
256: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
257: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
258: | \[ # [
259: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
260: \] # ]
261: ) # initial subdomain
262: (?: #
263: (?: [\040\t] | \(
264: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
265: \) )* \. # if led by a period...
266: (?: [\040\t] | \(
267: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
268: \) )* (?:
269: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
270: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
271: | \[ # [
272: (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
273: \] # ]
274: ) # ...further okay
275: )*
276: # address spec
277: (?: [\040\t] | \(
278: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
279: \) )* > # trailing >
280: # name and address
281: ) (?: [\040\t] | \(
282: (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
283: \) )* # optional trailing comment
284: /xSI
285:
286: /-- Although this saved pattern was compiled with link-size=2, it does no harm
287: to run this test with other link sizes because it is going to generated a
288: "compiled in wrong mode" error as soon as it is loaded, so the link size does
289: not matter. --/
290:
291: <!testsaved16
292:
1.1.1.4 ! misho 293: <!testsaved32
! 294:
1.1.1.2 misho 295: /\h/SI
296:
297: /\v/SI
298:
299: /\R/SI
300:
301: /[\h]/BZ
302: >\x09<
303:
304: /[\h]+/BZ
305: >\x09\x20\xa0<
306:
307: /[\v]/BZ
308:
309: /[\H]/BZ
310:
311: /[^\h]/BZ
312:
313: /[\V]/BZ
314:
315: /[\x0a\V]/BZ
1.1 misho 316:
1.1.1.2 misho 317: /\777/I
1.1 misho 318:
1.1.1.3 misho 319: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
320: XX
321:
322: /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
323: XX
324:
325: /\u0100/<JS>
326:
327: /[\u0100-\u0200]/<JS>
328:
1.1 misho 329: /-- End of testinput14 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>