summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShmuel Zeigerman <solomuz0@gmail.com>2017-11-07 18:53:40 +0200
committerShmuel Zeigerman <solomuz0@gmail.com>2017-11-07 18:53:40 +0200
commite874d29e595fc2c60c30c14f3e7e9ab3ff0fe60a (patch)
treee98d851c7cff1d1461aef81ff31ecd1478a694e6
parente6b11ec52cc34b88905fa69f771dce0c2ee82452 (diff)
downloadlrexlib-e874d29e595fc2c60c30c14f3e7e9ab3ff0fe60a.tar.gz
Changes toward a new release.
-rw-r--r--index.html12
-rw-r--r--license.html4
-rw-r--r--manual.html439
3 files changed, 293 insertions, 162 deletions
diff --git a/index.html b/index.html
index 10a5baa..04c3f49 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.8: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
<title>Lrexlib</title>
<link rel="stylesheet" href="lrexlib.css" type="text/css" />
</head>
@@ -16,10 +16,10 @@
<div class="line">and Shmuel Zeigerman (<a class="reference external" href="mailto:shmuz&#64;013net.net">shmuz&#64;013net.net</a>)</div>
</div>
<p><strong>Lrexlib</strong> provides bindings of five regular expression library APIs
-(<a class="reference external" href="http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html">POSIX</a>, <a class="reference external" href="http://www.pcre.org/pcre.txt">PCRE</a>, <a class="reference external" href="ftp://ftp.gnu.org/old-gnu/regex/">GNU</a>, <a class="reference external" href="http://laurikari.net/tre/documentation/">TRE</a> and <a class="reference external" href="http://www.geocities.jp/kosako3/oniguruma/doc/RE.txt">Oniguruma</a>) to <a class="reference external" href="http://www.lua.org">Lua</a> &gt;= 5.1.
+(<a class="reference external" href="http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html">POSIX</a>, <a class="reference external" href="http://www.pcre.org/pcre.txt">PCRE</a>, <a class="reference external" href="http://www.pcre.org/pcre2.txt">PCRE2</a>, <a class="reference external" href="ftp://ftp.gnu.org/old-gnu/regex/">GNU</a>, <a class="reference external" href="http://laurikari.net/tre/documentation/">TRE</a> and <a class="reference external" href="https://github.com/kkos/oniguruma">Oniguruma</a>) to <a class="reference external" href="http://www.lua.org">Lua</a> &gt;= 5.1.
The bindings for TRE and Oniguruma are not currently complete.</p>
-<p><strong>Lrexlib</strong> is copyright Reuben Thomas 2000-2015 and copyright Shmuel
-Zeigerman 2004-2015, and is released under the same license as Lua,
+<p><strong>Lrexlib</strong> is copyright Reuben Thomas 2000-2017 and copyright Shmuel
+Zeigerman 2004-2017, and is released under the same license as Lua,
the <a class="reference external" href="http://www.opensource.org/licenses/mit-license.php">MIT</a> license (otherwise known as the revised BSD license). There
is no warranty.</p>
<p>Please report bugs and make suggestions to the maintainer, or use the
@@ -33,7 +33,7 @@ Gammon for adding support for PCRE named subpatterns.</p>
<pre class="literal-block">
luarocks install lrexlib-FLAVOUR
</pre>
-<p>where <strong>FLAVOUR</strong> is one of PCRE, POSIX, oniguruma, TRE, GNU</p>
+<p>where <strong>FLAVOUR</strong> is one of PCRE, PCRE2, POSIX, oniguruma, TRE, GNU</p>
</div>
<div class="section" id="links">
<h2>Links</h2>
@@ -47,7 +47,7 @@ luarocks install lrexlib-FLAVOUR
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2015-02-27 21:34 UTC.
+Generated on: 2017-11-07 16:44 UTC.
</div>
</body>
diff --git a/license.html b/license.html
index 120db22..76c1dad 100644
--- a/license.html
+++ b/license.html
@@ -6,8 +6,8 @@
<body>
<h2>Lrexlib</h2>
-<p>Copyright &copy; Reuben Thomas 2000-2015<br>
-Copyright &copy; Shmuel Zeigerman 2004-2015
+<p>Copyright &copy; Reuben Thomas 2000-2017<br>
+Copyright &copy; Shmuel Zeigerman 2004-2017
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/manual.html b/manual.html
index 9b7da69..8acf6b2 100644
--- a/manual.html
+++ b/manual.html
@@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.8: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
<title>Lrexlib Reference Manual</title>
<link rel="stylesheet" href="lrexlib.css" type="text/css" />
</head>
@@ -14,60 +14,70 @@
<div class="contents topic" id="table-of-contents">
<p class="topic-title first">Table of Contents</p>
<ul class="simple">
-<li><a class="reference internal" href="#notes" id="id8">Notes</a></li>
-<li><a class="reference internal" href="#functions-and-methods-common-to-all-bindings" id="id9">Functions and methods common to all bindings</a><ul>
-<li><a class="reference internal" href="#match" id="id10">match</a></li>
-<li><a class="reference internal" href="#find" id="id11">find</a></li>
-<li><a class="reference internal" href="#gmatch" id="id12">gmatch</a></li>
-<li><a class="reference internal" href="#gsub" id="id13">gsub</a></li>
-<li><a class="reference internal" href="#split" id="id14">split</a></li>
-<li><a class="reference internal" href="#count" id="id15">count</a></li>
-<li><a class="reference internal" href="#flags" id="id16">flags</a></li>
-<li><a class="reference internal" href="#new" id="id17">new</a></li>
-<li><a class="reference internal" href="#tfind" id="id18">tfind</a></li>
-<li><a class="reference internal" href="#exec" id="id19">exec</a></li>
+<li><a class="reference internal" href="#notes" id="id16">Notes</a></li>
+<li><a class="reference internal" href="#functions-and-methods-common-to-all-bindings" id="id17">Functions and methods common to all bindings</a><ul>
+<li><a class="reference internal" href="#match" id="id18">match</a></li>
+<li><a class="reference internal" href="#find" id="id19">find</a></li>
+<li><a class="reference internal" href="#gmatch" id="id20">gmatch</a></li>
+<li><a class="reference internal" href="#gsub" id="id21">gsub</a></li>
+<li><a class="reference internal" href="#split" id="id22">split</a></li>
+<li><a class="reference internal" href="#count" id="id23">count</a></li>
+<li><a class="reference internal" href="#flags" id="id24">flags</a></li>
+<li><a class="reference internal" href="#new" id="id25">new</a></li>
+<li><a class="reference internal" href="#tfind" id="id26">tfind</a></li>
+<li><a class="reference internal" href="#exec" id="id27">exec</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#pcre-only-functions-and-methods" id="id20">PCRE-only functions and methods</a><ul>
-<li><a class="reference internal" href="#id1" id="id21">new</a></li>
-<li><a class="reference internal" href="#fullinfo" id="id22">fullinfo</a></li>
-<li><a class="reference internal" href="#dfa-exec" id="id23">dfa_exec</a></li>
-<li><a class="reference internal" href="#maketables" id="id24">maketables</a></li>
-<li><a class="reference internal" href="#config" id="id25">config</a></li>
-<li><a class="reference internal" href="#id2" id="id26">version</a></li>
+<li><a class="reference internal" href="#pcre-only-functions-and-methods" id="id28">PCRE-only functions and methods</a><ul>
+<li><a class="reference internal" href="#id1" id="id29">new</a></li>
+<li><a class="reference internal" href="#fullinfo" id="id30">fullinfo</a></li>
+<li><a class="reference internal" href="#dfa-exec" id="id31">dfa_exec</a></li>
+<li><a class="reference internal" href="#maketables" id="id32">maketables</a></li>
+<li><a class="reference internal" href="#config" id="id33">config</a></li>
+<li><a class="reference internal" href="#id3" id="id34">version</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#gnu-only-functions-and-methods" id="id27">GNU-only functions and methods</a><ul>
-<li><a class="reference internal" href="#id3" id="id28">new</a></li>
+<li><a class="reference internal" href="#pcre2-only-functions-and-methods" id="id35">PCRE2-only functions and methods</a><ul>
+<li><a class="reference internal" href="#id4" id="id36">new</a></li>
+<li><a class="reference internal" href="#patterninfo" id="id37">patterninfo</a></li>
+<li><a class="reference internal" href="#id6" id="id38">dfa_exec</a></li>
+<li><a class="reference internal" href="#jit-compile" id="id39">jit_compile</a></li>
+<li><a class="reference internal" href="#id7" id="id40">maketables</a></li>
+<li><a class="reference internal" href="#id8" id="id41">config</a></li>
+<li><a class="reference internal" href="#id9" id="id42">version</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#oniguruma-only-functions-and-methods" id="id29">Oniguruma-only functions and methods</a><ul>
-<li><a class="reference internal" href="#id4" id="id30">new</a></li>
-<li><a class="reference internal" href="#setdefaultsyntax" id="id31">setdefaultsyntax</a></li>
-<li><a class="reference internal" href="#id5" id="id32">version</a></li>
-<li><a class="reference internal" href="#capturecount" id="id33">capturecount</a></li>
+<li><a class="reference internal" href="#gnu-only-functions-and-methods" id="id43">GNU-only functions and methods</a><ul>
+<li><a class="reference internal" href="#id10" id="id44">new</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#tre-only-functions-and-methods" id="id34">TRE-only functions and methods</a><ul>
-<li><a class="reference internal" href="#id6" id="id35">new</a></li>
-<li><a class="reference internal" href="#atfind" id="id36">atfind</a></li>
-<li><a class="reference internal" href="#aexec" id="id37">aexec</a></li>
-<li><a class="reference internal" href="#have-approx" id="id38">have_approx</a></li>
-<li><a class="reference internal" href="#have-backrefs" id="id39">have_backrefs</a></li>
-<li><a class="reference internal" href="#id7" id="id40">config</a></li>
-<li><a class="reference internal" href="#rex-tre-version" id="id41">rex_tre.version</a></li>
+<li><a class="reference internal" href="#oniguruma-only-functions-and-methods" id="id45">Oniguruma-only functions and methods</a><ul>
+<li><a class="reference internal" href="#id11" id="id46">new</a></li>
+<li><a class="reference internal" href="#setdefaultsyntax" id="id47">setdefaultsyntax</a></li>
+<li><a class="reference internal" href="#id12" id="id48">version</a></li>
+<li><a class="reference internal" href="#capturecount" id="id49">capturecount</a></li>
</ul>
</li>
-<li><a class="reference internal" href="#incompatibilities-with-previous-versions" id="id42">Incompatibilities with previous versions</a></li>
+<li><a class="reference internal" href="#tre-only-functions-and-methods" id="id50">TRE-only functions and methods</a><ul>
+<li><a class="reference internal" href="#id13" id="id51">new</a></li>
+<li><a class="reference internal" href="#atfind" id="id52">atfind</a></li>
+<li><a class="reference internal" href="#aexec" id="id53">aexec</a></li>
+<li><a class="reference internal" href="#have-approx" id="id54">have_approx</a></li>
+<li><a class="reference internal" href="#have-backrefs" id="id55">have_backrefs</a></li>
+<li><a class="reference internal" href="#id14" id="id56">config</a></li>
+<li><a class="reference internal" href="#rex-tre-version" id="id57">rex_tre.version</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#incompatibilities-with-previous-versions" id="id58">Incompatibilities with previous versions</a></li>
</ul>
</div>
<hr class="docutils" />
<p><strong>Lrexlib</strong> builds into shared libraries called by default <em>rex_posix.so</em>,
-<em>rex_pcre.so</em>, <em>rex_gnu.so</em>, <em>rex_tre.so</em> and <em>rex_onig.so</em>, which can be used with
-<em>require</em>.</p>
+<em>rex_pcre.so</em>, <em>rex_pcre2.so</em>, <em>rex_gnu.so</em>, <em>rex_tre.so</em> and <em>rex_onig.so</em>,
+which can be used with <em>require</em>.</p>
<hr class="docutils" />
<div class="section" id="notes">
-<h2><a class="toc-backref" href="#id8">Notes</a></h2>
+<h2><a class="toc-backref" href="#id16">Notes</a></h2>
<ol class="arabic">
<li><p class="first">Most functions and methods in Lrexlib have mandatory and optional arguments.
There are no dependencies between arguments in Lrexlib's functions and
@@ -82,8 +92,9 @@ MyFunc (arg1, arg2, [arg3], [arg4])
</pre>
</li>
<li><p class="first">Throughout this document (unless it causes ambiguity), the identifier <strong>rex</strong>
-is used in place of either <em>rex_posix</em>, <em>rex_pcre</em>, <em>rex_gnu</em>, <em>rex_onig</em> or
-<em>rex_tre</em>, which are the default namespaces for the corresponding libraries.</p>
+is used in place of either <em>rex_posix</em>, <em>rex_pcre</em>, <em>rex_pcre2</em>, <em>rex_gnu</em>,
+<em>rex_onig</em> or <em>rex_tre</em>, which are the default namespaces for the corresponding
+libraries.</p>
</li>
<li><p class="first">All functions that take a regular expression pattern as an argument will
generate an error if that pattern is found invalid by the regex library.</p>
@@ -108,73 +119,60 @@ a length that excludes the NUL.</p>
the parameter is not supplied or <tt class="docutils literal">nil</tt> is:</p>
<blockquote>
<ul class="simple">
-<li>REG_EXTENDED for POSIX and TRE</li>
-<li>0 for PCRE</li>
-<li>ONIG_OPTION_NONE for Oniguruma</li>
-<li>SYNTAX_POSIX_EXTENDED for GNU</li>
+<li><tt class="docutils literal">REG_EXTENDED</tt> for POSIX and TRE</li>
+<li><tt class="docutils literal">0</tt> for PCRE and PCRE2</li>
+<li><tt class="docutils literal">ONIG_OPTION_NONE</tt> for Oniguruma</li>
+<li><tt class="docutils literal">SYNTAX_POSIX_EXTENDED</tt> for GNU</li>
</ul>
</blockquote>
-<p><strong>PCRE</strong>, <strong>Oniguruma</strong>: <em>cf</em> may also be supplied as a string, whose
-characters stand for compilation flags. Combinations of the following
+<p><strong>PCRE</strong>, <strong>PCRE2</strong>, <strong>Oniguruma</strong>: <em>cf</em> may also be supplied as a string,
+whose characters stand for compilation flags. Combinations of the following
characters (case sensitive) are supported:</p>
<blockquote>
<table border="1" class="docutils">
<colgroup>
-<col width="24%" />
-<col width="29%" />
-<col width="48%" />
+<col width="19%" />
+<col width="22%" />
+<col width="22%" />
+<col width="37%" />
</colgroup>
<thead valign="bottom">
-<tr><th class="head"><p class="first last"><strong>Character</strong></p>
-</th>
-<th class="head"><p class="first last"><strong>PCRE flag</strong></p>
-</th>
-<th class="head"><p class="first last"><strong>Oniguruma flag</strong></p>
-</th>
+<tr><th class="head"><strong>Character</strong></th>
+<th class="head"><strong>PCRE flag</strong></th>
+<th class="head"><strong>PCRE2 flag</strong></th>
+<th class="head"><strong>Oniguruma flag</strong></th>
</tr>
</thead>
<tbody valign="top">
-<tr><td><p class="first last"><strong>i</strong></p>
-</td>
-<td><p class="first last">PCRE_CASELESS</p>
-</td>
-<td><p class="first last">ONIG_OPTION_IGNORECASE</p>
-</td>
-</tr>
-<tr><td><p class="first last"><strong>m</strong></p>
-</td>
-<td><p class="first last">PCRE_MULTILINE</p>
-</td>
-<td><p class="first last">ONIG_OPTION_NEGATE_SINGLELINE</p>
-</td>
-</tr>
-<tr><td><p class="first last"><strong>s</strong></p>
-</td>
-<td><p class="first last">PCRE_DOTALL</p>
-</td>
-<td><p class="first last">ONIG_OPTION_MULTILINE</p>
-</td>
-</tr>
-<tr><td><p class="first last"><strong>x</strong></p>
-</td>
-<td><p class="first last">PCRE_EXTENDED</p>
-</td>
-<td><p class="first last">ONIG_OPTION_EXTEND</p>
-</td>
-</tr>
-<tr><td><p class="first last"><strong>U</strong></p>
-</td>
-<td><p class="first last">PCRE_UNGREEDY</p>
-</td>
-<td><p class="first last">n/a</p>
-</td>
+<tr><td><strong>i</strong></td>
+<td>PCRE_CASELESS</td>
+<td>PCRE2_CASELESS</td>
+<td>ONIG_OPTION_IGNORECASE</td>
+</tr>
+<tr><td><strong>m</strong></td>
+<td>PCRE_MULTILINE</td>
+<td>PCRE2_MULTILINE</td>
+<td>ONIG_OPTION_NEGATE_SINGLELINE</td>
+</tr>
+<tr><td><strong>s</strong></td>
+<td>PCRE_DOTALL</td>
+<td>PCRE2_DOTALL</td>
+<td>ONIG_OPTION_MULTILINE</td>
+</tr>
+<tr><td><strong>x</strong></td>
+<td>PCRE_EXTENDED</td>
+<td>PCRE2_EXTENDED</td>
+<td>ONIG_OPTION_EXTEND</td>
+</tr>
+<tr><td><strong>U</strong></td>
+<td>PCRE_UNGREEDY</td>
+<td>PCRE2_UNGREEDY</td>
+<td>n/a</td>
</tr>
-<tr><td><p class="first last"><strong>X</strong></p>
-</td>
-<td><p class="first last">PCRE_EXTRA</p>
-</td>
-<td><p class="first last">n/a</p>
-</td>
+<tr><td><strong>X</strong></td>
+<td>PCRE_EXTRA</td>
+<td>n/a</td>
+<td>n/a</td>
</tr>
</tbody>
</table>
@@ -186,10 +184,9 @@ characters (case sensitive) are supported:</p>
the parameter is not supplied or <tt class="docutils literal">nil</tt>, is:</p>
<blockquote>
<ul class="simple">
-<li>0 for standard POSIX regex library</li>
-<li>REG_STARTEND for those POSIX regex libraries that support it,
-e.g. Spencer's.</li>
-<li>0 for PCRE, Oniguruma and TRE</li>
+<li><tt class="docutils literal">0</tt> for standard POSIX regex library</li>
+<li><tt class="docutils literal">REG_STARTEND</tt> for those POSIX regex libraries that support it, e.g. Spencer's</li>
+<li><tt class="docutils literal">0</tt> for PCRE, PCRE2, Oniguruma and TRE</li>
</ul>
</blockquote>
</li>
@@ -204,9 +201,9 @@ is discarded, e.g. <tt class="docutils literal"><span class="pre">rex.count(&quo
</div>
<hr class="docutils" />
<div class="section" id="functions-and-methods-common-to-all-bindings">
-<h2><a class="toc-backref" href="#id9">Functions and methods common to all bindings</a></h2>
+<h2><a class="toc-backref" href="#id17">Functions and methods common to all bindings</a></h2>
<div class="section" id="match">
-<h3><a class="toc-backref" href="#id10">match</a></h3>
+<h3><a class="toc-backref" href="#id18">match</a></h3>
<p><tt class="funcdef docutils literal">rex.match (subj, patt, [init], [cf], [ef], <span class="pre">[larg...])</span></tt></p>
<p>or</p>
<p><tt class="funcdef docutils literal">r:match (subj, [init], [ef])</tt></p>
@@ -287,7 +284,7 @@ substring is returned.</li>
</div>
<hr class="docutils" />
<div class="section" id="find">
-<h3><a class="toc-backref" href="#id11">find</a></h3>
+<h3><a class="toc-backref" href="#id19">find</a></h3>
<p><tt class="funcdef docutils literal">rex.find (subj, patt, [init], [cf], [ef], <span class="pre">[larg...])</span></tt></p>
<p>or</p>
<p><tt class="funcdef docutils literal">r:find (subj, [init], [ef])</tt></p>
@@ -369,7 +366,7 @@ the match.</li>
</div>
<hr class="docutils" />
<div class="section" id="gmatch">
-<h3><a class="toc-backref" href="#id12">gmatch</a></h3>
+<h3><a class="toc-backref" href="#id20">gmatch</a></h3>
<p><tt class="funcdef docutils literal">rex.gmatch (subj, patt, [cf], [ef], <span class="pre">[larg...])</span></tt></p>
<p>The function is intended for use in the <em>generic for</em> Lua construct.
It returns an iterator for repeated matching of the pattern <em>patt</em> in
@@ -427,7 +424,7 @@ till the subject fails to match.</p>
</div>
<hr class="docutils" />
<div class="section" id="gsub">
-<h3><a class="toc-backref" href="#id13">gsub</a></h3>
+<h3><a class="toc-backref" href="#id21">gsub</a></h3>
<p><tt class="funcdef docutils literal">rex.gsub (subj, patt, repl, [n], [cf], [ef], <span class="pre">[larg...])</span></tt></p>
<p>This function searches for all matches of the pattern <em>patt</em> in the string
<em>subj</em> and replaces them according to the parameters <em>repl</em> and <em>n</em> (see details
@@ -593,7 +590,7 @@ next match; <em>n</em> will not be called again;</li>
</div>
<hr class="docutils" />
<div class="section" id="split">
-<h3><a class="toc-backref" href="#id14">split</a></h3>
+<h3><a class="toc-backref" href="#id22">split</a></h3>
<p><tt class="funcdef docutils literal">rex.split (subj, sep, [cf], [ef], <span class="pre">[larg...])</span></tt></p>
<p>The function is intended for use in the <em>generic for</em> Lua construct.
It is used for splitting a subject string <em>subj</em> into parts (<em>sections</em>).
@@ -664,7 +661,7 @@ subject.</p>
</div>
<hr class="docutils" />
<div class="section" id="count">
-<h3><a class="toc-backref" href="#id15">count</a></h3>
+<h3><a class="toc-backref" href="#id23">count</a></h3>
<p><tt class="funcdef docutils literal">rex.count (subj, patt, [cf], [ef], <span class="pre">[larg...])</span></tt></p>
<p>This function counts matches of the pattern <em>patt</em> in the string <em>subj</em>.</p>
<blockquote>
@@ -721,7 +718,7 @@ subject.</p>
</div>
<hr class="docutils" />
<div class="section" id="flags">
-<h3><a class="toc-backref" href="#id16">flags</a></h3>
+<h3><a class="toc-backref" href="#id24">flags</a></h3>
<p><tt class="funcdef docutils literal">rex.flags ([tb])</tt></p>
<p>This function returns a table containing the numeric values of the constants
defined by the used regex library, with the keys being the (string) names of the
@@ -768,8 +765,8 @@ The keys in the <cite>tb</cite> table are formed from the names of the correspon
constants in the used library. They are formed as follows:</p>
<ul class="simple">
<li><strong>POSIX</strong>, <strong>TRE</strong>: prefix REG_ is omitted, e.g. REG_ICASE becomes <tt class="docutils literal">&quot;ICASE&quot;</tt>.</li>
-<li><strong>PCRE:</strong> prefix PCRE_ is omitted, e.g. PCRE_CASELESS becomes
-<tt class="docutils literal">&quot;CASELESS&quot;</tt>.</li>
+<li><strong>PCRE:</strong> prefix PCRE_ is omitted, e.g. PCRE_CASELESS becomes <tt class="docutils literal">&quot;CASELESS&quot;</tt>.</li>
+<li><strong>PCRE2:</strong> prefix PCRE2_ is omitted, e.g. PCRE2_CASELESS becomes <tt class="docutils literal">&quot;CASELESS&quot;</tt>.</li>
<li><strong>Oniguruma:</strong> names of constants are converted to strings with no alteration,
but for ONIG_OPTION_xxx constants, alias strings are created additionally,
e.g., the value of ONIG_OPTION_IGNORECASE constant becomes accessible via
@@ -786,7 +783,7 @@ RE_SYNTAX_GREP becomes <tt class="docutils literal">SYNTAX_GREP</tt> in Lua.</li
</div>
<hr class="docutils" />
<div class="section" id="new">
-<h3><a class="toc-backref" href="#id17">new</a></h3>
+<h3><a class="toc-backref" href="#id25">new</a></h3>
<p><tt class="funcdef docutils literal">rex.new (patt, [cf], <span class="pre">[larg...])</span></tt></p>
<p>The function compiles regular expression <em>patt</em> into a regular expression object
whose internal representation is corresponding to the library used. The returned
@@ -838,7 +835,7 @@ any.</p>
</div>
<hr class="docutils" />
<div class="section" id="tfind">
-<h3><a class="toc-backref" href="#id18">tfind</a></h3>
+<h3><a class="toc-backref" href="#id26">tfind</a></h3>
<p><tt class="funcdef docutils literal">r:tfind (subj, [init], [ef])</tt></p>
<p>The method searches for the first match of the compiled regexp <em>r</em> in the
string <em>subj</em>, starting from offset <em>init</em>, subject to execution flags <em>ef</em>.</p>
@@ -890,9 +887,9 @@ string <em>subj</em>, starting from offset <em>init</em>, subject to execution f
<li>Substring matches (&quot;captures&quot; in Lua terminology) are returned as a third
result, in a table. This table contains <tt class="docutils literal">false</tt> in the positions where the
corresponding sub-pattern did not participate in the match.<ol class="arabic">
-<li><strong>PCRE</strong>, <strong>Oniguruma</strong>: if <em>named subpatterns</em> are used then the table
-also contains substring matches keyed by their correspondent subpattern
-names (strings).</li>
+<li><strong>PCRE</strong>, <strong>PCRE2</strong>, <strong>Oniguruma</strong>: if <em>named subpatterns</em> are used then
+the table also contains substring matches keyed by their correspondent
+subpattern names (strings).</li>
</ol>
</li>
</ol>
@@ -906,7 +903,7 @@ names (strings).</li>
</div>
<hr class="docutils" />
<div class="section" id="exec">
-<h3><a class="toc-backref" href="#id19">exec</a></h3>
+<h3><a class="toc-backref" href="#id27">exec</a></h3>
<p><tt class="funcdef docutils literal">r:exec (subj, [init], [ef])</tt></p>
<p>The method searches for the first match of the compiled regexp <em>r</em> in the
string <em>subj</em>, starting from offset <em>init</em>, subject to execution flags <em>ef</em>.</p>
@@ -959,9 +956,9 @@ string <em>subj</em>, starting from offset <em>init</em>, subject to execution f
returned as a third result, in a table. This table contains <tt class="docutils literal">false</tt> in the
positions where the corresponding sub-pattern did not participate in the
match.<ol class="arabic">
-<li><strong>PCRE</strong>, <strong>Oniguruma</strong>: if <em>named subpatterns</em> are used then the table
-also contains substring matches keyed by their correspondent subpattern
-names (strings).</li>
+<li><strong>PCRE</strong>, <strong>PCRE2</strong>, <strong>Oniguruma</strong>: if <em>named subpatterns</em> are used then
+the table also contains substring matches keyed by their correspondent
+subpattern names (strings).</li>
</ol>
</li>
</ol>
@@ -980,27 +977,27 @@ names (strings).</li>
</div>
<hr class="docutils" />
<div class="section" id="pcre-only-functions-and-methods">
-<h2><a class="toc-backref" href="#id20">PCRE-only functions and methods</a></h2>
+<h2><a class="toc-backref" href="#id28">PCRE-only functions and methods</a></h2>
<div class="section" id="id1">
-<h3><a class="toc-backref" href="#id21">new</a></h3>
+<h3><a class="toc-backref" href="#id29">new</a></h3>
<p><tt class="funcdef docutils literal">rex.new (patt, [cf], [lo])</tt></p>
<p>The locale (<em>lo</em>) can be either a string (e.g., &quot;French_France.1252&quot;), or a
-userdata obtained from a call to <a class="reference internal" href="#maketables">maketables</a>. The default value, used when the
-parameter is not supplied or <tt class="docutils literal">nil</tt>, is the built-in PCRE set of character
+userdata obtained from a call to <a class="reference internal" href="#maketables-pcre">maketables</a>. The default value, used when
+the parameter is not supplied or <tt class="docutils literal">nil</tt>, is the built-in PCRE set of character
tables.</p>
</div>
<hr class="docutils" />
<div class="section" id="fullinfo">
-<h3><a class="toc-backref" href="#id22">fullinfo</a></h3>
+<h3><a class="toc-backref" href="#id30">fullinfo</a></h3>
<p>[See <em>pcre_fullinfo</em> in the PCRE docs.]</p>
<p><tt class="funcdef docutils literal">r:fullinfo ()</tt></p>
<p>This function returns a table containing information about the compiled pattern.
The keys are strings formed in the following way:
<tt class="docutils literal">PCRE_INFO_CAPTURECOUNT</tt> -&gt; <tt class="docutils literal">&quot;CAPTURECOUNT&quot;</tt>. The values are numbers.</p>
-</div>
<hr class="docutils" />
+</div>
<div class="section" id="dfa-exec">
-<h3><a class="toc-backref" href="#id23">dfa_exec</a></h3>
+<span id="dfa-exec-pcre"></span><h3><a class="toc-backref" href="#id31">dfa_exec</a></h3>
<p>[PCRE 6.0 and later. See <em>pcre_dfa_exec</em> in the PCRE docs.]</p>
<p><tt class="funcdef docutils literal">r:dfa_exec (subj, [init], [ef], [ovecsize], [wscount])</tt></p>
<p>The method matches a compiled regular expression <em>r</em> against a given subject
@@ -1074,10 +1071,10 @@ first.</li>
<dd>If there are 3 matches found starting at offset 10 and ending at offsets 15, 20
and 25 then the function returns the following: 10, { 25,20,15 }, 3.</dd>
</dl>
-</div>
<hr class="docutils" />
+</div>
<div class="section" id="maketables">
-<h3><a class="toc-backref" href="#id24">maketables</a></h3>
+<span id="maketables-pcre"></span><h3><a class="toc-backref" href="#id32">maketables</a></h3>
<p>[See <em>pcre_maketables</em> in the PCRE docs.]</p>
<p><tt class="funcdef docutils literal">rex_pcre.maketables ()</tt></p>
<p>Creates a set of character tables corresponding to the current locale and
@@ -1086,7 +1083,7 @@ function accepting the <em>locale</em> parameter.</p>
</div>
<hr class="docutils" />
<div class="section" id="config">
-<h3><a class="toc-backref" href="#id25">config</a></h3>
+<h3><a class="toc-backref" href="#id33">config</a></h3>
<p>[PCRE 4.0 and later. See <em>pcre_config</em> in the PCRE docs.]</p>
<p><tt class="funcdef docutils literal">rex_pcre.config ([tb])</tt></p>
<p>This function returns a table containing the values of the configuration
@@ -1095,8 +1092,8 @@ keyed by their names (strings). If the table argument <em>tb</em> is supplied th
is used as the output table, else a new table is created.</p>
<hr class="docutils" />
</div>
-<div class="section" id="id2">
-<span id="version"></span><h3><a class="toc-backref" href="#id26">version</a></h3>
+<div class="section" id="id3">
+<span id="version"></span><h3><a class="toc-backref" href="#id34">version</a></h3>
<p>[See <em>pcre_version</em> in the PCRE docs.]</p>
<p><tt class="funcdef docutils literal">rex_pcre.version ()</tt></p>
<p>This function returns a string containing the version of the used PCRE library
@@ -1104,10 +1101,144 @@ and its release date.</p>
</div>
</div>
<hr class="docutils" />
+<div class="section" id="pcre2-only-functions-and-methods">
+<h2><a class="toc-backref" href="#id35">PCRE2-only functions and methods</a></h2>
+<div class="section" id="id4">
+<h3><a class="toc-backref" href="#id36">new</a></h3>
+<p><tt class="funcdef docutils literal">rex.new (patt, [cf], [lo])</tt></p>
+<p>The locale (<em>lo</em>) can be either a string (e.g., &quot;French_France.1252&quot;), or a
+userdata obtained from a call to <a class="reference internal" href="#maketables-pcre2">maketables</a>. The default value, used when
+the parameter is not supplied or <tt class="docutils literal">nil</tt>, is the built-in PCRE2 set of character
+tables.</p>
+</div>
+<hr class="docutils" />
+<div class="section" id="patterninfo">
+<h3><a class="toc-backref" href="#id37">patterninfo</a></h3>
+<p>[See <em>pcre2_patterninfo</em> in the PCRE2 docs.]</p>
+<p><tt class="funcdef docutils literal">r:patterninfo ()</tt></p>
+<p>This function returns a table containing information about the compiled pattern.
+The keys are strings formed in the following way:
+<tt class="docutils literal">PCRE2_INFO_CAPTURECOUNT</tt> -&gt; <tt class="docutils literal">&quot;CAPTURECOUNT&quot;</tt>. The values are numbers.</p>
+</div>
+<hr class="docutils" />
+<div class="section" id="id6">
+<h3><a class="toc-backref" href="#id38">dfa_exec</a></h3>
+<p>[See <em>pcre2_dfa_exec</em> in the PCRE2 docs.]</p>
+<p><tt class="funcdef docutils literal">r:dfa_exec (subj, [init], [ef], [ovecsize], [wscount])</tt></p>
+<p>The method matches a compiled regular expression <em>r</em> against a given subject
+string <em>subj</em>, using a DFA matching algorithm.</p>
+<blockquote>
+<table border="1" class="docutils">
+<colgroup>
+<col width="15%" />
+<col width="54%" />
+<col width="12%" />
+<col width="19%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">Parameter</th>
+<th class="head">Description</th>
+<th class="head">Type</th>
+<th class="head">Default Value</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td>r</td>
+<td>regex object produced by new</td>
+<td>userdata</td>
+<td>n/a</td>
+</tr>
+<tr><td>subj</td>
+<td>subject</td>
+<td>string</td>
+<td>n/a</td>
+</tr>
+<tr><td>[init]</td>
+<td>start offset in the subject
+(can be negative)</td>
+<td>number</td>
+<td>1</td>
+</tr>
+<tr><td>[ef]</td>
+<td>execution flags (bitwise OR)</td>
+<td>number</td>
+<td><a class="reference internal" href="#ef">ef</a></td>
+</tr>
+<tr><td>[ovecsize]</td>
+<td>size of the array for result offsets</td>
+<td>number</td>
+<td>100</td>
+</tr>
+<tr><td>[wscount]</td>
+<td>number of elements in the working
+space array</td>
+<td>number</td>
+<td>50</td>
+</tr>
+</tbody>
+</table>
+</blockquote>
+<dl class="docutils">
+<dt><strong>Returns on success (either full or partial match):</strong></dt>
+<dd><ol class="first last arabic simple">
+<li>The start point of the matches found (a number).</li>
+<li>A table containing the end points of the matches found, the longer matches
+first.</li>
+<li>The return value of the underlying <em>pcre_dfa_exec</em> call (a number).</li>
+</ol>
+</dd>
+<dt><strong>Returns on failure (no match):</strong></dt>
+<dd><ol class="first last arabic simple">
+<li><tt class="docutils literal">nil</tt></li>
+</ol>
+</dd>
+<dt><strong>Example:</strong></dt>
+<dd>If there are 3 matches found starting at offset 10 and ending at offsets 15, 20
+and 25 then the function returns the following: 10, { 25,20,15 }, 3.</dd>
+</dl>
+</div>
+<hr class="docutils" />
+<div class="section" id="jit-compile">
+<h3><a class="toc-backref" href="#id39">jit_compile</a></h3>
+<p>[See <em>pcre2_jit_compile</em> in the PCRE2 docs.]</p>
+<p><tt class="funcdef docutils literal">r:jit_compile ([options])</tt></p>
+<p>Parameter <em>options</em> is a number (a bitwise OR of separate options;
+it defaults to <tt class="docutils literal">PCRE2_JIT_COMPLETE</tt>).</p>
+<p>The method returns <tt class="docutils literal">true</tt> on success or <tt class="docutils literal">false</tt> + error message string on failure.</p>
+<hr class="docutils" />
+</div>
+<div class="section" id="id7">
+<span id="maketables-pcre2"></span><h3><a class="toc-backref" href="#id40">maketables</a></h3>
+<p>[See <em>pcre2_maketables</em> in the PCRE2 docs.]</p>
+<p><tt class="funcdef docutils literal">rex_pcre2.maketables ()</tt></p>
+<p>Creates a set of character tables corresponding to the current locale and
+returns it as a userdata. The returned value can be passed to any Lrexlib
+function accepting the <em>locale</em> parameter.</p>
+</div>
+<hr class="docutils" />
+<div class="section" id="id8">
+<h3><a class="toc-backref" href="#id41">config</a></h3>
+<p>[See <em>pcre2_config</em> in the PCRE2 docs.]</p>
+<p><tt class="funcdef docutils literal">rex_pcre2.config ([tb])</tt></p>
+<p>This function returns a table containing the values of the configuration
+parameters used at PCRE2 library build-time. Those parameters (numbers) are
+keyed by their names (strings). If the table argument <em>tb</em> is supplied then it
+is used as the output table, else a new table is created.</p>
+</div>
+<hr class="docutils" />
+<div class="section" id="id9">
+<h3><a class="toc-backref" href="#id42">version</a></h3>
+<p>[See <em>pcre2_config(PCRE2_CONFIG_VERSION)</em> in the PCRE2 docs.]</p>
+<p><tt class="funcdef docutils literal">rex_pcre2.version ()</tt></p>
+<p>This function returns a string containing the version of the used PCRE2 library
+and its release date.</p>
+</div>
+</div>
+<hr class="docutils" />
<div class="section" id="gnu-only-functions-and-methods">
-<h2><a class="toc-backref" href="#id27">GNU-only functions and methods</a></h2>
-<div class="section" id="id3">
-<h3><a class="toc-backref" href="#id28">new</a></h3>
+<h2><a class="toc-backref" href="#id43">GNU-only functions and methods</a></h2>
+<div class="section" id="id10">
+<h3><a class="toc-backref" href="#id44">new</a></h3>
<p><tt class="funcdef docutils literal">rex.new (patt, [cf], [tr])</tt></p>
<p>If the compilation flags (<em>cf</em>) are not supplied or <tt class="docutils literal">nil</tt>, the default syntax
is <tt class="docutils literal">SYNTAX_POSIX_EXTENDED</tt>. Note that this is not the same as passing a value
@@ -1119,9 +1250,9 @@ translated when it is being matched.</p>
</div>
</div>
<div class="section" id="oniguruma-only-functions-and-methods">
-<h2><a class="toc-backref" href="#id29">Oniguruma-only functions and methods</a></h2>
-<div class="section" id="id4">
-<h3><a class="toc-backref" href="#id30">new</a></h3>
+<h2><a class="toc-backref" href="#id45">Oniguruma-only functions and methods</a></h2>
+<div class="section" id="id11">
+<h3><a class="toc-backref" href="#id46">new</a></h3>
<p><tt class="funcdef docutils literal">rex.new (patt, [cf], [enc], [syn])</tt></p>
<p>The <em>encoding</em> parameter (<em>enc</em>) must be one of the predefined strings that are
formed from the ONIG_ENCODING_xxx identifiers defined in oniguruma.h, by means
@@ -1140,7 +1271,7 @@ last <a class="reference internal" href="#setdefaultsyntax">setdefaultsyntax</a>
&quot;syntax&quot; string set, an error is raised.</p>
</div>
<div class="section" id="setdefaultsyntax">
-<h3><a class="toc-backref" href="#id31">setdefaultsyntax</a></h3>
+<h3><a class="toc-backref" href="#id47">setdefaultsyntax</a></h3>
<p><tt class="funcdef docutils literal">rex_onig.setdefaultsyntax (syntax)</tt></p>
<p>This function sets the default syntax for the Oniguruma library, according to the
value of the string syntax. The specified syntax will be further used for
@@ -1156,8 +1287,8 @@ argument is passed to those functions explicitly.</p>
</blockquote>
</div>
<hr class="docutils" />
-<div class="section" id="id5">
-<h3><a class="toc-backref" href="#id32">version</a></h3>
+<div class="section" id="id12">
+<h3><a class="toc-backref" href="#id48">version</a></h3>
<p>[See <em>onig_version</em> in the Oniguruma docs.]</p>
<p><tt class="funcdef docutils literal">rex_onig.version ()</tt></p>
<p>This function returns a string containing the version of the used Oniguruma
@@ -1165,7 +1296,7 @@ library.</p>
</div>
<hr class="docutils" />
<div class="section" id="capturecount">
-<h3><a class="toc-backref" href="#id33">capturecount</a></h3>
+<h3><a class="toc-backref" href="#id49">capturecount</a></h3>
<p>[See <em>onig_number_of_captures</em> in the Oniguruma docs.]</p>
<p><tt class="funcdef docutils literal">r:capturecount ()</tt></p>
<p>Returns the number of captures in the pattern.</p>
@@ -1173,13 +1304,13 @@ library.</p>
</div>
<hr class="docutils" />
<div class="section" id="tre-only-functions-and-methods">
-<h2><a class="toc-backref" href="#id34">TRE-only functions and methods</a></h2>
-<div class="section" id="id6">
-<h3><a class="toc-backref" href="#id35">new</a></h3>
+<h2><a class="toc-backref" href="#id50">TRE-only functions and methods</a></h2>
+<div class="section" id="id13">
+<h3><a class="toc-backref" href="#id51">new</a></h3>
<p><tt class="funcdef docutils literal">rex.new (patt, [cf])</tt></p>
</div>
<div class="section" id="atfind">
-<h3><a class="toc-backref" href="#id36">atfind</a></h3>
+<h3><a class="toc-backref" href="#id52">atfind</a></h3>
<p><tt class="funcdef docutils literal">r:atfind (subj, params, [init], [ef])</tt></p>
<p>The method searches for the first match of the compiled regexp <em>r</em> in the
string <em>subj</em>, starting from offset <em>init</em>, subject to execution flags <em>ef</em>.</p>
@@ -1260,7 +1391,7 @@ in the following fields: <tt class="docutils literal">cost</tt>, <tt class="docu
</div>
<hr class="docutils" />
<div class="section" id="aexec">
-<h3><a class="toc-backref" href="#id37">aexec</a></h3>
+<h3><a class="toc-backref" href="#id53">aexec</a></h3>
<p><tt class="funcdef docutils literal">r:aexec (subj, params, [init], [ef])</tt></p>
<p>The method searches for the first match of the compiled regexp <em>r</em> in the
string <em>subj</em>, starting from offset <em>init</em>, subject to execution flags <em>ef</em>.</p>
@@ -1342,21 +1473,21 @@ the match, in the following fields: <tt class="docutils literal">cost</tt>, <tt
</div>
<hr class="docutils" />
<div class="section" id="have-approx">
-<h3><a class="toc-backref" href="#id38">have_approx</a></h3>
+<h3><a class="toc-backref" href="#id54">have_approx</a></h3>
<p><tt class="funcdef docutils literal">r:have_approx ()</tt></p>
<p>The method returns <tt class="docutils literal">true</tt> if the compiled pattern uses approximate matching,
and <tt class="docutils literal">false</tt> if not.</p>
</div>
<hr class="docutils" />
<div class="section" id="have-backrefs">
-<h3><a class="toc-backref" href="#id39">have_backrefs</a></h3>
+<h3><a class="toc-backref" href="#id55">have_backrefs</a></h3>
<p><tt class="funcdef docutils literal">r:have_backrefs ()</tt></p>
<p>The method returns <tt class="docutils literal">true</tt> if the compiled pattern has back references,
and <tt class="docutils literal">false</tt> if not.</p>
</div>
<hr class="docutils" />
-<div class="section" id="id7">
-<h3><a class="toc-backref" href="#id40">config</a></h3>
+<div class="section" id="id14">
+<h3><a class="toc-backref" href="#id56">config</a></h3>
<p>[See <em>tre_config</em> in the TRE docs.]</p>
<p><tt class="funcdef docutils literal">rex_tre.config ([tb])</tt></p>
<p>This function returns a table containing the values of the configuration
@@ -1366,7 +1497,7 @@ is used as the output table, else a new table is created.</p>
</div>
<hr class="docutils" />
<div class="section" id="rex-tre-version">
-<h3><a class="toc-backref" href="#id41">rex_tre.version</a></h3>
+<h3><a class="toc-backref" href="#id57">rex_tre.version</a></h3>
<p>[See <em>tre_version</em> in the TRE docs.]</p>
<p><tt class="funcdef docutils literal">rex_tre.version ()</tt></p>
<p>This function returns a string containing the version of the used TRE library.</p>
@@ -1374,7 +1505,7 @@ is used as the output table, else a new table is created.</p>
</div>
<hr class="docutils" />
<div class="section" id="incompatibilities-with-previous-versions">
-<h2><a class="toc-backref" href="#id42">Incompatibilities with previous versions</a></h2>
+<h2><a class="toc-backref" href="#id58">Incompatibilities with previous versions</a></h2>
<p><strong>Incompatibilities between versions 2.8 and 2.7:</strong></p>
<blockquote>
<ol class="arabic simple">
@@ -1403,7 +1534,7 @@ position.</li>
<p><strong>Incompatibilities between versions 2.1 and 2.0:</strong></p>
<blockquote>
<ol class="arabic simple">
-<li><a class="reference internal" href="#match">match</a>, <a class="reference internal" href="#find">find</a>, <a class="reference internal" href="#tfind">tfind</a>, <a class="reference internal" href="#exec">exec</a>, <a class="reference internal" href="#dfa-exec">dfa_exec</a>: only one value (a <tt class="docutils literal">nil</tt>) is
+<li><a class="reference internal" href="#match">match</a>, <a class="reference internal" href="#find">find</a>, <a class="reference internal" href="#tfind">tfind</a>, <a class="reference internal" href="#exec">exec</a>, <a class="reference internal" href="#dfa-exec-pcre">dfa_exec</a>: only one value (a <tt class="docutils literal">nil</tt>) is
returned when the subject does not match the pattern. Any other failure
generates an error.</li>
</ol>
@@ -1427,7 +1558,7 @@ subpatterns</em></li>
</div>
<div class="footer">
<hr class="footer" />
-Generated on: 2015-04-19 14:07 UTC.
+Generated on: 2017-11-06 16:45 UTC.
</div>
</body>