Анимация
JavaScript
|
Главная Библионтека быть также именем группы, заданной в регулярном выражении с помощью синтаксиса ?P<name>expr. Если шаблон не содержит группы с указанным номером (именем), генерируется исключение IndexError. С одним аргументом метод group() возвращает одну строку, с несколькими аргументами - кортеж из строк (по строке для каждого указанного номера группы), без аргументов - строку, удовлетворяющую всему регулярному выражению (как если бы метод был вызван с одним аргументом, равным 0 ). Если регулярное выражение какой-либо группы не было удовлетворено фрагментом строки, возвращаемое значение для этой группы будет None вместо строки. Если же оно было удовлетворено несколько раз, в возвращаемое значение включается только последний результат. Приведем небольшой пример. После выполнения инструкции m= re.match(r"(?P<int>\d+)\.(\d*)", 3.14) m.group(l) и m.group(int) возвращают 3, а m.group(2) возвращает 14. groups ([default]) Возвращает кортеж из фрагментов, которые при выполнении операции сопоставления удовлетворили определениям всех групп, содержащихся в регулярном выражении. default используются в качестве значения по умолчанию для групп, которые не удовлетворяют никакому фрагменту. Если аргумент default не задан, в таких случаях всегда используется None. groupdict( [default]) Возвращает словарь, отображающий имена групп к фрагментам, которым эти группы удовлетворяют. default используется в качестве значения по умолчанию для групп, которые не удовлетворяют никакому фрагменту. Если аргумент default не задан, в таких случаях всегда используется None. start( [group]) end( [group]) Возвращает позиции начала и конца фрагмента в исходной строке, который удовлетворяет группе с номером (или именем) group (по умолчанию используется 0 , что соответствует всему регулярному выражению). Если группа не удовлетворяют никакому фрагменту, возвращают -1. Фрагмент, удовлетворяющий группе g, то есть m.group(g), может быть также получен как m.string[m.start(g):m.end(g)] . span( [group]) Возвращает кортеж (m.start( group), m.end( group)), где m - объект, к которому применяется метод. Обратите внимание, что, если группа не удовлетворяют никакому фрагменту, метод возвращает (-1, -1) . expand( template) В шаблоне template заменяет специальные последовательности, ссылающиеся на символы (например, \n) и удовлетворяющие фрагменты объекта (\1 , \g<1>, 16.3. StringIO и cStringIO - работа со строками как с ... 231 \g<name> ) аналогично методу sub() и возвращает результат. Этот метод доступен, начиная с версии 2.0. Значение аргумента pos, переданного функции (методу) search() или match() . endpos Значение аргумента endpos, переданного функции (методу) search() или match() . lastgroup Имя последней удовлетворенной группы (наиболее охватывающей) или None, если эта группа не имеет имени или не была удовлетворена ни одна группа. Например: >>> import re >>> re.match((?P<gl>a)(?P<g2>b(?P<g3>c)), ... abc).lastgroup lastindex Номер последней удовлетворенной группы (наиболее охватывающей) или None, если не была удовлетворена ни одна группа. Например: >>> import re >>> re.match((?P<gl>a)(?P<g2>b(?P<g3>c)), ... abc).lastindex Объект компилированного регулярного выражения, который использовался для выполнения операции поиска или сопоставления. string Значение аргумента string, переданного функции (методу) search() или match() . 16.3 StringIO и cStringIO - работа со строками как с файловыми объектами Модуль StringIO реализует класс StringIO, экземпляры которого ведут себя аналогично файловым объектам, но работает не с реальным файлом, а со строковым буфером. Модуль cStringIO, реализованный на C (и поэтому более быстрый), предоставляет аналогичный интерфейс, за исключением того, что вместо класса он определяет функцию-конструктор StringIO() . Объекты, возвращаемые этой функцией, ведут себя аналогично экземплярам класса StringIO. Объекты, возвращаемые конструктором StringIO() поддерживают операции, характерные для файловых объектов, а также имеют дополнительный метод: getvalue() Возвращает содержимое буфера в виде строки. Этот метод может быть вызван в любое время, до того как буфер был закрыт с помощью метода close() . 16.4 codecs - регистрация кодеров и работа с ними Доступен, начиная с версии 1.6. Этот модуль определяет базовые классы для кодеров и предоставляет доступ к внутреннему реестру кодеров. Экземпляры класса StringIO поддерживают как обычные строки, так и строки Unicode. Однако следует быть осторожным при использовании одновременно обоих типов - если обычная строка содержит символы с установленным восьмым битом, методы write() и close() могут сгенерировать исключение UnicodeError. Объекты, созданные конструктором cStringIO.StringIO() поддерживают только обычные строки: строки Unicode, передаваемые методу write() , автоматически преобразуются и, если это невозможно, генерируется исключение UnicodeError. StringIO( [string]) Создает и возвращает объект, представляющий строковой буфер. Если задан аргумент string, он используется в качестве начального содержимого буфера, в противном случае создается пустой объект. Указатель у создаваемого объекта всегда устанавливается на начало буфера. Конструктор StringIO() , определенный в модуле cStringIO возвращает объекты разного типа в зависимости от наличия аргумента. В случае, если конструктор вызван с аргументом (должен быть обычной строкой, иначе будет сгенерировано исключение ValueError), Вы можете только читать информацию из созданного строкового буфера. При вызове без аргументов возвращаемый объект допускает как чтение, так и запись. InputType (в модуле cStringIO) Тип объекта, созданного вызовом функции cStringIO.StringIO() со строкой в качестве аргумента. OutputType (в модуле cStringIO) Тип объекта, созданного вызовом функции cStringIO.StringIO() без аргументов. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 [ 71 ] 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |