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