Janis Danisevskis | 112c9cc | 2016-03-31 13:35:25 +0100 | [diff] [blame] | 1 | # This set of tests is for the 16-bit and 32-bit libraries' basic (non-UTF) |
| 2 | # features that are not compatible with the 8-bit library, or which give |
| 3 | # different output in 16-bit or 32-bit mode. The output for the two widths is |
| 4 | # different, so they have separate output files. |
| 5 | |
| 6 | #forbid_utf |
| 7 | #newline_default LF ANY ANYCRLF |
| 8 | |
| 9 | /[^\x{c4}]/IB |
| 10 | ------------------------------------------------------------------ |
| 11 | Bra |
| 12 | [^\x{c4}] |
| 13 | Ket |
| 14 | End |
| 15 | ------------------------------------------------------------------ |
| 16 | Capturing subpattern count = 0 |
| 17 | Subject length lower bound = 1 |
| 18 | |
| 19 | /\x{100}/I |
| 20 | Capturing subpattern count = 0 |
| 21 | First code unit = \x{100} |
| 22 | Subject length lower bound = 1 |
| 23 | |
| 24 | / (?: [\040\t] | \( |
| 25 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 26 | \) )* # optional leading comment |
| 27 | (?: (?: |
| 28 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 29 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 30 | | |
| 31 | " (?: # opening quote... |
| 32 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 33 | | # or |
| 34 | \\ [^\x80-\xff] # Escaped something (something != CR) |
| 35 | )* " # closing quote |
| 36 | ) # initial word |
| 37 | (?: (?: [\040\t] | \( |
| 38 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 39 | \) )* \. (?: [\040\t] | \( |
| 40 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 41 | \) )* (?: |
| 42 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 43 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 44 | | |
| 45 | " (?: # opening quote... |
| 46 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 47 | | # or |
| 48 | \\ [^\x80-\xff] # Escaped something (something != CR) |
| 49 | )* " # closing quote |
| 50 | ) )* # further okay, if led by a period |
| 51 | (?: [\040\t] | \( |
| 52 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 53 | \) )* @ (?: [\040\t] | \( |
| 54 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 55 | \) )* (?: |
| 56 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 57 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 58 | | \[ # [ |
| 59 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 60 | \] # ] |
| 61 | ) # initial subdomain |
| 62 | (?: # |
| 63 | (?: [\040\t] | \( |
| 64 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 65 | \) )* \. # if led by a period... |
| 66 | (?: [\040\t] | \( |
| 67 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 68 | \) )* (?: |
| 69 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 70 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 71 | | \[ # [ |
| 72 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 73 | \] # ] |
| 74 | ) # ...further okay |
| 75 | )* |
| 76 | # address |
| 77 | | # or |
| 78 | (?: |
| 79 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 80 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 81 | | |
| 82 | " (?: # opening quote... |
| 83 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 84 | | # or |
| 85 | \\ [^\x80-\xff] # Escaped something (something != CR) |
| 86 | )* " # closing quote |
| 87 | ) # one word, optionally followed by.... |
| 88 | (?: |
| 89 | [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... |
| 90 | \( |
| 91 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 92 | \) | # comments, or... |
| 93 | |
| 94 | " (?: # opening quote... |
| 95 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 96 | | # or |
| 97 | \\ [^\x80-\xff] # Escaped something (something != CR) |
| 98 | )* " # closing quote |
| 99 | # quoted strings |
| 100 | )* |
| 101 | < (?: [\040\t] | \( |
| 102 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 103 | \) )* # leading < |
| 104 | (?: @ (?: [\040\t] | \( |
| 105 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 106 | \) )* (?: |
| 107 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 108 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 109 | | \[ # [ |
| 110 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 111 | \] # ] |
| 112 | ) # initial subdomain |
| 113 | (?: # |
| 114 | (?: [\040\t] | \( |
| 115 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 116 | \) )* \. # if led by a period... |
| 117 | (?: [\040\t] | \( |
| 118 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 119 | \) )* (?: |
| 120 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 121 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 122 | | \[ # [ |
| 123 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 124 | \] # ] |
| 125 | ) # ...further okay |
| 126 | )* |
| 127 | |
| 128 | (?: (?: [\040\t] | \( |
| 129 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 130 | \) )* , (?: [\040\t] | \( |
| 131 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 132 | \) )* @ (?: [\040\t] | \( |
| 133 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 134 | \) )* (?: |
| 135 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 136 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 137 | | \[ # [ |
| 138 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 139 | \] # ] |
| 140 | ) # initial subdomain |
| 141 | (?: # |
| 142 | (?: [\040\t] | \( |
| 143 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 144 | \) )* \. # if led by a period... |
| 145 | (?: [\040\t] | \( |
| 146 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 147 | \) )* (?: |
| 148 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 149 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 150 | | \[ # [ |
| 151 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 152 | \] # ] |
| 153 | ) # ...further okay |
| 154 | )* |
| 155 | )* # further okay, if led by comma |
| 156 | : # closing colon |
| 157 | (?: [\040\t] | \( |
| 158 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 159 | \) )* )? # optional route |
| 160 | (?: |
| 161 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 162 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 163 | | |
| 164 | " (?: # opening quote... |
| 165 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 166 | | # or |
| 167 | \\ [^\x80-\xff] # Escaped something (something != CR) |
| 168 | )* " # closing quote |
| 169 | ) # initial word |
| 170 | (?: (?: [\040\t] | \( |
| 171 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 172 | \) )* \. (?: [\040\t] | \( |
| 173 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 174 | \) )* (?: |
| 175 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 176 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 177 | | |
| 178 | " (?: # opening quote... |
| 179 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote |
| 180 | | # or |
| 181 | \\ [^\x80-\xff] # Escaped something (something != CR) |
| 182 | )* " # closing quote |
| 183 | ) )* # further okay, if led by a period |
| 184 | (?: [\040\t] | \( |
| 185 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 186 | \) )* @ (?: [\040\t] | \( |
| 187 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 188 | \) )* (?: |
| 189 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... |
| 190 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom |
| 191 | | \[ # [ |
| 192 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff |
| 193 | \] # ] |
| 194 | ) # initial subdomain |
| 195 | (?: # |
| 196 | (?: [\040\t] | \( |
| 197 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 198 | \) )* \. # if led by a period... |
| 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 | ) # ...further okay |
| 208 | )* |
| 209 | # address spec |
| 210 | (?: [\040\t] | \( |
| 211 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 212 | \) )* > # trailing > |
| 213 | # name and address |
| 214 | ) (?: [\040\t] | \( |
| 215 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* |
| 216 | \) )* # optional trailing comment |
| 217 | /Ix |
| 218 | Capturing subpattern count = 0 |
| 219 | Contains explicit CR or LF match |
| 220 | Options: extended |
| 221 | Starting code units: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 |
| 222 | 9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e |
| 223 | f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \xff |
| 224 | Subject length lower bound = 3 |
| 225 | |
| 226 | /[\h]/B |
| 227 | ------------------------------------------------------------------ |
| 228 | Bra |
| 229 | [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}] |
| 230 | Ket |
| 231 | End |
| 232 | ------------------------------------------------------------------ |
| 233 | >\x09< |
| 234 | 0: \x09 |
| 235 | |
| 236 | /[\h]+/B |
| 237 | ------------------------------------------------------------------ |
| 238 | Bra |
| 239 | [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]++ |
| 240 | Ket |
| 241 | End |
| 242 | ------------------------------------------------------------------ |
| 243 | >\x09\x20\xa0< |
| 244 | 0: \x09 \xa0 |
| 245 | |
| 246 | /[\v]/B |
| 247 | ------------------------------------------------------------------ |
| 248 | Bra |
| 249 | [\x0a-\x0d\x85\x{2028}-\x{2029}] |
| 250 | Ket |
| 251 | End |
| 252 | ------------------------------------------------------------------ |
| 253 | |
| 254 | /[^\h]/B |
| 255 | ------------------------------------------------------------------ |
| 256 | Bra |
| 257 | [^\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}] |
| 258 | Ket |
| 259 | End |
| 260 | ------------------------------------------------------------------ |
| 261 | |
| 262 | /\h+/I |
| 263 | Capturing subpattern count = 0 |
| 264 | Starting code units: \x09 \x20 \xa0 \xff |
| 265 | Subject length lower bound = 1 |
| 266 | \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} |
| 267 | 0: \x{1680}\x{2000}\x{202f}\x{3000} |
| 268 | \x{3001}\x{2fff}\x{200a}\xa0\x{2000} |
| 269 | 0: \x{200a}\xa0\x{2000} |
| 270 | |
| 271 | /[\h\x{dc00}]+/IB |
| 272 | ------------------------------------------------------------------ |
| 273 | Bra |
| 274 | [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{dc00}]++ |
| 275 | Ket |
| 276 | End |
| 277 | ------------------------------------------------------------------ |
| 278 | Capturing subpattern count = 0 |
| 279 | Starting code units: \x09 \x20 \xa0 \xff |
| 280 | Subject length lower bound = 1 |
| 281 | \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} |
| 282 | 0: \x{1680}\x{2000}\x{202f}\x{3000} |
| 283 | \x{3001}\x{2fff}\x{200a}\xa0\x{2000} |
| 284 | 0: \x{200a}\xa0\x{2000} |
| 285 | |
| 286 | /\H+/I |
| 287 | Capturing subpattern count = 0 |
| 288 | Subject length lower bound = 1 |
| 289 | \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} |
| 290 | 0: \x{167f}\x{1681}\x{180d}\x{180f} |
| 291 | \x{2000}\x{200a}\x{1fff}\x{200b} |
| 292 | 0: \x{1fff}\x{200b} |
| 293 | \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} |
| 294 | 0: \x{202e}\x{2030}\x{205e}\x{2060} |
| 295 | \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} |
| 296 | 0: \x9f\xa1\x{2fff}\x{3001} |
| 297 | |
| 298 | /[\H\x{d800}]+/ |
| 299 | \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} |
| 300 | 0: \x{167f}\x{1681}\x{180d}\x{180f} |
| 301 | \x{2000}\x{200a}\x{1fff}\x{200b} |
| 302 | 0: \x{1fff}\x{200b} |
| 303 | \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} |
| 304 | 0: \x{202e}\x{2030}\x{205e}\x{2060} |
| 305 | \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} |
| 306 | 0: \x9f\xa1\x{2fff}\x{3001} |
| 307 | |
| 308 | /\v+/I |
| 309 | Capturing subpattern count = 0 |
| 310 | Starting code units: \x0a \x0b \x0c \x0d \x85 \xff |
| 311 | Subject length lower bound = 1 |
| 312 | \x{2027}\x{2030}\x{2028}\x{2029} |
| 313 | 0: \x{2028}\x{2029} |
| 314 | \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d |
| 315 | 0: \x85\x0a\x0b\x0c\x0d |
| 316 | |
| 317 | /[\v\x{dc00}]+/IB |
| 318 | ------------------------------------------------------------------ |
| 319 | Bra |
| 320 | [\x0a-\x0d\x85\x{2028}-\x{2029}\x{dc00}]++ |
| 321 | Ket |
| 322 | End |
| 323 | ------------------------------------------------------------------ |
| 324 | Capturing subpattern count = 0 |
| 325 | Starting code units: \x0a \x0b \x0c \x0d \x85 \xff |
| 326 | Subject length lower bound = 1 |
| 327 | \x{2027}\x{2030}\x{2028}\x{2029} |
| 328 | 0: \x{2028}\x{2029} |
| 329 | \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d |
| 330 | 0: \x85\x0a\x0b\x0c\x0d |
| 331 | |
| 332 | /\V+/I |
| 333 | Capturing subpattern count = 0 |
| 334 | Subject length lower bound = 1 |
| 335 | \x{2028}\x{2029}\x{2027}\x{2030} |
| 336 | 0: \x{2027}\x{2030} |
| 337 | \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 |
| 338 | 0: \x09\x0e\x84\x86 |
| 339 | |
| 340 | /[\V\x{d800}]+/ |
| 341 | \x{2028}\x{2029}\x{2027}\x{2030} |
| 342 | 0: \x{2027}\x{2030} |
| 343 | \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 |
| 344 | 0: \x09\x0e\x84\x86 |
| 345 | |
| 346 | /\R+/I,bsr=unicode |
| 347 | Capturing subpattern count = 0 |
| 348 | \R matches any Unicode newline |
| 349 | Starting code units: \x0a \x0b \x0c \x0d \x85 \xff |
| 350 | Subject length lower bound = 1 |
| 351 | \x{2027}\x{2030}\x{2028}\x{2029} |
| 352 | 0: \x{2028}\x{2029} |
| 353 | \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d |
| 354 | 0: \x85\x0a\x0b\x0c\x0d |
| 355 | |
| 356 | /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I |
| 357 | Capturing subpattern count = 0 |
| 358 | First code unit = \x{d800} |
| 359 | Last code unit = \x{dd00} |
| 360 | Subject length lower bound = 6 |
| 361 | \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00} |
| 362 | 0: \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00} |
| 363 | |
| 364 | /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B |
| 365 | ------------------------------------------------------------------ |
| 366 | Bra |
| 367 | [^\x{80}] |
| 368 | [^\x{ff}] |
| 369 | [^\x{100}] |
| 370 | [^\x{1000}] |
| 371 | [^\x{ffff}] |
| 372 | Ket |
| 373 | End |
| 374 | ------------------------------------------------------------------ |
| 375 | |
| 376 | /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi |
| 377 | ------------------------------------------------------------------ |
| 378 | Bra |
| 379 | /i [^\x{80}] |
| 380 | /i [^\x{ff}] |
| 381 | /i [^\x{100}] |
| 382 | /i [^\x{1000}] |
| 383 | /i [^\x{ffff}] |
| 384 | Ket |
| 385 | End |
| 386 | ------------------------------------------------------------------ |
| 387 | |
| 388 | /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B |
| 389 | ------------------------------------------------------------------ |
| 390 | Bra |
| 391 | [^\x{100}]* |
| 392 | [^\x{1000}]+ |
| 393 | [^\x{ffff}]?? |
| 394 | [^\x{8000}]{4} |
| 395 | [^\x{8000}]* |
| 396 | [^\x{7fff}]{2} |
| 397 | [^\x{7fff}]{0,7}? |
| 398 | [^\x{100}]{5} |
| 399 | [^\x{100}]?+ |
| 400 | Ket |
| 401 | End |
| 402 | ------------------------------------------------------------------ |
| 403 | |
| 404 | /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi |
| 405 | ------------------------------------------------------------------ |
| 406 | Bra |
| 407 | /i [^\x{100}]* |
| 408 | /i [^\x{1000}]+ |
| 409 | /i [^\x{ffff}]?? |
| 410 | /i [^\x{8000}]{4} |
| 411 | /i [^\x{8000}]* |
| 412 | /i [^\x{7fff}]{2} |
| 413 | /i [^\x{7fff}]{0,7}? |
| 414 | /i [^\x{100}]{5} |
| 415 | /i [^\x{100}]?+ |
| 416 | Ket |
| 417 | End |
| 418 | ------------------------------------------------------------------ |
| 419 | |
| 420 | /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark |
| 421 | XX |
| 422 | 0: XX |
| 423 | MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
| 424 | |
| 425 | /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark |
| 426 | XX |
| 427 | 0: XX |
| 428 | MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE |
| 429 | |
| 430 | /\u0100/B,alt_bsux,allow_empty_class,match_unset_backref |
| 431 | ------------------------------------------------------------------ |
| 432 | Bra |
| 433 | \x{100} |
| 434 | Ket |
| 435 | End |
| 436 | ------------------------------------------------------------------ |
| 437 | |
| 438 | /[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref |
| 439 | ------------------------------------------------------------------ |
| 440 | Bra |
| 441 | [\x{100}-\x{200}] |
| 442 | Ket |
| 443 | End |
| 444 | ------------------------------------------------------------------ |
| 445 | |
| 446 | /\ud800/B,alt_bsux,allow_empty_class,match_unset_backref |
| 447 | ------------------------------------------------------------------ |
| 448 | Bra |
| 449 | \x{d800} |
| 450 | Ket |
| 451 | End |
| 452 | ------------------------------------------------------------------ |
| 453 | |
| 454 | /^\x{ffff}+/i |
| 455 | \x{ffff} |
| 456 | 0: \x{ffff} |
| 457 | |
| 458 | /^\x{ffff}?/i |
| 459 | \x{ffff} |
| 460 | 0: \x{ffff} |
| 461 | |
| 462 | /^\x{ffff}*/i |
| 463 | \x{ffff} |
| 464 | 0: \x{ffff} |
| 465 | |
| 466 | /^\x{ffff}{3}/i |
| 467 | \x{ffff}\x{ffff}\x{ffff} |
| 468 | 0: \x{ffff}\x{ffff}\x{ffff} |
| 469 | |
| 470 | /^\x{ffff}{0,3}/i |
| 471 | \x{ffff} |
| 472 | 0: \x{ffff} |
| 473 | |
| 474 | /[^\x00-a]{12,}[^b-\xff]*/B |
| 475 | ------------------------------------------------------------------ |
| 476 | Bra |
| 477 | [b-\xff] (neg){12,} |
| 478 | [\x00-a] (neg)*+ |
| 479 | Ket |
| 480 | End |
| 481 | ------------------------------------------------------------------ |
| 482 | |
| 483 | /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B |
| 484 | ------------------------------------------------------------------ |
| 485 | Bra |
| 486 | [\x00-\x08\x0e-\x1f!-\xff] (neg)* |
| 487 | \s* |
| 488 | |
| 489 | [0-9A-Z_a-z]++ |
| 490 | \W+ |
| 491 | |
| 492 | [\x00-/:-\xff] (neg)*? |
| 493 | \d |
| 494 | 0 |
| 495 | [\x00-/:-@[-^`{-\xff] (neg){4,6}? |
| 496 | \w* |
| 497 | A |
| 498 | Ket |
| 499 | End |
| 500 | ------------------------------------------------------------------ |
| 501 | |
| 502 | /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]*/B |
| 503 | ------------------------------------------------------------------ |
| 504 | Bra |
| 505 | a* |
| 506 | [b-\xff\x{100}-\x{200}]?+ |
| 507 | a# |
| 508 | a*+ |
| 509 | [b-\xff\x{100}-\x{200}]? |
| 510 | b# |
| 511 | [a-f]*+ |
| 512 | [g-\xff\x{100}-\x{200}]*+ |
| 513 | # |
| 514 | [g-\xff\x{100}-\x{200}]*+ |
| 515 | [a-c]*+ |
| 516 | # |
| 517 | [g-\xff\x{100}-\x{200}]* |
| 518 | [a-h]*+ |
| 519 | Ket |
| 520 | End |
| 521 | ------------------------------------------------------------------ |
| 522 | |
| 523 | /^[\x{1234}\x{4321}]{2,4}?/ |
| 524 | \x{1234}\x{1234}\x{1234} |
| 525 | 0: \x{1234}\x{1234} |
| 526 | |
| 527 | # Check maximum non-UTF character size for the 16-bit library. |
| 528 | |
| 529 | /\x{ffff}/ |
| 530 | A\x{ffff}B |
| 531 | 0: \x{ffff} |
| 532 | |
| 533 | /\x{10000}/ |
| 534 | |
| 535 | /\o{20000}/ |
| 536 | |
| 537 | # Check maximum character size for the 32-bit library. These will all give |
| 538 | # errors in the 16-bit library. |
| 539 | |
| 540 | /\x{110000}/ |
| 541 | |
| 542 | /\x{7fffffff}/ |
| 543 | |
| 544 | /\x{80000000}/ |
| 545 | |
| 546 | /\x{ffffffff}/ |
| 547 | |
| 548 | /\x{100000000}/ |
| 549 | Failed: error 134 at offset 12: character code point value in \x{} or \o{} is too large |
| 550 | |
| 551 | /\o{17777777777}/ |
| 552 | |
| 553 | /\o{20000000000}/ |
| 554 | |
| 555 | /\o{37777777777}/ |
| 556 | |
| 557 | /\o{40000000000}/ |
| 558 | Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large |
| 559 | |
| 560 | /\x{7fffffff}\x{7fffffff}/I |
| 561 | Capturing subpattern count = 0 |
| 562 | First code unit = \x{7fffffff} |
| 563 | Last code unit = \x{7fffffff} |
| 564 | Subject length lower bound = 2 |
| 565 | |
| 566 | /\x{80000000}\x{80000000}/I |
| 567 | Capturing subpattern count = 0 |
| 568 | First code unit = \x{80000000} |
| 569 | Last code unit = \x{80000000} |
| 570 | Subject length lower bound = 2 |
| 571 | |
| 572 | /\x{ffffffff}\x{ffffffff}/I |
| 573 | Capturing subpattern count = 0 |
| 574 | First code unit = \x{ffffffff} |
| 575 | Last code unit = \x{ffffffff} |
| 576 | Subject length lower bound = 2 |
| 577 | |
| 578 | # Non-UTF characters |
| 579 | |
| 580 | /.{2,3}/ |
| 581 | \x{400000}\x{400001}\x{400002}\x{400003} |
| 582 | 0: \x{400000}\x{400001}\x{400002} |
| 583 | |
| 584 | /\x{400000}\x{800000}/IBi |
| 585 | ------------------------------------------------------------------ |
| 586 | Bra |
| 587 | /i \x{400000}\x{800000} |
| 588 | Ket |
| 589 | End |
| 590 | ------------------------------------------------------------------ |
| 591 | Capturing subpattern count = 0 |
| 592 | Options: caseless |
| 593 | First code unit = \x{400000} |
| 594 | Last code unit = \x{800000} |
| 595 | Subject length lower bound = 2 |
| 596 | |
| 597 | # Check character ranges |
| 598 | |
| 599 | /[\H]/IB |
| 600 | ------------------------------------------------------------------ |
| 601 | Bra |
| 602 | [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffffffff}] |
| 603 | Ket |
| 604 | End |
| 605 | ------------------------------------------------------------------ |
| 606 | Capturing subpattern count = 0 |
| 607 | Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b |
| 608 | \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a |
| 609 | \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 |
| 610 | : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ |
| 611 | _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 |
| 612 | \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f |
| 613 | \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e |
| 614 | \x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae |
| 615 | \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd |
| 616 | \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc |
| 617 | \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb |
| 618 | \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea |
| 619 | \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 |
| 620 | \xfa \xfb \xfc \xfd \xfe \xff |
| 621 | Subject length lower bound = 1 |
| 622 | |
| 623 | /[\V]/IB |
| 624 | ------------------------------------------------------------------ |
| 625 | Bra |
| 626 | [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffffffff}] |
| 627 | Ket |
| 628 | End |
| 629 | ------------------------------------------------------------------ |
| 630 | Capturing subpattern count = 0 |
| 631 | Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0e |
| 632 | \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d |
| 633 | \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > |
| 634 | ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c |
| 635 | d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 |
| 636 | \x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 |
| 637 | \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 |
| 638 | \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 |
| 639 | \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf |
| 640 | \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce |
| 641 | \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd |
| 642 | \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec |
| 643 | \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb |
| 644 | \xfc \xfd \xfe \xff |
| 645 | Subject length lower bound = 1 |
| 646 | |
| 647 | /(*THEN:\[A]{65501})/expand |
| 648 | |
Elliott Hughes | 9bc971b | 2018-07-27 13:23:14 -0700 | [diff] [blame^] | 649 | # We can use pcre2test's utf8_input modifier to create wide pattern characters, |
| 650 | # even though this test is run when UTF is not supported. |
| 651 | |
| 652 | /abý¿¿¿¿¿z/utf8_input |
| 653 | abý¿¿¿¿¿z |
| 654 | 0: ab\x{7fffffff}z |
| 655 | ab\x{7fffffff}z |
| 656 | 0: ab\x{7fffffff}z |
| 657 | |
| 658 | /abÿý¿¿¿¿¿z/utf8_input |
| 659 | abÿý¿¿¿¿¿z |
| 660 | 0: ab\x{ffffffff}z |
| 661 | ab\x{ffffffff}z |
| 662 | 0: ab\x{ffffffff}z |
| 663 | |
| 664 | /abÿAz/utf8_input |
| 665 | abÿAz |
| 666 | 0: ab\x{80000041}z |
| 667 | ab\x{80000041}z |
| 668 | 0: ab\x{80000041}z |
| 669 | |
Janis Danisevskis | 112c9cc | 2016-03-31 13:35:25 +0100 | [diff] [blame] | 670 | # End of testinput11 |