Интернет магазин китайских планшетных компьютеров



Компьютеры - Регулярные выражения - Реализации

22 января 2011


Оглавление:
1. Регулярные выражения
2. История
3. В теории формальных языков
4. Синтаксис
5. Разновидности регулярных выражений
6. Нечёткие регулярные выражения
7. Реализации



  • NFA используют жадный алгоритм отката, проверяя все возможные расширения регулярного выражения в определённом порядке и выбирая первое подходящее значение. NFA может обрабатывать подвыражения и обратные ссылки. Но из-за алгоритма отката традиционный NFA может проверять одно и то же место несколько раз, что отрицательно сказывается на скорости работы. Поскольку традиционный NFA принимает первое найденное соответствие, он может и не найти самое длинное из вхождений. Именно такой механизм регулярных выражений используется, например, в Perl, Tcl и .NET.
  • DFA работают линейно по времени, поскольку не используют откаты и никогда не проверяют какую-либо часть текста дважды. Они могут гарантированно найти самую длинную строку из возможных. DFA содержит только конечное состояние, следовательно, не обрабатывает обратных ссылок, а также не поддерживает конструкций с явным расширением, то есть не способен обработать и подвыражения. DFA используется, например, в lex и egrep.


Просмотров: 6829


<<< Представление символов в регулярных выражениях
Символы-джокеры >>>