Регулярные выражения. Поиск с заменой
Продолжение темы про RE. Всё, что не успеется, останется на следующий раз. Темы упорядочены в последовательности изложения.
— тема по Linux
— необязательная тема
- RE-Объекты в Python, смысл их использования
- Начала лексического анализа. Таблицы функций
Подстановка групп и поиск с заменой. Метод sub()
- Полная спецификация расширенного регулярного выражения:
[] [^] .
^ $
* ? + {} {,}
| ()
- Значение символа «\» в строке, в r-строке
Спецсимволы регулярного выражения в Python, метод escape()
- Многострочные RE, флаги
Домашнее задание
— теоретическое задание
— новая тема
Сайты по теме: http://www.regexp.ru/, http://realcode.ru/regexptester/
Культовая книга: http://regex.info/ (и поиск по Яндексу, да )
Вычислить выражение (решать пока не надоест )
- с тремя приоритетами (+-, */, ^ )
- с тремя приоритетами (+-, */, ** )
- с тремя приоритетами (+-, */, ** ) и круглыми скобками
c шестью приоритетами (or, and, < > ==, + -, * /, **) и круглыми скобками
- Сделать генератор для задачи
- 3.3
- 3.4 (разные типы операций)
Распознать число, записанное на русском языке ("тридцать два" = 32) (<= 1999) с помощью regexp
- «Wiki». Преобразовать таблицу вида:
| поле 1 | поле 2 | ... | поле N | | поле 1 | поле 2 | ... | поле N | ... | поле 1 | поле 2 | ... | поле N |
в HTML:<table> <tr><td> поле 1 </td><td> поле 2</td> ... <td> поле N </td></tr> <tr><td> поле 1 </td><td> поле 2</td> ... <td> поле N </td></tr> ... <tr><td> поле 1 </td><td> поле 2</td> ... <td> поле N </td></tr> </table>
- Дано число. Требуется определить, корректно ли оно. Число может быть записано в 2-ух формах:
- обычной
- экспоненциальной
- <%0x><обычная форма>
- в шестнадцатиричной (состоит из цифр и маленьких латинских букв). Число знаков после "0x" не должно превышать 16.
- <%0o><обычная форма>
- в восьмеричной. Число знаков после "0o" не должно превышать 8.
- <%0b><обычная форма>
- в двоичной. Число знаков после "0b" не должно превышать 20. Знак "-" также может быть только один и должен стоять перед символом "%". Примеры корректных чисел в обычной форме: 75, -%0x6f4,%0b101110,%0o1705.
<число в обычной форме>[<.><неотрицательное число в обычной форме, может содержать ведущие нули, не влияющие на подсчет количества знаков и стоящие до символа "%" если число не в десятичной системе счисления>]<E>[<знак "+" или "-"><число в обычной форме>]
.Решение, содержащее только значимые строки, изготовленное предыдущей программой из самой себя при помощи регулярного выражения
- Дано число. Требуется определить, корректно ли оно. Число может быть записано в 2-ух формах: