Есть ли список реализаций регулярных выражений в Интернете, показывающий их различия/сходства?
Для 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