Подтвердить что ты не робот

Список всех реализаций регулярных выражений?

Есть ли список реализаций регулярных выражений в Интернете, показывающий их различия/сходства?

Для exaple Emacs elisp Regex отличается от JavaScript или Perl-регулярного выражения, не говоря уже обо всех различных реализациях, используемых различным программным обеспечением редактора,

например. VS2010 использует {} вместо () для группировки выражений для обратных ссылок.

Когда-то я мог положиться на список преобразования Regex в O'Reilly Regex Pocket Quick Reference, но что-то в Интернете было бы намного проще и полно.

Кстати, я знаю (конечно) http://www.regular-expressions.info/, который хорош, но не там, где он близок.

Я собираю список из ответов, размещенных здесь, и все, что я могу найти.

Варианты

Общие вариации

Различия в реализациях обычно связаны с обработкой специальных символов {}()[]^$ (экранирование правил и т.д.) и иногда заменяемыми; обработка/доступность классов символов POSIX, например. [:digit:] и использование опций, например. g i и т.д.

(выполняется работа, если вы знаете какие-либо оговорки, различия в этих реализациях, пожалуйста, добавьте их в качестве ответа)

  • ActionScript - использует стиль ECMA
  • Delphi (.Net) - использует стиль .Net. В Delphi Win32 нет собственного регулярного выражения, но доступны оболочки PCRE.
  • Emacs/ELisp - имеет 2 разных контекста, escaping использует \\ в elisp и \ в regexp-replace. Специальные символы (){}[] экранируются при использовании их для регулярных выражений, как sed.
  • Eclipse - Поиск использует Java-стиль regex.
  • GNU (Linux) - POSIX BRE/ERE
  • Grep - POSIX BRE/ERE
  • Groovy - использует стиль Java.
  • IntelliJ
  • Java - стиль Java.
  • JavaScript - использует стиль ECMA.
  • NetBeans
  • .NET - использует классы в System.Text.RegularExpressions
  • Блокнот ++ - PCRE
  • PCRE (C/С++) - библиотека с открытым исходным кодом, используемая многими сторонними языками и приложениями. (например, PHP, TCL, R и т.д.).
  • Perl - стиль Perl
  • PHP - POSIX ERE, PCRE, (многобайтовый строковый модуль PHP5 использует Oniguruma)
  • POSIX - BRE (основное регулярное выражение), ERE (расширенное регулярное выражение)
  • PowerShell -.NET style
  • Python - стиль Python
  • R - POSIX ERE/BRE, PCRE
  • REALbasic - PCRE
  • Ruby - Oniguruma
  • Sed - специальные символы (){}[] экранируются при использовании их для регулярных выражений.
  • Tcl - три варианта, Tcl ARE (расширенное регулярное выражение), POSIX ERE, POSIX BRE.
  • TextMate - Oniguruma
  • Терра Термы - Oniguruma
  • VBScript - ECMA
  • Visual Basic 6 - ECMA (при использовании COM-объекта Microsoft VBScript Regular Expressions 5.5 COM)
  • Visual Studio - Групповые фигурные скобки {} (подробнее см. ниже).
  • wxWidgets - Tcl ARE, POSIX BRE/ERE
  • Схема XML - XML ​​
  • XQuery и XPath - Xpath

Дополнительные ссылки.

4b9b3361

Ответ 3

Существует список библиотек, языков и приложений, поддерживающих регулярные выражения в Википедии, который включает в себя таблицу сравнения функций:

http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines

Ответ 4

Я нашел этот обзор очень полезен, когда меня путают с различными вариантами.