1 # This set of tests is run only with the 8-bit library. They must not require 2 # UTF-8 or Unicode property support. */ 3 4 #forbid_utf 5 #newline_default lf any anycrlf 6 7 /ab/ 8 \= Expect error message (too big char) and no match 9 A\x{123}B 10 A\o{443}B 11 12 /\x{100}/I 13 14 /\o{400}/I 15 16 / (?: [\040\t] | \( 17 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 18 \) )* # optional leading comment 19 (?: (?: 20 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 21 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 22 | 23 " (?: # opening quote... 24 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 25 | # or 26 \\ [^\x80-\xff] # Escaped something (something != CR) 27 )* " # closing quote 28 ) # initial word 29 (?: (?: [\040\t] | \( 30 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 31 \) )* \. (?: [\040\t] | \( 32 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 33 \) )* (?: 34 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 35 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 36 | 37 " (?: # opening quote... 38 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 39 | # or 40 \\ [^\x80-\xff] # Escaped something (something != CR) 41 )* " # closing quote 42 ) )* # further okay, if led by a period 43 (?: [\040\t] | \( 44 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 45 \) )* @ (?: [\040\t] | \( 46 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 47 \) )* (?: 48 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 49 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 50 | \[ # [ 51 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 52 \] # ] 53 ) # initial subdomain 54 (?: # 55 (?: [\040\t] | \( 56 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 57 \) )* \. # if led by a period... 58 (?: [\040\t] | \( 59 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 60 \) )* (?: 61 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 62 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 63 | \[ # [ 64 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 65 \] # ] 66 ) # ...further okay 67 )* 68 # address 69 | # or 70 (?: 71 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 72 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 73 | 74 " (?: # opening quote... 75 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 76 | # or 77 \\ [^\x80-\xff] # Escaped something (something != CR) 78 )* " # closing quote 79 ) # one word, optionally followed by.... 80 (?: 81 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... 82 \( 83 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 84 \) | # comments, or... 85 86 " (?: # opening quote... 87 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 88 | # or 89 \\ [^\x80-\xff] # Escaped something (something != CR) 90 )* " # closing quote 91 # quoted strings 92 )* 93 < (?: [\040\t] | \( 94 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 95 \) )* # leading < 96 (?: @ (?: [\040\t] | \( 97 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 98 \) )* (?: 99 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 100 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 101 | \[ # [ 102 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 103 \] # ] 104 ) # initial subdomain 105 (?: # 106 (?: [\040\t] | \( 107 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 108 \) )* \. # if led by a period... 109 (?: [\040\t] | \( 110 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 111 \) )* (?: 112 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 113 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 114 | \[ # [ 115 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 116 \] # ] 117 ) # ...further okay 118 )* 119 120 (?: (?: [\040\t] | \( 121 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 122 \) )* , (?: [\040\t] | \( 123 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 124 \) )* @ (?: [\040\t] | \( 125 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 126 \) )* (?: 127 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 128 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 129 | \[ # [ 130 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 131 \] # ] 132 ) # initial subdomain 133 (?: # 134 (?: [\040\t] | \( 135 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 136 \) )* \. # if led by a period... 137 (?: [\040\t] | \( 138 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 139 \) )* (?: 140 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 141 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 142 | \[ # [ 143 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 144 \] # ] 145 ) # ...further okay 146 )* 147 )* # further okay, if led by comma 148 : # closing colon 149 (?: [\040\t] | \( 150 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 151 \) )* )? # optional route 152 (?: 153 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 154 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 155 | 156 " (?: # opening quote... 157 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 158 | # or 159 \\ [^\x80-\xff] # Escaped something (something != CR) 160 )* " # closing quote 161 ) # initial word 162 (?: (?: [\040\t] | \( 163 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 164 \) )* \. (?: [\040\t] | \( 165 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 166 \) )* (?: 167 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 168 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 169 | 170 " (?: # opening quote... 171 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 172 | # or 173 \\ [^\x80-\xff] # Escaped something (something != CR) 174 )* " # closing quote 175 ) )* # further okay, if led by a period 176 (?: [\040\t] | \( 177 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 178 \) )* @ (?: [\040\t] | \( 179 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 180 \) )* (?: 181 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 182 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 183 | \[ # [ 184 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 185 \] # ] 186 ) # initial subdomain 187 (?: # 188 (?: [\040\t] | \( 189 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 190 \) )* \. # if led by a period... 191 (?: [\040\t] | \( 192 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 193 \) )* (?: 194 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 195 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 196 | \[ # [ 197 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 198 \] # ] 199 ) # ...further okay 200 )* 201 # address spec 202 (?: [\040\t] | \( 203 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 204 \) )* > # trailing > 205 # name and address 206 ) (?: [\040\t] | \( 207 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 208 \) )* # optional trailing comment 209 /Ix 210 211 /\h/I 212 213 /\H/I 214 215 /\v/I 216 217 /\V/I 218 219 /\R/I 220 221 /[\h]/B 222 >\x09< 223 224 /[\h]+/B 225 >\x09\x20\xa0< 226 227 /[\v]/B 228 229 /[\H]/B 230 231 /[^\h]/B 232 233 /[\V]/B 234 235 /[\x0a\V]/B 236 237 /\777/I 238 239 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark 240 XX 241 242 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark,alt_verbnames 243 XX 244 245 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark 246 XX 247 248 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark,alt_verbnames 249 XX 250 251 /\u0100/alt_bsux,allow_empty_class,match_unset_backref,dupnames 252 253 /[\u0100-\u0200]/alt_bsux,allow_empty_class,match_unset_backref,dupnames 254 255 /[^\x00-a]{12,}[^b-\xff]*/B 256 257 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B 258 259 /(*MARK:a\x{100}b)z/alt_verbnames 260 261 # End of testinput9 262