Вахмурка
|
Posted: Fri Mar 31, 2006 20:28 Post subject: К ТСКВ: примеры регулярных выражений |
|
|
Не знаю как другим, но мне довольно редко приходится пользоваться регулярными выражениями в поиске. Тем не менее, приходится все-таки. Не имея достаточно опыта в этом деле и не чувствуя регэкспы "печенкой", я поступаю следующим образом. Создаю текстовый файл, где в столбик перечисляю все строки, которые хочу найти, а также кое-чего из того, что найти не хочу. Потом вызываю поиск, ставлю птицу RegEx и пробую. Иногда долго.
В один прекрасный момент я подумал - а не создать ли файлик с удачными примерами, чтобы потом, при похожей задаче, действовать по принципу "внешних аналогий". Те примеры, что приведены в справке ТС, и даже в описаниях с http://anso.da.ru, описывают лишь 1% возможных случаев. А регулярные выражения - тема мощная, сложная и многогранная, сколько примеров ни приведи, все равно мало будет. Но курочка по зернышку клюет...
Упомянутый мой файлик с примерами растет медленно (говорю же, редко пользуюь), но все-таки растет. И вот я подумал - а не добавить ли в ТСКВ много примеров, чтобы ими пользовались все - ведь даже знатоку зачастую проще взять готовый велосипед, чем изобретать свой.
Приведу один пример. Однажды мне понадобилось найти в файлах рассылок описание утилиты, которая создает список поддиректорий. Вот какие строки я искал:
Code: |
список директори
списки директори
списка директори
список папок
списки папок
списка папок
список поддиректори
списки поддиректори
списка поддиректори
список подпапок
списки подпапок
списка подпапок
|
И вот какое регулярное выражение я подобрал, чтобы это описать:
спис(ок|ки|ка)\s(под|)(директори|пап)
Предлагаю всем, обладающим хоть малым опытом в этом деле, указанным опытом поделиться. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Last edited by Вахмурка on Fri Mar 31, 2006 21:33; edited 1 time in total |
|