22 '[\x00-\x7F]'. # ASCII (including control chars)
23 '|[\xC2-\xDF][\x80-\xBF]'. # non-overlong 2-byte
24 '|\xE0[\xA0-\xBF][\x80-\xBF]'. # excluding overlongs
25 '|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}'. # straight 3-byte
26 '|\xED[\x80-\x9F][\x80-\xBF]'. # excluding surrogates
27 '|\xF0[\x90-\xBF][\x80-\xBF]{2}'. # planes 1-3
28 '|[\xF1-\xF3][\x80-\xBF]{3}'. # planes 4-15
29 '|\xF4[\x80-\x8F][\x80-\xBF]{2}'. # plane 16
42 '([\x00-\x7F])'. # ASCII (including control chars)
43 '|([\xC2-\xDF][\x80-\xBF])'. # non-overlong 2-byte
44 '|(\xE0[\xA0-\xBF][\x80-\xBF])'. # excluding overlongs
45 '|([\xE1-\xEC\xEE\xEF][\x80-\xBF]{2})'. # straight 3-byte
46 '|(\xED[\x80-\x9F][\x80-\xBF])'. # excluding surrogates
47 '|(\xF0[\x90-\xBF][\x80-\xBF]{2})'. # planes 1-3
48 '|([\xF1-\xF3][\x80-\xBF]{3})'. # planes 4-15
49 '|(\xF4[\x80-\x8F][\x80-\xBF]{2})'; # plane 16
61 '([\x00-\x7F]'. # ASCII (including control chars)
62 '|[\xC2-\xDF][\x80-\xBF]'. # non-overlong 2-byte
63 '|\xE0[\xA0-\xBF][\x80-\xBF]'. # excluding overlongs
64 '|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}'. # straight 3-byte
65 '|\xED[\x80-\x9F][\x80-\xBF]'. # excluding surrogates
66 '|\xF0[\x90-\xBF][\x80-\xBF]{2}'. # planes 1-3
67 '|[\xF1-\xF3][\x80-\xBF]{3}'. # planes 4-15
68 '|\xF4[\x80-\x8F][\x80-\xBF]{2}'. # plane 16
69 '|(.{1}))'; # invalid byte