Существует ли список реализаций Regex в Интернете, показывающий их различия / сходства?
Например, Emacs elisp Regex отличается от JavaScript или Perl, не говоря уже о всех различных реализациях, используемых разнымипрограммное обеспечение для редактирования,
, например, 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 - Поиск использует регулярное выражение в стиле 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 style
- Python - стиль Python
- R - POSIX ERE / BRE, PCRE
- REALbasic - PCRE
- Ruby - Онигурума
- Sed - специальные символы
(){}[]
экранируются при использовании их для функций регулярных выражений. - Tcl - Threeвкусы, Tcl ARE (расширенное регулярное выражение), POSIX ERE, POSIX BRE.
- TextMate - Онигурума
- Тера Термин - Онигурума
- 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
Дополнительные ссылки.