रेग्युलर एक्सप्रेशन इंजिन की तुलना

मुक्त ज्ञानकोश विकिपीडिया से
imported>InternetArchiveBot द्वारा परिवर्तित १४:५१, १ सितंबर २०२० का अवतरण (Rescuing 5 sources and tagging 0 as dead.) #IABot (v2.0.6)
(अन्तर) ← पुराना अवतरण | वर्तमान अवतरण (अन्तर) | नया अवतरण → (अन्तर)
नेविगेशन पर जाएँ खोज पर जाएँ

यहाँ रेग्युलर एक्सप्रेशन के इंजनों की विभिन्न दृष्टियों से तुलना की गयी है।

लाइब्रेरी

रेग्युलर इक्सप्रेशन की लाइब्रेरियों की सूची
नाम वेबसाइट प्रोग्रामन भाषा सॉफ्टवेयर लाइसेंस कहाँ प्रयुक्त
Boost.Regexसाँचा:r/ref Boost C++ Libraries C++ साँचा:free Notepad++ >= 6.0.0, EmEditor
Boost.Xpressive Boost C++ Libraries C++ साँचा:free  
CL-PPCRE Edi Weitz Common Lisp साँचा:free  
cppre Jeff Stuart C++ साँचा:free  
DEELX RegExLab C++ साँचा:free personal and commercial use  
FREJसाँचा:r/ref Fuzzy Regular Expressions for Java Java साँचा:free  
GLib/GRegexसाँचा:r/ref GLib reference manual C साँचा:free  
GRETA Microsoft Research C++ साँचा:dunno  
Helios RXPF Titan IC RTL Proprietary hardware accelerated regex engine for cybersecurity OEMs  
ICU International Components for Unicode C, C++साँचा:r/ref साँचा:free Foundation (Apple and Swift open-source versions)
Jakarta/Regexp The Apache Jakarta Project Java साँचा:free  
java.util.regex Java's User manual Java Proprietary Java license jEdit
JRegex JRegex Java साँचा:free  
Oniguruma Kosako C साँचा:free Atom, Take Command Console, Tera Term, TextMate, Sublime Text, SubEthaEdit, EmEditor and jq
Pattwo Stevesoft Java (compatible with Java 1.0) साँचा:free  
PCRE pcre.org C, C++साँचा:r/ref साँचा:free Nginx, Julia, HHVM, Notepad++ < 6.0.0, PHP
Qt/QRegExp Digia C++ साँचा:free Kate, Kile
regex - Henry Spencer's regular expression libraries ArgList C साँचा:free  
RE2 RE2 C++ साँचा:free  
Henry Spencer's Advanced Regular Expressions Tcl C साँचा:free  
Hyperscan Intel C, x86-specific assembly (SSSE3+[१]) साँचा:free
SubReg Matt Bucknall C साँचा:free  
TREसाँचा:r/ref Ville Laurikari C साँचा:free  
TPerlRegEx TPerlRegEx VCL Component Object Pascal साँचा:free  
TRegExpr RegExp Studio Object Pascal साँचा:partial Total Commander
RGX RGX C++ based component library साँचा:proprietary  
XRegExp XRegExp JavaScript साँचा:free  
Wolfram Language (Mathematica) Wolfram Language Documentation Center Wolfram Language Mathematica, the Wolfram Development Platform

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

भाषाएँ

