Пока что сама программа продвигается медленно (хотя уже не выдаёт ошибок деления на 0), но я уже раскопал интересные секреты регэкспов Перла. Коими и спешу поделиться.
Информация редкая, такое не в каждом учебнике найдёшь.
| Конструкция | Значение |
| /x | Инструкция в конце regexp'а разрешает использование разнообразных пробелов,а также комментов. ОЧЕНЬ РЕКОМЕНДУЮ к использованию: читабельность регэкспа повышается в разы, когда вы разбираете его по кусочкам.Естественно,что пробелы и "диезы" с использованием этого указания надо отделять слешем, если вы хотите их использовать по прямому назначению. |
| /m | Рассматривать переменную как многострочную. ^ и $ отвечают не за начало и конец строки,а за начало и конец любой строки параграфа. |
| /s | Рассматривать переменную как однострочную - . будет отвечать даже символу \n,который обычно она игнорирует. |
| (?#...) | Помечает подстроку как коммент, в отличие от обычного #,который помечает весь остаток строки.Работает только при наличии инструкции /x. |
| ?{CODE} | Выполнить код внутри регэкспа (!!!). Код не интерполируется. |
| (*FAIL) | Конструкция автоматически заставляет отвергнуть любые совпадения регэкспа. |
| (*ACCEPT) | Обратно: автоматически утверждает совпадение регэкспа, дальше выражение не проверяется. |
| (*MARK:name) | Ставит метку name в строке на текущей позиции |
| (*SKIP:name) | отменяет все совпадения вплоть до метки name |
| \K | Не учитывать текст,совпавший до этого,в результате регэкспа. |
Многие из этого были введены именно в 5.10, поэтому не указаны даже в perlre.
Удачи в использовании!
Комментариев нет:
Отправить комментарий