Анимация
JavaScript
|
Главная Библионтека Последовательность Назначение \A \b \B \d Удовлетворяет только началу строки. Удовлетворяет пустой строке в начале или конце сло-ва1. Слово определяется как последовательность из букв, цифр и символов подчеркивания. В определении множества ([ chars]) последовательность r\b для совместимости с литеральными выражениями Python интерпретируется как символ возврата на одну позицию (BS). Удовлетворяет пустой строке в середине слова. Удовлетворяет любой десятичной цифре, эквивалентна множеству [0-9]. При использовании флага LOCALE или UNICODE удовлетворяет символу, который в данном языке или в базе данных Unicode считается десятичной цифрой. Удовлетворяет любому символу, не являющемуся десятичной цифрой; эквивалентна множеству [0-9]. При использовании флага LOCALE или UNICODE удовлетворяет символу, который в данном языке или в базе данных Unicode не считается десятичной цифрой. Удовлетворяет любому символу пропуска (whitespace), эквивалентна множеству r[\t\n\v\f\r ]. При использовании флага LOCALE или UNICODE удовлетворяет символу, который в данном языке или в базе данных Unicode считается символом пропуска. Удовлетворяет любому символу, не являющемуся символом пропуска (whitespace), эквивалентна множеству r[\t\n\v\f\r ].При использовании флага LOCALE или UNICODE удовлетворяет символу, который в данном языке или в базе данных Unicode не считается символом пропуска. Удовлетворяет любому символу, являющемуся буквой, цифрой или символом подчеркивания. Если не был установлен флаг LOCALE, эквивалентна множеству [a-zA-Z0-9 ]. С установленным флагом LOCALE или UNICODE удовлетворяет символу подчеркивания и символу, который в данном языке или в базе данных Unicode считается буквой или цифрой. Удовлетворяет любому символу, не входящему в класс r\w, то есть эквивалентна множеству r\w. Удовлетворяет только концу строки. 1В текущих реализациях эта специальная последовательность не работает корректно при использовании национальных установок (флаг LOCALE), отличных от С.
16.2.2 Сопоставление в сравнении с поиском Модуль re предоставляет две примитивные операции с регулярными выражениями: сопоставление (match) и поиск (search). Если для Вас привычна семантика использования регулярных выражений в языке Perl, поиск - это то, что Вам нужно (см. описания функции search() и одноименного метода объектов, представляющих компилированные регулярные выражения). Сопоставление дает положительный результат, только если шаблон удовлетворяет строке с самого ее начала или заданной позиции: >>> import re >>> from operator import truth >>> truth(re.match(a, ba)) >>> truth(re.search(a, ba)) При поиске специальный символ в многострочном режиме (флаг MULTILINe) помимо начала строки удовлетворяет позиции сразу после символа перехода на новую строку (\n), в то время как при сопоставлении независимо от режима удовлетворяет только началу строки: >>> import re >>> from operator import truth >>> re obj = re.compile(.*a, re.M) >>> truth(re obj.match(\na)) >>> truth(re obj.search(\na)) l 16.2.3 Функции и константы, определенные в модуле compile (pattern [, flags]) Компилирует регулярное выражение в строке pattern и возвращает представляющий его объект. Поведением регулярного выражения можно управлять с помощью аргумента flags. Значение аргумента flags может быть составлено из описанных ниже констант с помощью оператора j . Последовательность инструкций prog = re.compile(pat) result = prog.match(str) эквивалентна инструкции result = re.match(pat, str) Однако использование compile() более эффективно, если регулярное выражение предполагается использовать неоднократно. IGNORECASE I Используется, если необходимо выполнить сопоставление или поиск без учета регистра букв. Использование этого флага совместно с флагом LOCALE в версиях интерпретатора 1.5.2 и более ранних бессмысленно, а иногда (если используемая кодировка не является надмножеством ASCII) и опасно. LOCALE L Делает классы r\w, r\W, r\b и r\B зависящими от текущих национальных установок (используются национальные установки на момент выполнения операции сопоставления или поиска, а не компиляции регулярного выражения). MULTILINE M Устанавливает многострочный режим, в котором специальные символы (только при выполнении поиска) и $ (при выполнении как сопоставления, так и поиска) удовлетворяют не только началу и концу строки, но и сразу после и перед символом \n соответственно. DOTALL S Делает специальный символ . удовлетворяющим любому символу. Без этого флага . удовлетворяет любому символу, кроме \n. VERBOSE X Использование этого флага позволяет писать регулярные выражения в более элегантном виде: •Символы пропуска (whitespace) в строке-шаблоне игнорируются, за исключением определений множеств и записанных с использованием обратной косой черты. •Все символы до конца строки после #, за исключением случаев, когда # содержится в определении множества или записан с использованием обратной косой черты (r\#), считаются комментарием и игнорируются. TEMPLATE T Устанавливает "режим шаблона": поиск производится без отката назад в случае неудачи во время перебора. Эта опция является экспериментальной (ее поддержка может быть удалена в будущих версиях); доступна, начиная с версии 1.6. 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 |