Lines Matching refs:escape

243                 raise error("bad escape (end of pattern)",
307 def _class_escape(source, escape):
308 # handle escape code inside character class
309 code = ESCAPES.get(escape)
312 code = CATEGORIES.get(escape)
316 c = escape[1:2]
318 # hexadecimal escape (exactly two digits)
319 escape += source.getwhile(2, HEXDIGITS)
320 if len(escape) != 4:
321 raise source.error("incomplete escape %s" % escape, len(escape))
322 return LITERAL, int(escape[2:], 16)
324 # unicode escape (exactly four digits)
325 escape += source.getwhile(4, HEXDIGITS)
326 if len(escape) != 6:
327 raise source.error("incomplete escape %s" % escape, len(escape))
328 return LITERAL, int(escape[2:], 16)
330 # unicode escape (exactly eight digits)
331 escape += source.getwhile(8, HEXDIGITS)
332 if len(escape) != 10:
333 raise source.error("incomplete escape %s" % escape, len(escape))
334 c = int(escape[2:], 16)
339 # named unicode escape e.g. \N{EM DASH}
350 # octal escape (up to three digits)
351 escape += source.getwhile(2, OCTDIGITS)
352 c = int(escape[1:], 8)
354 raise source.error('octal escape value %s outside of '
355 'range 0-0o377' % escape, len(escape))
359 if len(escape) == 2:
361 raise source.error('bad escape %s' % escape, len(escape))
362 return LITERAL, ord(escape[1])
365 raise source.error("bad escape %s" % escape, len(escape))
367 def _escape(source, escape, state):
368 # handle escape code in expression
369 code = CATEGORIES.get(escape)
372 code = ESCAPES.get(escape)
376 c = escape[1:2]
378 # hexadecimal escape
379 escape += source.getwhile(2, HEXDIGITS)
380 if len(escape) != 4:
381 raise source.error("incomplete escape %s" % escape, len(escape))
382 return LITERAL, int(escape[2:], 16)
384 # unicode escape (exactly four digits)
385 escape += source.getwhile(4, HEXDIGITS)
386 if len(escape) != 6:
387 raise source.error("incomplete escape %s" % escape, len(escape))
388 return LITERAL, int(escape[2:], 16)
390 # unicode escape (exactly eight digits)
391 escape += source.getwhile(8, HEXDIGITS)
392 if len(escape) != 10:
393 raise source.error("incomplete escape %s" % escape, len(escape))
394 c = int(escape[2:], 16)
399 # named unicode escape e.g. \N{EM DASH}
410 # octal escape
411 escape += source.getwhile(2, OCTDIGITS)
412 return LITERAL, int(escape[1:], 8)
414 # octal escape *or* decimal group reference (sigh)
416 escape += source.get()
417 if (escape[1] in OCTDIGITS and escape[2] in OCTDIGITS and
419 # got three octal digits; this is an octal escape
420 escape += source.get()
421 c = int(escape[1:], 8)
423 raise source.error('octal escape value %s outside of '
424 'range 0-0o377' % escape,
425 len(escape))
427 # not an octal escape, so this is a group reference
428 group = int(escape[1:])
432 len(escape))
435 raise source.error("invalid group reference %d" % group, len(escape) - 1)
436 if len(escape) == 2:
438 raise source.error("bad escape %s" % escape, len(escape))
439 return LITERAL, ord(escape[1])
442 raise source.error("bad escape %s" % escape, len(escape))
1068 raise s.error('octal escape value %s outside of '
1078 raise s.error('bad escape %s' % this, len(this)) from None