Ответ 1
Посмотрите Сравнение вкусов с обычным выражением на Regular-Expressions.info. Он содержит, по крайней мере, самые важные в настоящее время реализации регулярных выражений и их характеристики.
Есть ли список реализаций регулярных выражений в Интернете, показывающий их различия/сходства?
Для exaple Emacs elisp Regex отличается от JavaScript или Perl-регулярного выражения, не говоря уже обо всех различных реализациях, используемых различным программным обеспечением редактора,
например. VS2010 использует {}
вместо ()
для группировки выражений для обратных ссылок.
Когда-то я мог положиться на список преобразования Regex в O'Reilly Regex Pocket Quick Reference, но что-то в Интернете было бы намного проще и полно.
Кстати, я знаю (конечно) http://www.regular-expressions.info/, который хорош, но не там, где он близок.Я собираю список из ответов, размещенных здесь, и все, что я могу найти.
Различия в реализациях обычно связаны с обработкой специальных символов {}()[]^$
(экранирование правил и т.д.) и иногда заменяемыми; обработка/доступность классов символов POSIX, например. [:digit:]
и использование опций, например. g
i
и т.д.
(выполняется работа, если вы знаете какие-либо оговорки, различия в этих реализациях, пожалуйста, добавьте их в качестве ответа)
\\
в elisp и \
в regexp-replace
. Специальные символы (){}[]
экранируются при использовании их для регулярных выражений, как sed
.(){}[]
экранируются при использовании их для регулярных выражений.{}
(подробнее см. ниже).Посмотрите Сравнение вкусов с обычным выражением на Regular-Expressions.info. Он содержит, по крайней мере, самые важные в настоящее время реализации регулярных выражений и их характеристики.
http://www.regular-expressions.info - это самое близкое, что я знаю, к исчерпывающему списку (и даже он нигде не близок к завершению). (Эта страница в частности.)
Существует список библиотек, языков и приложений, поддерживающих регулярные выражения в Википедии, который включает в себя таблицу сравнения функций:
http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines
Я нашел этот обзор очень полезен, когда меня путают с различными вариантами.