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

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

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

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

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

Между прочим, я знаю (конечно, ) http://www.regular-expressions.info/ что хорошо, но далеко не полное.

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

Варианты

Общие варианты

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

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

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

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

22
задан 10 revs, 2 users 100% 18 October 2017 в 03:08
поделиться