Есть ли в сети список реализаций 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
Дополнительные ссылки.
задан 10 revs, 2 users 100% 18 October 2017 в 03:08
поделиться