Какое регулярное выражение более эффективно?

Недавно я получил результаты некоторых тестов соискателей, в которых один человек утверждал, что решение, которое они дали, было более эффективным (я не буду говорить какое, поскольку не хочу влиять на ответы). Излишне говорить, что я был настроен скептически, но я не Я знаю достаточно о внутренней работе компиляторов RE, чтобы разумно комментировать.

Вопрос был в том, чтобы дать регулярное выражение для распознавания чисел от 0 до 99 включительно.

Ответы были:

[0-9]{1,2}
[0-9]?[0-9]
[0-9]|([0-9][0-9])

Мне было бы интересно, как почему любой из них быстрее (или лучше в любом другом случае). Бонусные баллы за предоставление свидетельств, а не предположений, но я все равно буду принимать гипотезу, если вы сделаете ее достаточно убедительной: -)

7
задан paxdiablo 24 November 2010 в 23:43
поделиться