BCLTeam рассказывает о скорости работы регулярных выражений. Берут простейший пример - проверить, что строка имеет вид "буква, число, буква, число, буква, число" - и решают его тремя способами. Самый тупой вариант, при котором строчка проверяется полностью вручную, работает в 18 раз быстрее чем вот такой простой regexp: "(^\s*)\w\d\w\d\w\d(\s*$)". Что особенно интересно, если отрезать ведущие и конечные пробелы ручками и проверять выражением " \w\d\w\d\w\d", то получается всего в 10 раз медленнее "рукопашного" способа.
Posted
фев 22 2005, 12:20
by
Andrew Mayorov