उन प्रोग्रामन भाषाओं की सूची जिनमें रेग्युलर इक्सप्रेसन का उपयोग हुआ है।
भाषा जालस्थल सॉफ्टवेयर लाइसेंस टिप्पणी
.NET MSDN साँचा:free
POSIX C (C) libc/regex from BSD BSD According to regex(3), available from at least 4.4BSD (if not earlier)
C++11 (C++) C++ standards website साँचा:dunno Since ISO14822:2011(e)
D D साँचा:free
Go Golang.org साँचा:free
Haskell Haskell.org साँचा:free Omitted in the language report, and in GHC's Hierarchical Libraries
Java Java साँचा:free REs are written as strings in source code: all backslashes must be doubled, harming readability.
JavaScript (ECMAScript) ECMA-262 साँचा:free Limited but REs are first-class citizens of the language with a specific /.../mod syntax.
Julia JuliaLang.org साँचा:free REs are part of the language core library using PCRE built-in and an optional wrapper for (C code) ICU is available.
Lua Lua.org साँचा:free Uses simplified, limited dialect; can be bound to more powerful library, like PCRE or an alternative parser like LPeg.
Mathematica Wolfram Proprietary
Nim nim-lang.org साँचा:free Standard library includes PCRE-based re and nre modules, as well as various alternatives (ex. strutils, pegs (Parsing Expression Grammar matching), strscans, parseutils, etc).
Free Pascal (Object Pascal) www.freepascal.org साँचा:partial Free Pascal 2.6+ ships with TRegExpr from Sorokin and two other regular expression libraries; See wiki.lazarus.freepascal.org/Regexpr.
OCaml Caml साँचा:free As of 2010, the standard module is generally regarded as deprecated;[२] often recommended libraries are pcre (with full support for PCRE) and re (which is not as complete but claims better performance and provides frontends to popular syntaxes: PCRE, Perl, Posix, Emacs, shell globbing).
Perl Perl.com साँचा:free Full, central part of the language
PHP PHP.net साँचा:free Has two implementations, with PCRE being the more efficient in speed, functions
Python python.org साँचा:free Python has two major implementations, the built in re and the regex library.
Ruby ruby-doc.org साँचा:free Ruby 1.8 and 1.9 use different engines; 1.9 integrates Oniguruma.
SAP ABAP SAP.com साँचा:proprietary
Tcl tcl.tk साँचा:free Tcl library doubles as a regular expression library.
ActionScript 3 ActionScript Technology Center साँचा:free
Wolfram Language Wolfram Research Proprietary; usable for free on a limited scale on the Wolfram Development platform.

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

भाषाओं के प्रमुख विशेषताएँ

NOTE: An application using a library for regular expression support does not necessarily offer the full set of features of the library, e.g. GNU grep which uses PCRE does not offer lookahead support, though PCRE does.

भाग 1

Language feature comparison (part 1)
"+" quantifier Negated character classes Non-greedy quantifiersसाँचा:r/ref Shy groupsसाँचा:r/ref Recursion Look-ahead Look-behind Backreferencesसाँचा:r/ref >9 indexable captures
Boost.Regex साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yesसाँचा:r/ref साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Boost.Xpressive साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yesसाँचा:r/ref साँचा:yes साँचा:yes साँचा:yes साँचा:yes
CL-PPCRE साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
EmEditor साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes No
FREJ Noसाँचा:r/ref No Someसाँचा:r/ref साँचा:yes No No No साँचा:yes साँचा:yes
GLib/GRegex साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes
GNU grep साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:dunno
Haskell साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Helios RXPF साँचा:yes साँचा:yes साँचा:yes साँचा:yes No No No साँचा:yes साँचा:yes
ICU Regex साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Java साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
JavaScript (ECMAScript) साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes No साँचा:yes साँचा:yes
JGsoft साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Lua साँचा:yes साँचा:yes Someसाँचा:r/ref साँचा:no साँचा:no साँचा:no साँचा:no साँचा:yes साँचा:no
.NET साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
OCaml साँचा:yes साँचा:yes साँचा:no साँचा:no साँचा:no साँचा:no साँचा:no साँचा:yes साँचा:no
OmniOutliner 3.6.2 साँचा:yes साँचा:yes साँचा:yes No No No No साँचा:dunno साँचा:dunno
PCRE साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Perl साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes
PHP साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Python साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yesसाँचा:r/ref साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Qt/QRegExp साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes No साँचा:yes साँचा:yes
Rसाँचा:r/ref साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
RE2 साँचा:yes साँचा:yes साँचा:yes साँचा:yes No No No No साँचा:yes
Ruby साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes
TRE साँचा:yes साँचा:yes साँचा:yes साँचा:yes No No No साँचा:yes No
Vim साँचा:Latest preview release/Vim साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes No
RGX साँचा:yes साँचा:yes साँचा:yes साँचा:yes No साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Tcl साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:no साँचा:yes साँचा:yes साँचा:yes साँचा:yes
TRegExpr साँचा:yes साँचा:dunno साँचा:yes साँचा:dunno साँचा:dunno साँचा:dunno साँचा:dunno साँचा:dunno साँचा:dunno
XRegExp साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:no साँचा:yes साँचा:no साँचा:yes साँचा:yes

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

भाग 2

