Делимся секретами создания сайтов

5 быстрых способов сделать свои регулярные выражения быстрее :)

«Каждую программу можно сократить на один байт», эта истина была известна еще во времена, когда ЭВМ были большие и ими можно было обогревать здания. Также и с регулярными выражениями — всегда есть куда их оптимизировать, улучшать или ускорять.

Несколько быстрых советов - если вы еще этого не делаете, то может стоит начать оптимизировать ваши выражения?
1.Если строка, которую вы ищите при помощи регулярного выражения, находится всегда в начале или в конце исходной строки — обязательно используйте якоря — это намного ускоряет работу.
2.Если вы знаете, какие подстроки встречаются внутри искомой строки — обязательно указывайте их, тогда поиск будет идти существенно быстрее — т.е. чем больше КОНСТРАНТ — фиксированных строк в регулярном выражении, тем легче движку, который его выполняет.
3.Если вы можете точно указать количество совпадений — указывайте обязательно. Не пользуйтесь квантификатором '*', там где можно указать '?' или же точное количество при помощи '{3,5}'
4.По возможности не используйте оператор ИЛИ (|). Иногда бывает быстрее выполнить несколько сравнений с разными регулярными выражениями, которые отличаются только с одной позиции, чем выполнять одно регулярное выражение в котором есть оператор ИЛИ.
5.Если вы можете точно указать список символов в какой-либо позиции — указывайте его при помощи '[]'. И не используйте вместо этого '.'.

Есть еще огромное количество всяких тонкостей при работе с шаблонами, которые сложно объяснить в статье. Лучше один раз показать, чем 10 раз рассказывать о том, как это сделать.
Поэтому — приходите на онлайн тренинг, который будет 10-11 апреля.
Там будет возможность и задать свой вопрос онлайн и тутже получить на него ответ.
Самое интересное — я буду транслировать скринкаст — т.е. вы сумеете в режиме реального времени понаблюдать, как составлять регулярные выражения из кусочков.

Одним словом — самое оно для новичков в этой теме :)

Все подробности — на моем блоге по адресу gasparchilingarov.com
(А точнее по адресу

http://gasparchilingarov.com/2008/04/08/regular-expr...

)

Один овет → “5 быстрых способов сделать свои регулярные выражения быстрее :)”

  1. Анатолий Герасин Ответить

    полезная штука, спасибо )

Ответить