Language feature comparison (part 2)
Directivesसाँचा:r/ref Conditionals Atomic groupsसाँचा:r/ref Named captureसाँचा:r/ref Comments Embedded code Unicode property support [३] Balancing groupsसाँचा:r/ref Variable-length look-behindsसाँचा:r/ref
Boost.Regex साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes No Someसाँचा:r/ref No No
Boost.Xpressive साँचा:yes No साँचा:yes साँचा:yes साँचा:yes No No No No
CL-PPCRE साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes Someसाँचा:r/ref No No
EmEditor साँचा:yes साँचा:yes साँचा:dunno साँचा:dunno साँचा:yes No साँचा:dunno No No
FREJ No No साँचा:yes साँचा:yes साँचा:yes No साँचा:dunno No No
GLib/GRegex साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes No Someसाँचा:r/ref No No
GNU grep साँचा:yes साँचा:yes साँचा:dunno साँचा:yes साँचा:yes No No No No
Haskell साँचा:dunno साँचा:dunno साँचा:dunno साँचा:dunno साँचा:dunno No No No No
Helios RXPF साँचा:yes साँचा:yes No साँचा:yes साँचा:yes No No No No
ICU Regex साँचा:yes साँचा:no साँचा:yes साँचा:yesसाँचा:r/ref साँचा:yes No साँचा:yes No No
Java साँचा:yes साँचा:no साँचा:yes साँचा:yesसाँचा:r/ref साँचा:yes No Someसाँचा:r/ref No No
JavaScript (ECMAScript) No No No No No No No No No
JGsoft साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes No Someसाँचा:r/ref No Yes
Lua साँचा:no साँचा:no साँचा:no साँचा:no साँचा:no साँचा:no साँचा:no No No
.NET साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes No Someसाँचा:r/ref साँचा:yes साँचा:yes
OCaml साँचा:no साँचा:no साँचा:no साँचा:no साँचा:no साँचा:no साँचा:no No No
OmniOutliner 3.6.2 साँचा:dunno साँचा:dunno साँचा:dunno साँचा:dunno No No साँचा:dunno No No
PCRE साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes No No
Perl साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes No No
PHP साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes No No No No
Python साँचा:yes साँचा:yes साँचा:yesसाँचा:r/ref साँचा:yes साँचा:yes No साँचा:yesसाँचा:r/ref No साँचा:yesसाँचा:r/ref
Qt/QRegExp No No No No No No No No No
RE2 साँचा:yes No ? साँचा:yes No No Someसाँचा:r/ref No No
Ruby साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes Someसाँचा:r/ref No No
Tcl साँचा:yes No साँचा:yes साँचा:no साँचा:yes साँचा:no साँचा:yes No No
TRE साँचा:yes No No No साँचा:yes No साँचा:dunno No No
Vim साँचा:yes साँचा:no साँचा:yes साँचा:no साँचा:no No साँचा:no No साँचा:yes
RGX साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:yes साँचा:no साँचा:yes No No
XRegExp Leading only साँचा:no साँचा:no साँचा:yes साँचा:yes साँचा:no साँचा:yes No No

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

API की विशेषताएँ

API feature comparison
Native UTF-16 supportसाँचा:r/ref Native UTF-8 supportसाँचा:r/ref Multi-line matching Partial matchसाँचा:r/ref
Boost.Regex No No साँचा:yes साँचा:yes
GLib/GRegex साँचा:yes साँचा:yes साँचा:yes साँचा:yes
Helios RXPF साँचा:yes साँचा:yes No साँचा:yes
ICU Regex साँचा:yes No साँचा:yes साँचा:dunno
Java No आंशिकसाँचा:r/ref साँचा:yes साँचा:yes
.NET Noसाँचा:r/ref साँचा:yes साँचा:yes साँचा:dunno
PCRE Yesसाँचा:r/ref साँचा:yes साँचा:yes साँचा:yes
Qt/QRegExp साँचा:yes No No साँचा:dunno
Tcl Yes Yesसाँचा:r/ref Yes साँचा:dunno
TRE No साँचा:dunno साँचा:yes साँचा:dunno
RGX No No साँचा:yes साँचा:dunno
wxWdigets::wxRegExसाँचा:r/ref साँचा:yes साँचा:yes साँचा:yes साँचा:dunno
XRegExp साँचा:yes साँचा:dunno साँचा:yes साँचा:dunno

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।
सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

सन्दर्भ त्रुटि: <references> में परिभाषित <ref> टैग में group प्राचल (पैरामीटर) "Note" दिया है जो उससे पहले पृष्ठ के पाठ में मौजूद नहीं है।

इन्हें भी देखें

सन्दर्ह

  1. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  2. [१]
  3. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।

बाहरी कड़ियाँ