Change docs to use new performance test code,

upgrade docs to quickbook 1.7.
This commit is contained in:
jzmaddock
2015-10-15 13:27:45 +01:00
parent 3939d1a1a4
commit 76ce33da74
60 changed files with 3098 additions and 3913 deletions

View File

@ -142,7 +142,7 @@ example program shows how this information may be used:
Which produces the following output:
[pre
Expression: "(([[:lower:\]\]+)|([[:upper:\]\]+))+"
Expression: "((\[\[:lower:\]\]+)|(\[\[:upper:\]\]+))+"
Text: "aBBcccDDDDDeeeeeeee"
'''**''' Match found '''**'''
Sub-Expressions:

View File

@ -58,16 +58,40 @@ an object of type `X::locale_type`.
[[X::size_type][][An unsigned integer type, capable of holding the length of a null-terminated string of charT's.]]
[[X::string_type][std::basic_string<charT> or std::vector<charT>][]]
[[X::locale_type][Implementation defined][A copy constructible type that represents the locale used by the traits class.]]
[[X::char_class_type][Implementation defined][A bitmask type representing a particular character classification. Multiple values of this type can be bitwise-or'ed together to obtain a new valid value.]]
[[X::char_class_type]
[Implementation defined]
[A bitmask type representing a particular character classification. Multiple values of this type can be bitwise-or'ed together to obtain a new valid value.]]
[[X::length(p)][X::size_type][Yields the smallest i such that p\[i\] == 0. Complexity is linear in i.]]
[[v.translate(c)][X::char_type][Returns a character such that for any character d that is to be considered equivalent to c then v.translate(c) == v.translate(d).]]
[[v.translate_nocase(c)][X::char_type][For all characters C that are to be considered equivalent to c when comparisons are to be performed without regard to case, then v.translate_nocase(c) == v.translate_nocase(C).]]
[[v.transform(F1, F2)][X::string_type][Returns a sort key for the character sequence designated by the iterator range \[F1, F2) such that if the character sequence \[G1, G2) sorts before the character sequence [H1, H2) then v.transform(G1, G2) < v.transform(H1, H2). ]]
[[v.transform_primary(F1, F2)][X::string_type][Returns a sort key for the character sequence designated by the iterator range \[F1, F2) such that if the character sequence [G1, G2) sorts before the character sequence \[H1, H2) when character case is not considered then v.transform_primary(G1, G2) < v.transform_primary(H1, H2).]]
[[v.lookup_classname(F1, F2)][X::char_class_type][Converts the character sequence designated by the iterator range \[F1,F2) into a bitmask type that can subsequently be passed to isctype. Values returned from lookup_classname can be safely bitwise or'ed together. Returns 0 if the character sequence is not the name of a character class recognized by X. The value returned shall be independent of the case of the characters in the sequence.]]
[[v.lookup_collatename(F1, F2)][X::string_type][Returns a sequence of characters that represents the collating element consisting of the character sequence designated by the iterator range \[F1, F2). Returns an empty string if the character sequence is not a valid collating element.]]
[[v.translate(c)]
[X::char_type]
[Returns a character such that for any character d that is to be considered equivalent to c then v.translate(c) == v.translate(d).]]
[[v.translate_nocase(c)]
[X::char_type]
[For all characters C that are to be considered equivalent to c when comparisons are to be performed without regard to case, then v.translate_nocase(c) == v.translate_nocase(C).]]
[[v.transform(F1, F2)]
[X::string_type]
[Returns a sort key for the character sequence designated by the iterator range \[F1, F2) such that if
the character sequence \[G1, G2) sorts before the character sequence \[H1, H2) then
v.transform(G1, G2) < v.transform(H1, H2). ]]
[[v.transform_primary(F1, F2)]
[X::string_type]
[Returns a sort key for the character sequence designated by the iterator range \[F1, F2) such that if the
character sequence \[G1, G2) sorts before the character sequence \[H1, H2) when character case is not considered
then v.transform_primary(G1, G2) < v.transform_primary(H1, H2).]]
[[v.lookup_classname(F1, F2)]
[X::char_class_type]
[Converts the character sequence designated by the iterator range \[F1,F2) into a bitmask type that can subsequently
be passed to isctype. Values returned from lookup_classname can be safely bitwise or'ed together. Returns 0 if the
character sequence is not the name of a character class recognized by X. The value returned shall be independent
of the case of the characters in the sequence.]]
[[v.lookup_collatename(F1, F2)]
[X::string_type]
[Returns a sequence of characters that represents the collating element consisting of the character sequence designated
by the iterator range \[F1, F2). Returns an empty string if the character sequence is not a valid collating element.]]
[[v.isctype(c, v.lookup_classname (F1, F2))][bool][Returns true if character c is a member of the character class designated by the iterator range \[F1, F2), false otherwise.]]
[[v.value(c, I)][int][Returns the value represented by the digit c in base I if the character c is a valid digit in base I; otherwise returns -1. \[Note: the value of I will only be 8, 10, or 16. -end note\]]]
[[v.value(c, I)]
[int]
[Returns the value represented by the digit c in base I if the character c is a valid digit in base I; otherwise returns -1. \[Note: the value of I will only be 8, 10, or 16. -end note\]]]
[[u.imbue(loc)][X::locale_type][Imbues u with the locale loc, returns the previous locale used by u if any. ]]
[[v.getloc()][X::locale_type][Returns the current locale used by v if any. ]]
]

View File

@ -1,543 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>Regular Expression Performance Comparison (gcc 3.2)</title>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<META content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot" name="Template">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
</head>
<body bgcolor="#ffffff" link="#0000ff" vlink="#800080">
<h2>Regular Expression Performance Comparison</h2>
<p>The following tables provide comparisons between the following regular
expression libraries:</p>
<p><a href="http://www.boost.org/">The Boost regex library</a>.</p>
<p><a href="http://www.gnu.org">The GNU regular expression library</a>.</p>
<p>Philip Hazel's <a href="http://www.pcre.org">PCRE</a> library.</p>
<h3>Details</h3>
<p>Machine: Intel Pentium 4 2.8GHz PC.</p>
<p>Compiler: GNU C++ version 3.2 20020927 (prerelease).</p>
<p>C++ Standard Library: GNU libstdc++ version 20020927.</p>
<p>OS: Cygwin.</p>
<p>Boost version: 1.31.0.</p>
<p>PCRE version: 4.1.</p>
<p>As ever care should be taken in interpreting the results, only sensible regular
expressions (rather than pathological cases) are given, most are taken from the
Boost regex examples, or from the <a href="http://www.regxlib.com/">Library of
Regular Expressions</a>. In addition, some variation in the relative
performance of these libraries can be expected on other machines - as memory
access and processor caching effects can be quite large for most finite state
machine algorithms. In each case the first figure given is the relative time
taken (so a value of 1.0 is as good as it gets), while the second figure is the
actual time taken.</p>
<h3>Averages</h3>
<p>The following are the average relative scores for all the tests: the perfect
regular expression library&nbsp;would score 1, in practice anything less than 2
is pretty good.</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td>1.4503</td>
<td>1.49124</td>
<td>108.372</td>
<td>1.56255</td>
</tr>
</table>
<br>
<br>
<h3>Comparison 1: Long Search</h3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within a long English language text was measured
(<a href="http://www.gutenberg.org/files/3200/old/mtent12.zip">mtent12.txt</a>
from <a href="http://promo.net/pg/">Project Gutenberg</a>, 19Mb).&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>Twain</code></td>
<td>3.49<br>
(0.205s)</td>
<td>4.09<br>
(0.24s)</td>
<td>65.2<br>
(3.83s)</td>
<td><font color="#008000">1<br>
(0.0588s)</font></td>
</tr>
<tr>
<td><code>Huck[[:alpha:]]+</code></td>
<td>3.86<br>
(0.203s)</td>
<td>4.52<br>
(0.238s)</td>
<td>100<br>
(5.26s)</td>
<td><font color="#008000">1<br>
(0.0526s)</font></td>
</tr>
<tr>
<td><code>[[:alpha:]]+ing</code></td>
<td><font color="#008000">1.01<br>
(1.23s)</font></td>
<td><font color="#008000">1<br>
(1.22s)</font></td>
<td>4.95<br>
(6.04s)</td>
<td>4.67<br>
(5.71s)</td>
</tr>
<tr>
<td><code>^[^ ]*?Twain</code></td>
<td><font color="#008000">1<br>
(0.31s)</font></td>
<td><font color="#008000">1.05<br>
(0.326s)</font></td>
<td>NA</td>
<td>3.32<br>
(1.03s)</td>
</tr>
<tr>
<td><code>Tom|Sawyer|Huckleberry|Finn</code></td>
<td><font color="#008000">1.02<br>
(0.125s)</font></td>
<td><font color="#008000">1<br>
(0.123s)</font></td>
<td>165<br>
(20.3s)</td>
<td><font color="#008000">1.08<br>
(0.133s)</font></td>
</tr>
<tr>
<td><code> (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)</code></td>
<td><font color="#008000">1<br>
(0.345s)</font></td>
<td><font color="#008000">1.03<br>
(0.355s)</font></td>
<td>NA</td>
<td>1.71<br>
(0.59s)</td>
</tr>
</table>
<br>
<br>
<h3>Comparison 2: Medium Sized Search</h3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within a medium sized English language text was
measured (the first 50K from mtent12.txt).&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>Twain</code></td>
<td>1.8<br>
(0.000519s)</td>
<td>2.14<br>
(0.000616s)</td>
<td>9.08<br>
(0.00262s)</td>
<td><font color="#008000">1<br>
(0.000289s)</font></td>
</tr>
<tr>
<td><code>Huck[[:alpha:]]+</code></td>
<td>3.65<br>
(0.000499s)</td>
<td>4.36<br>
(0.000597s)</td>
<td><font color="#008000">1<br>
(0.000137s)</font></td>
<td>1.43<br>
(0.000196s)</td>
</tr>
<tr>
<td><code>[[:alpha:]]+ing</code></td>
<td><font color="#008000">1<br>
(0.00258s)</font></td>
<td><font color="#008000">1<br>
(0.00258s)</font></td>
<td>5.28<br>
(0.0136s)</td>
<td>5.63<br>
(0.0145s)</td>
</tr>
<tr>
<td><code>^[^ ]*?Twain</code></td>
<td><font color="#008000">1<br>
(0.000929s)</font></td>
<td><font color="#008000">1.03<br>
(0.000957s)</font></td>
<td>NA</td>
<td>2.82<br>
(0.00262s)</td>
</tr>
<tr>
<td><code>Tom|Sawyer|Huckleberry|Finn</code></td>
<td><font color="#008000">1<br>
(0.000812s)</font></td>
<td><font color="#008000">1<br>
(0.000812s)</font></td>
<td>60.1<br>
(0.0488s)</td>
<td>1.28<br>
(0.00104s)</td>
</tr>
<tr>
<td><code> (Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)</code></td>
<td><font color="#008000">1.02<br>
(0.00178s)</font></td>
<td><font color="#008000">1<br>
(0.00174s)</font></td>
<td>242<br>
(0.421s)</td>
<td>1.3<br>
(0.00227s)</td>
</tr>
</table>
<br>
<br>
<h3>Comparison 3:&nbsp;C++ Code&nbsp;Search</h3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within the C++ source file <a href="../../../boost/crc.hpp">
boost/crc.hpp</a>&nbsp;was measured.&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code> ^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?(class|struct)[[:space:]]*(\&lt;\w+\&gt;([
]*\([^)]*\))?[[:space:]]*)*(\&lt;\w*\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?(\{|:[^;\{()]*\{)</code></td>
<td><font color="#008000">1.04<br>
(0.000144s)</font></td>
<td><font color="#008000">1<br>
(0.000139s)</font></td>
<td>862<br>
(0.12s)</td>
<td>4.56<br>
(0.000636s)</td>
</tr>
<tr>
<td><code>(^[
]*#(?:[^\\\n]|\\[^\n_[:punct:][:alnum:]]*[\n[:punct:][:word:]])*)|(//[^\n]*|/\*.*?\*/)|\&lt;([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\&gt;|('(?:[^\\']|\\.)*'|"(?:[^\\"]|\\.)*")|\&lt;(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\&gt;</code></td>
<td><font color="#008000">1<br>
(0.0139s)</font></td>
<td><font color="#008000">1.01<br>
(0.0141s)</font></td>
<td>NA</td>
<td>1.55<br>
(0.0216s)</td>
</tr>
<tr>
<td><code>^[ ]*#[ ]*include[ ]+("[^"]+"|&lt;[^&gt;]+&gt;)</code></td>
<td><font color="#008000">1.04<br>
(0.000332s)</font></td>
<td><font color="#008000">1<br>
(0.000318s)</font></td>
<td>130<br>
(0.0413s)</td>
<td>1.72<br>
(0.000547s)</td>
</tr>
<tr>
<td><code>^[ ]*#[ ]*include[ ]+("boost/[^"]+"|&lt;boost/[^&gt;]+&gt;)</code></td>
<td><font color="#008000">1.02<br>
(0.000323s)</font></td>
<td><font color="#008000">1<br>
(0.000318s)</font></td>
<td>150<br>
(0.0476s)</td>
<td>1.72<br>
(0.000547s)</td>
</tr>
</table>
<br>
<h3></h3>
<H3>Comparison 4: HTML Document Search
</H3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within the html file <a href="../../libraries.htm">libs/libraries.htm</a>
was measured.&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>beman|john|dave</code></td>
<td><font color="#008000">1.03<br>
(0.000367s)</font></td>
<td><font color="#008000">1<br>
(0.000357s)</font></td>
<td>47.4<br>
(0.0169s)</td>
<td>1.16<br>
(0.000416s)</td>
</tr>
<tr>
<td><code>&lt;p&gt;.*?&lt;/p&gt;</code></td>
<td>1.25<br>
(0.000459s)</td>
<td><font color="#008000">1<br>
(0.000367s)</font></td>
<td>NA</td>
<td><font color="#008000">1.03<br>
(0.000376s)</font></td>
</tr>
<tr>
<td><code> &lt;a[^&gt;]+href=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code></td>
<td><font color="#008000">1<br>
(0.000509s)</font></td>
<td><font color="#008000">1.02<br>
(0.000518s)</font></td>
<td>305<br>
(0.155s)</td>
<td><font color="#008000">1.1<br>
(0.000558s)</font></td>
</tr>
<tr>
<td><code> &lt;h[12345678][^&gt;]*&gt;.*?&lt;/h[12345678]&gt;</code></td>
<td><font color="#008000">1.04<br>
(0.00025s)</font></td>
<td><font color="#008000">1<br>
(0.00024s)</font></td>
<td>NA</td>
<td>1.16<br>
(0.000279s)</td>
</tr>
<tr>
<td><code> &lt;img[^&gt;]+src=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code></td>
<td>2.22<br>
(0.000489s)</td>
<td>1.69<br>
(0.000372s)</td>
<td>148<br>
(0.0326s)</td>
<td><font color="#008000">1<br>
(0.00022s)</font></td>
</tr>
<tr>
<td><code> &lt;font[^&gt;]+face=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;.*?&lt;/font&gt;</code></td>
<td>1.71<br>
(0.000371s)</td>
<td>1.75<br>
(0.000381s)</td>
<td>NA</td>
<td><font color="#008000">1<br>
(0.000218s)</font></td>
</tr>
</table>
<br>
<br>
<h3>Comparison 3: Simple Matches</h3>
<p>For each of the following regular expressions the time taken to match against
the text indicated was measured.&nbsp;</p>
<table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Text</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>abc</code></td>
<td>abc</td>
<td>1.36<br>
(2.15e-07s)</td>
<td>1.36<br>
(2.15e-07s)</td>
<td>2.76<br>
(4.34e-07s)</td>
<td><font color="#008000">1<br>
(1.58e-07s)</font></td>
</tr>
<tr>
<td><code>^([0-9]+)(\-| |$)(.*)$</code></td>
<td>100- this is a line of ftp response which contains a message string</td>
<td>1.55<br>
(7.26e-07s)</td>
<td>1.51<br>
(7.07e-07s)</td>
<td>319<br>
(0.000149s)</td>
<td><font color="#008000">1<br>
(4.67e-07s)</font></td>
</tr>
<tr>
<td><code>([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}</code></td>
<td>1234-5678-1234-456</td>
<td>1.96<br>
(9.54e-07s)</td>
<td>1.96<br>
(9.54e-07s)</td>
<td>44.5<br>
(2.17e-05s)</td>
<td><font color="#008000">1<br>
(4.87e-07s)</font></td>
</tr>
<tr>
<td><code> ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$</code></td>
<td>john@johnmaddock.co.uk</td>
<td>1.22<br>
(1.51e-06s)</td>
<td>1.23<br>
(1.53e-06s)</td>
<td>162<br>
(0.000201s)</td>
<td><font color="#008000">1<br>
(1.24e-06s)</font></td>
</tr>
<tr>
<td><code> ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$</code></td>
<td>foo12@foo.edu</td>
<td>1.28<br>
(1.47e-06s)</td>
<td>1.3<br>
(1.49e-06s)</td>
<td>104<br>
(0.00012s)</td>
<td><font color="#008000">1<br>
(1.15e-06s)</font></td>
</tr>
<tr>
<td><code> ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$</code></td>
<td>bob.smith@foo.tv</td>
<td>1.28<br>
(1.47e-06s)</td>
<td>1.3<br>
(1.49e-06s)</td>
<td>113<br>
(0.00013s)</td>
<td><font color="#008000">1<br>
(1.15e-06s)</font></td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>EH10 2QQ</td>
<td>1.38<br>
(4.68e-07s)</td>
<td>1.41<br>
(4.77e-07s)</td>
<td>13.5<br>
(4.59e-06s)</td>
<td><font color="#008000">1<br>
(3.39e-07s)</font></td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>G1 1AA</td>
<td>1.28<br>
(4.35e-07s)</td>
<td>1.25<br>
(4.25e-07s)</td>
<td>11.7<br>
(3.97e-06s)</td>
<td><font color="#008000">1<br>
(3.39e-07s)</font></td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>SW1 1ZZ</td>
<td>1.32<br>
(4.53e-07s)</td>
<td>1.31<br>
(4.49e-07s)</td>
<td>12.2<br>
(4.2e-06s)</td>
<td><font color="#008000">1<br>
(3.44e-07s)</font></td>
</tr>
<tr>
<td><code> ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code></td>
<td>4/1/2001</td>
<td>1.16<br>
(3.82e-07s)</td>
<td>1.2<br>
(3.96e-07s)</td>
<td>13.9<br>
(4.59e-06s)</td>
<td><font color="#008000">1<br>
(3.29e-07s)</font></td>
</tr>
<tr>
<td><code> ^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code></td>
<td>12/12/2001</td>
<td>1.38<br>
(4.49e-07s)</td>
<td>1.38<br>
(4.49e-07s)</td>
<td>16<br>
(5.2e-06s)</td>
<td><font color="#008000">1<br>
(3.25e-07s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>123</td>
<td>1.19<br>
(7.64e-07s)</td>
<td>1.16<br>
(7.45e-07s)</td>
<td>7.51<br>
(4.81e-06s)</td>
<td><font color="#008000">1<br>
(6.4e-07s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>+3.14159</td>
<td>1.32<br>
(8.97e-07s)</td>
<td>1.31<br>
(8.88e-07s)</td>
<td>14<br>
(9.48e-06s)</td>
<td><font color="#008000">1<br>
(6.78e-07s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>-3.14159</td>
<td>1.32<br>
(8.97e-07s)</td>
<td>1.31<br>
(8.88e-07s)</td>
<td>14<br>
(9.48e-06s)</td>
<td><font color="#008000">1<br>
(6.78e-07s)</font></td>
</tr>
</table>
<br>
<br>
<hr>
<p><i><EFBFBD> Copyright John Maddock&nbsp;2003</i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>

View File

@ -37,6 +37,20 @@
and Further Information</a></span></dt>
<dt><span class="section"><a href="background_information/faq.html">FAQ</a></span></dt>
<dt><span class="section"><a href="background_information/performance.html">Performance</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version
14.0)</a></span></dt>
<dt><span class="section"><a href="background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a></span></dt>
<dt><span class="section"><a href="background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
simple Perl matches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a></span></dt>
<dt><span class="section"><a href="background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft
Visual C++ version 14.0)</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="background_information/standards.html">Standards
Conformance</a></span></dt>
<dt><span class="section"><a href="background_information/redist.html">Redistributables</a></span></dt>

View File

@ -59,7 +59,7 @@
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h1"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_regex_5_0_1__boost_1_58_0_"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_regex_5_0_1__boost_1_58_0_">Boost.Regex-5.0.1
<span class="phrase"><a name="boost_regex.background_information.history.boost_regex_5_0_1_boost_1_58_0"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_regex_5_0_1_boost_1_58_0">Boost.Regex-5.0.1
(Boost-1.58.0)</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@ -92,7 +92,7 @@
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h2"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_regex_5_0_0__boost_1_56_0_"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_regex_5_0_0__boost_1_56_0_">Boost.Regex-5.0.0
<span class="phrase"><a name="boost_regex.background_information.history.boost_regex_5_0_0_boost_1_56_0"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_regex_5_0_0_boost_1_56_0">Boost.Regex-5.0.0
(Boost-1.56.0)</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">

View File

@ -59,7 +59,7 @@
</p>
<h5>
<a name="boost_regex.background_information.locale.h0"></a>
<span class="phrase"><a name="boost_regex.background_information.locale.win32_localization_model_"></a></span><a class="link" href="locale.html#boost_regex.background_information.locale.win32_localization_model_">Win32
<span class="phrase"><a name="boost_regex.background_information.locale.win32_localization_model"></a></span><a class="link" href="locale.html#boost_regex.background_information.locale.win32_localization_model">Win32
localization model.</a>
</h5>
<p>
@ -91,7 +91,7 @@
</p>
<h5>
<a name="boost_regex.background_information.locale.h1"></a>
<span class="phrase"><a name="boost_regex.background_information.locale.c_localization_model_"></a></span><a class="link" href="locale.html#boost_regex.background_information.locale.c_localization_model_">C
<span class="phrase"><a name="boost_regex.background_information.locale.c_localization_model"></a></span><a class="link" href="locale.html#boost_regex.background_information.locale.c_localization_model">C
localization model.</a>
</h5>
<p>
@ -115,7 +115,7 @@
</p>
<h5>
<a name="boost_regex.background_information.locale.h2"></a>
<span class="phrase"><a name="boost_regex.background_information.locale.c___localization_model_"></a></span><a class="link" href="locale.html#boost_regex.background_information.locale.c___localization_model_">C++
<span class="phrase"><a name="boost_regex.background_information.locale.c_localization_model0"></a></span><a class="link" href="locale.html#boost_regex.background_information.locale.c_localization_model0">C++
localization model.</a>
</h5>
<p>
@ -1268,12 +1268,14 @@
</td>
<td>
<p>
"Unmatched [ or <code class="literal">" </code>
"Unmatched [ or [^"
</p>
</td>
</tr>
<tr>
<td>
<p>
[208
208
</p>
</td>
<td>

View File

@ -7,7 +7,7 @@
<link rel="home" href="../../index.html" title="Boost.Regex 5.0.1">
<link rel="up" href="../background_information.html" title="Background Information">
<link rel="prev" href="faq.html" title="FAQ">
<link rel="next" href="standards.html" title="Standards Conformance">
<link rel="next" href="performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@ -20,12 +20,26 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="faq.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="standards.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="faq.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_regex.background_information.performance"></a><a class="link" href="performance.html" title="Performance">Performance</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version
14.0)</a></span></dt>
<dt><span class="section"><a href="performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a></span></dt>
<dt><span class="section"><a href="performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
simple Perl matches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a></span></dt>
<dt><span class="section"><a href="performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft
Visual C++ version 14.0)</a></span></dt>
</dl></div>
<p>
The performance of Boost.Regex in both recursive and non-recursive modes
should be broadly comparable to other regular expression libraries: recursive
@ -33,16 +47,6 @@
synchronisation), but not by much. The following pages compare Boost.Regex
with various other regular expression libraries for the following compilers:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="../../../vc71-performance.html" target="_top">Visual Studio.Net 2003 (recursive
Boost.Regex implementation)</a>.
</li>
<li class="listitem">
<a href="../../../gcc-performance.html" target="_top">Gcc 3.2 (cygwin) (non-recursive
Boost.Regex implementation)</a>.
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
@ -54,7 +58,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="faq.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="standards.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="faq.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,523 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Boost.Regex 5.0.1">
<link rel="up" href="../performance.html" title="Performance">
<link rel="prev" href="../performance.html" title="Performance">
<link rel="next" href="section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../performance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_regex.background_information.performance.section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><a class="link" href="section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">Testing
Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version
14.0)</a>
</h4></div></div></div>
<div class="table">
<a name="boost_regex.background_information.performance.section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><p class="title"><b>Table&#160;8.&#160;Testing Perl searches (platform = Windows x64, compiler = Microsoft
Visual C++ version 14.0)</b></p>
<div class="table-contents"><table class="table" summary="Testing Perl searches (platform = Windows x64, compiler = Microsoft
Visual C++ version 14.0)">
<colgroup>
<col>
<col>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression<br> Text
</p>
</th>
<th>
<p>
boost 1.60
</p>
</th>
<th>
<p>
PCRE-10.10
</p>
</th>
<th>
<p>
RE2
</p>
</th>
<th>
<p>
std::regex
</p>
</th>
<th>
<p>
boost::xpressive::cregex
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="literal">(?i)&lt;a[^&gt;]+href=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code><br>
In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="blue">1.26<br> (320274ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (253424ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.45<br> (366324ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="blue">3.00<br> (759495ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">(?i)&lt;font[^&gt;]+face=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;.*?&lt;/font&gt;</code><br>
In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="blue">2.94<br> (198426ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.28<br> (86670ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (67463ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="blue">2.92<br> (197323ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">(?i)&lt;h[12345678][^&gt;]*&gt;.*?&lt;/h[12345678]&gt;</code><br>
In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="blue">2.42<br> (196304ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.26<br> (102129ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (81160ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="red">5.12<br> (415932ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">(?i)&lt;img[^&gt;]+src=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code><br>
In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="blue">2.87<br> (196348ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.28<br> (87365ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (68502ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="blue">3.25<br> (222612ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">(?i)&lt;p&gt;.*?&lt;/p&gt;</code><br> In file:
..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="blue">2.78<br> (194346ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.27<br> (88709ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (70020ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="red">4.03<br> (282425ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">(\w+)\s*(\([^()]++(?:(?2)[^()]++)*+[^)]*\))\s*(\{[^{}]++((?3)[^{}]++)*+[^}]*+\})</code><br>
In file: boost/multiprecision/number.hpp
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (1094575ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.87<br> (3136734ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">(^[ \t]*#(?:(?&gt;[^\\\n]+)|\\(?&gt;\s*\n|.))*)|</code><br>
In file: boost/multiprecision/number.hpp
</p>
</td>
<td>
<p>
<span class="blue">1.92<br> (11651545ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (6057879ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="blue">1.55<br> (9388319ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?(class|struct)[[:space:]]*(\w+([
]*\([^)]*\))?[\u0 ...</code><br> In file: boost/multiprecision/number.hpp
</p>
</td>
<td>
<p>
<span class="red">29.23<br> (8736875ns)</span>
</p>
</td>
<td>
<p>
<span class="red">38.71<br> (11569512ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (298862ns)</span>
</p>
</td>
<td>
<p>
<span class="red">995.92<br> (297642713ns)</span>
</p>
</td>
<td>
<p>
<span class="red">27.63<br> (8258368ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">Beman|John|Dave</code><br> In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="blue">1.60<br> (153603ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.10<br> (105220ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.55<br> (244839ns)</span>
</p>
</td>
<td>
<p>
<span class="red">8.53<br> (819095ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (96081ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">\w+\s*(\([^()]++(?:(?1)[^()]++)*+[^)]*\))</code><br>
In file: boost/multiprecision/number.hpp
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (1099128ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.66<br> (1824126ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">\{[^{}]++((?0)[^{}]++)*+[^}]*+\}</code><br> In
file: boost/multiprecision/number.hpp
</p>
</td>
<td>
<p>
<span class="blue">1.60<br> (243611ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (152166ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[ ]*#[ ]*include[ ]+("[^"]+"|&lt;[^&gt;]+&gt;)</code><br>
In file: boost/multiprecision/number.hpp
</p>
</td>
<td>
<p>
<span class="blue">1.54<br> (260929ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.18<br> (198707ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.81<br> (305923ns)</span>
</p>
</td>
<td>
<p>
<span class="red">8.53<br> (1440180ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (168902ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[ ]*#[ ]*include[ ]+("boost/[^"]+"|&lt;boost/[^&gt;]+&gt;)</code><br>
In file: boost/multiprecision/number.hpp
</p>
</td>
<td>
<p>
<span class="blue">1.52<br> (256685ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.17<br> (198358ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.80<br> (303602ns)</span>
</p>
</td>
<td>
<p>
<span class="red">8.51<br> (1438197ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (168968ns)</span>
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../performance.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,130 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Boost.Regex 5.0.1">
<link rel="up" href="../performance.html" title="Performance">
<link rel="prev" href="section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
<link rel="next" href="section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_regex.background_information.performance.section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><a class="link" href="section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">Testing
leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a>
</h4></div></div></div>
<div class="table">
<a name="boost_regex.background_information.performance.section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><p class="title"><b>Table&#160;9.&#160;Testing leftmost-longest searches (platform = Windows x64, compiler
= Microsoft Visual C++ version 14.0)</b></p>
<div class="table-contents"><table class="table" summary="Testing leftmost-longest searches (platform = Windows x64, compiler
= Microsoft Visual C++ version 14.0)">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression<br> Text
</p>
</th>
<th>
<p>
boost 1.60
</p>
</th>
<th>
<p>
std::regex
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="literal">&lt;a[^&gt;]+href=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code><br>
In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (1518659ns)</span>
</p>
</td>
<td>
<p>
<span class="red">7.17<br> (10890189ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">&lt;img[^&gt;]+src=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code><br>
In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (185869ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">3.77<br> (700484ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">Beman|John|Dave</code><br> In file: ..<span class="emphasis"><em>..</em></span>../libs/libraries.htm
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (165840ns)</span>
</p>
</td>
<td>
<p>
<span class="red">4.95<br> (820933ns)</span>
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,556 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Boost.Regex 5.0.1">
<link rel="up" href="../performance.html" title="Performance">
<link rel="prev" href="section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
<link rel="next" href="section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_regex.background_information.performance.section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><a class="link" href="section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">Testing
simple Perl matches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a>
</h4></div></div></div>
<div class="table">
<a name="boost_regex.background_information.performance.section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><p class="title"><b>Table&#160;10.&#160;Testing simple Perl matches (platform = Windows x64, compiler =
Microsoft Visual C++ version 14.0)</b></p>
<div class="table-contents"><table class="table" summary="Testing simple Perl matches (platform = Windows x64, compiler =
Microsoft Visual C++ version 14.0)">
<colgroup>
<col>
<col>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression<br> Text
</p>
</th>
<th>
<p>
boost 1.60
</p>
</th>
<th>
<p>
PCRE-10.10
</p>
</th>
<th>
<p>
RE2
</p>
</th>
<th>
<p>
std::regex
</p>
</th>
<th>
<p>
boost::xpressive::cregex
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="literal">([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}</code><br>
<code class="literal">1234-5678-1234-456</code>
</p>
</td>
<td>
<p>
<span class="blue">2.03<br> (323ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.25<br> (198ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (159ns)</span>
</p>
</td>
<td>
<p>
<span class="red">20.73<br> (3296ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.38<br> (220ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([0-9]+)(\-| |$)(.*)$</code><br> <code class="literal">100-
this is a line of ftp response which contains a message string</code>
</p>
</td>
<td>
<p>
<span class="blue">1.71<br> (257ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.01<br> (302ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.38<br> (357ns)</span>
</p>
</td>
<td>
<p>
<span class="red">30.81<br> (4622ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (150ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\
...</code><br> <code class="literal">bob.smith@foo.tv</code>
</p>
</td>
<td>
<p>
<span class="blue">2.66<br> (404ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.09<br> (317ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (152ns)</span>
</p>
</td>
<td>
<p>
<span class="red">38.14<br> (5798ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.87<br> (284ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\
...</code><br> <code class="literal">foo12@foo.edu</code>
</p>
</td>
<td>
<p>
<span class="blue">2.90<br> (406ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.31<br> (323ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (140ns)</span>
</p>
</td>
<td>
<p>
<span class="red">41.41<br> (5797ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.00<br> (280ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\
...</code><br> <code class="literal">john@johnmaddock.co.uk</code>
</p>
</td>
<td>
<p>
<span class="blue">2.74<br> (477ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.17<br> (378ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (174ns)</span>
</p>
</td>
<td>
<p>
<span class="red">38.15<br> (6638ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.20<br> (382ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code><br>
<code class="literal">+3.14159</code>
</p>
</td>
<td>
<p>
<span class="blue">1.63<br> (171ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.14<br> (120ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.13<br> (119ns)</span>
</p>
</td>
<td>
<p>
<span class="red">34.15<br> (3586ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (105ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code><br>
<code class="literal">-3.14159</code>
</p>
</td>
<td>
<p>
<span class="blue">1.69<br> (171ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.18<br> (119ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.18<br> (119ns)</span>
</p>
</td>
<td>
<p>
<span class="red">35.54<br> (3590ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (101ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code><br>
<code class="literal">123</code>
</p>
</td>
<td>
<p>
<span class="blue">1.60<br> (149ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.15<br> (107ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.10<br> (102ns)</span>
</p>
</td>
<td>
<p>
<span class="red">39.99<br> (3719ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (93ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code><br>
<code class="literal">12/12/2001</code>
</p>
</td>
<td>
<p>
<span class="blue">1.65<br> (162ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (98ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.31<br> (128ns)</span>
</p>
</td>
<td>
<p>
<span class="red">16.57<br> (1624ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.03<br> (101ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code><br>
<code class="literal">4/1/2001</code>
</p>
</td>
<td>
<p>
<span class="blue">1.58<br> (153ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (97ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.19<br> (115ns)</span>
</p>
</td>
<td>
<p>
<span class="red">16.54<br> (1604ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.02<br> (99ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code><br>
<code class="literal">EH10 2QQ</code>
</p>
</td>
<td>
<p>
<span class="blue">1.57<br> (170ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (108ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.10<br> (119ns)</span>
</p>
</td>
<td>
<p>
<span class="red">21.83<br> (2358ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (108ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code><br>
<code class="literal">G1 1AA</code>
</p>
</td>
<td>
<p>
<span class="blue">1.50<br> (159ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.01<br> (107ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.05<br> (111ns)</span>
</p>
</td>
<td>
<p>
<span class="red">17.67<br> (1873ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (106ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code><br>
<code class="literal">SW1 1ZZ</code>
</p>
</td>
<td>
<p>
<span class="blue">1.53<br> (164ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (107ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.07<br> (115ns)</span>
</p>
</td>
<td>
<p>
<span class="red">18.05<br> (1931ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (107ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">abc</code><br> <code class="literal">abc</code>
</p>
</td>
<td>
<p>
<span class="blue">2.10<br> (128ns)</span>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (61ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.30<br> (79ns)</span>
</p>
</td>
<td>
<p>
<span class="red">9.89<br> (603ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">1.25<br> (76ns)</span>
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,328 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Boost.Regex 5.0.1">
<link rel="up" href="../performance.html" title="Performance">
<link rel="prev" href="section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing simple Perl matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
<link rel="next" href="../standards.html" title="Standards Conformance">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../standards.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_regex.background_information.performance.section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><a class="link" href="section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">Testing
simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft
Visual C++ version 14.0)</a>
</h4></div></div></div>
<div class="table">
<a name="boost_regex.background_information.performance.section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_"></a><p class="title"><b>Table&#160;11.&#160;Testing simple leftmost-longest matches (platform = Windows x64,
compiler = Microsoft Visual C++ version 14.0)</b></p>
<div class="table-contents"><table class="table" summary="Testing simple leftmost-longest matches (platform = Windows x64,
compiler = Microsoft Visual C++ version 14.0)">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression<br> Text
</p>
</th>
<th>
<p>
boost 1.60
</p>
</th>
<th>
<p>
std::regex
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="literal">([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}</code><br>
<code class="literal">1234-5678-1234-456</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (490ns)</span>
</p>
</td>
<td>
<p>
<span class="red">6.88<br> (3372ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([0-9]+)(\-| |$)(.*)$</code><br> <code class="literal">100-
this is a line of ftp response which contains a message string</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (554ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\
...</code><br> <code class="literal">bob.smith@foo.tv</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (614ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\
...</code><br> <code class="literal">foo12@foo.edu</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (596ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\
...</code><br> <code class="literal">john@johnmaddock.co.uk</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (748ns)</span>
</p>
</td>
<td>
<p>
<span class="grey">-</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code><br>
<code class="literal">+3.14159</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (372ns)</span>
</p>
</td>
<td>
<p>
<span class="red">9.77<br> (3635ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code><br>
<code class="literal">-3.14159</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (367ns)</span>
</p>
</td>
<td>
<p>
<span class="red">9.84<br> (3613ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code><br>
<code class="literal">123</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (444ns)</span>
</p>
</td>
<td>
<p>
<span class="red">8.45<br> (3754ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code><br>
<code class="literal">12/12/2001</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (325ns)</span>
</p>
</td>
<td>
<p>
<span class="red">5.19<br> (1687ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code><br>
<code class="literal">4/1/2001</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (308ns)</span>
</p>
</td>
<td>
<p>
<span class="red">5.39<br> (1660ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code><br>
<code class="literal">EH10 2QQ</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (356ns)</span>
</p>
</td>
<td>
<p>
<span class="red">6.78<br> (2415ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code><br>
<code class="literal">G1 1AA</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (315ns)</span>
</p>
</td>
<td>
<p>
<span class="red">6.14<br> (1935ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code><br>
<code class="literal">SW1 1ZZ</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (346ns)</span>
</p>
</td>
<td>
<p>
<span class="red">5.68<br> (1967ns)</span>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="literal">abc</code><br> <code class="literal">abc</code>
</p>
</td>
<td>
<p>
<span class="green">1.00<br> (287ns)</span>
</p>
</td>
<td>
<p>
<span class="blue">2.32<br> (667ns)</span>
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../performance.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../standards.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -6,7 +6,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Boost.Regex 5.0.1">
<link rel="up" href="../background_information.html" title="Background Information">
<link rel="prev" href="performance.html" title="Performance">
<link rel="prev" href="performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html" title="Testing simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.0)">
<link rel="next" href="redist.html" title="Redistributables">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="performance.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="redist.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="redist.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@ -29,7 +29,7 @@
</h3></div></div></div>
<h5>
<a name="boost_regex.background_information.standards.h0"></a>
<span class="phrase"><a name="boost_regex.background_information.standards.c__"></a></span><a class="link" href="standards.html#boost_regex.background_information.standards.c__">C++</a>
<span class="phrase"><a name="boost_regex.background_information.standards.c"></a></span><a class="link" href="standards.html#boost_regex.background_information.standards.c">C++</a>
</h5>
<p>
Boost.Regex is intended to conform to the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
@ -37,7 +37,7 @@
</p>
<h5>
<a name="boost_regex.background_information.standards.h1"></a>
<span class="phrase"><a name="boost_regex.background_information.standards.ecmascript___javascript"></a></span><a class="link" href="standards.html#boost_regex.background_information.standards.ecmascript___javascript">ECMAScript
<span class="phrase"><a name="boost_regex.background_information.standards.ecmascript_javascript"></a></span><a class="link" href="standards.html#boost_regex.background_information.standards.ecmascript_javascript">ECMAScript
/ JavaScript</a>
</h5>
<p>
@ -568,7 +568,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="performance.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="redist.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../background_information.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="redist.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -60,7 +60,7 @@
</p>
<h5>
<a name="boost_regex.install.h1"></a>
<span class="phrase"><a name="boost_regex.install.building_with_unicode_and_icu_support"></a></span><a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_support">Building
<span class="phrase"><a name="boost_regex.install.building_with_unicode_and_icu_su"></a></span><a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_su">Building
With Unicode and ICU Support</a>
</h5>
<p>

View File

@ -325,7 +325,7 @@
<code class="computeroutput"><span class="identifier">basic_regex</span></code>.
</p>
<div class="table">
<a name="boost_regex.ref.basic_regex.t0"></a><p class="title"><b>Table&#160;1.&#160;basic_regex default construction postconditions</b></p>
<a name="boost_regex.ref.basic_regex.basic_regex_default_construction"></a><p class="title"><b>Table&#160;1.&#160;basic_regex default construction postconditions</b></p>
<div class="table-contents"><table class="table" summary="basic_regex default construction postconditions">
<colgroup>
<col>
@ -403,7 +403,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="boost_regex.ref.basic_regex.t1"></a><p class="title"><b>Table&#160;2.&#160;Postconditions for basic_regex construction</b></p>
<a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_c"></a><p class="title"><b>Table&#160;2.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@ -506,7 +506,7 @@
specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="boost_regex.ref.basic_regex.t2"></a><p class="title"><b>Table&#160;3.&#160;Postconditions for basic_regex construction</b></p>
<a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_0"></a><p class="title"><b>Table&#160;3.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@ -608,7 +608,7 @@
according the option flags specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="boost_regex.ref.basic_regex.t3"></a><p class="title"><b>Table&#160;4.&#160;Postconditions for basic_regex construction</b></p>
<a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_1"></a><p class="title"><b>Table&#160;4.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@ -716,7 +716,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="boost_regex.ref.basic_regex.t4"></a><p class="title"><b>Table&#160;5.&#160;Postconditions for basic_regex construction</b></p>
<a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_2"></a><p class="title"><b>Table&#160;5.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@ -816,7 +816,7 @@
flags</a> specified in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="boost_regex.ref.basic_regex.t5"></a><p class="title"><b>Table&#160;6.&#160;Postconditions for basic_regex construction</b></p>
<a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_3"></a><p class="title"><b>Table&#160;6.&#160;Postconditions for basic_regex construction</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex construction">
<colgroup>
<col>
@ -1002,7 +1002,7 @@
in <span class="emphasis"><em>f</em></span>.
</p>
<div class="table">
<a name="boost_regex.ref.basic_regex.t6"></a><p class="title"><b>Table&#160;7.&#160;Postconditions for basic_regex::assign</b></p>
<a name="boost_regex.ref.basic_regex.postconditions_for_basic_regex_a"></a><p class="title"><b>Table&#160;7.&#160;Postconditions for basic_regex::assign</b></p>
<div class="table-contents"><table class="table" summary="Postconditions for basic_regex::assign">
<colgroup>
<col>

View File

@ -35,7 +35,7 @@
</p>
<h5>
<a name="boost_regex.ref.concepts.traits_concept.h0"></a>
<span class="phrase"><a name="boost_regex.ref.concepts.traits_concept.minimal_requirements_"></a></span><a class="link" href="traits_concept.html#boost_regex.ref.concepts.traits_concept.minimal_requirements_">Minimal
<span class="phrase"><a name="boost_regex.ref.concepts.traits_concept.minimal_requirements"></a></span><a class="link" href="traits_concept.html#boost_regex.ref.concepts.traits_concept.minimal_requirements">Minimal
requirements.</a>
</h5>
<p>

View File

@ -31,11 +31,7 @@
<a name="boost_regex.ref.internal_details.uni_iter.h0"></a>
<span class="phrase"><a name="boost_regex.ref.internal_details.uni_iter.synopsis"></a></span><a class="link" href="uni_iter.html#boost_regex.ref.internal_details.uni_iter.synopsis">Synopsis</a>
</h5>
<p>
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">pending</span><span class="special">/</span><span class="identifier">unicode_iterator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
<p>
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BaseIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U16Type</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint16_t</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">u32_to_u16_iterator</span><span class="special">;</span>

View File

@ -39,7 +39,7 @@
<p>
In order to use this header you will need the <a href="http://www.ibm.com/software/globalization/icu/" target="_top">ICU
library</a>, and you will need to have built the Boost.Regex library
with <a class="link" href="../../../install.html#boost_regex.install.building_with_unicode_and_icu_support">ICU
with <a class="link" href="../../../install.html#boost_regex.install.building_with_unicode_and_icu_su">ICU
support enabled</a>.
</p>
<p>

View File

@ -83,7 +83,7 @@
</pre>
<h5>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.h1"></a>
<span class="phrase"><a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_"></a></span><a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match__second_overload_">regex_match
<span class="phrase"><a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match_second_overload"></a></span><a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_match_second_overload">regex_match
(second overload)</a>
</h5>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
@ -150,7 +150,7 @@
</pre>
<h5>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.h3"></a>
<span class="phrase"><a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_"></a></span><a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search__second_overload_">regex_search
<span class="phrase"><a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search_second_overload"></a></span><a class="link" href="mfc_algo.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_algo.regex_search_second_overload">regex_search
(second overload)</a>
</h5>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>

View File

@ -69,7 +69,7 @@
</pre>
<h5>
<a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.h1"></a>
<span class="phrase"><a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers"></a></span><a class="link" href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_helpers">regex_token_iterator
<span class="phrase"><a name="boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_he"></a></span><a class="link" href="mfc_iter.html#boost_regex.ref.non_std_strings.mfc_strings.mfc_iter.regex_token_iterator_creation_he">regex_token_iterator
creation helpers</a>
</h5>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">&gt;</span>

View File

@ -55,7 +55,7 @@
<pre class="programlisting">.[{}()\*+?|^$</pre>
<h5>
<a name="boost_regex.syntax.basic_extended.h2"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.wildcard_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.wildcard_">Wildcard:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.wildcard"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.wildcard">Wildcard:</a>
</h5>
<p>
The single character '.' when used outside of a character set will match
@ -73,7 +73,7 @@
</ul></div>
<h5>
<a name="boost_regex.syntax.basic_extended.h3"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.anchors_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.anchors_">Anchors:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.anchors"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.anchors">Anchors:</a>
</h5>
<p>
A '^' character shall match the start of a line when used as the first character
@ -85,7 +85,7 @@
</p>
<h5>
<a name="boost_regex.syntax.basic_extended.h4"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.marked_sub_expressions_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.marked_sub_expressions_">Marked
<span class="phrase"><a name="boost_regex.syntax.basic_extended.marked_sub_expressions"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.marked_sub_expressions">Marked
sub-expressions:</a>
</h5>
<p>
@ -97,7 +97,7 @@
</p>
<h5>
<a name="boost_regex.syntax.basic_extended.h5"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.repeats_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.repeats_">Repeats:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.repeats"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.repeats">Repeats:</a>
</h5>
<p>
Any atom (a single character, a marked sub-expression, or a character class)
@ -183,7 +183,7 @@ cab
</p>
<h5>
<a name="boost_regex.syntax.basic_extended.h6"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.back_references_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.back_references_">Back
<span class="phrase"><a name="boost_regex.syntax.basic_extended.back_references"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.back_references">Back
references:</a>
</h5>
<p>
@ -227,7 +227,7 @@ cab
</p>
<h5>
<a name="boost_regex.syntax.basic_extended.h8"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.character_sets_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_sets_">Character
<span class="phrase"><a name="boost_regex.syntax.basic_extended.character_sets"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_sets">Character
sets:</a>
</h5>
<p>
@ -240,7 +240,8 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h9"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.single_characters_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.single_characters_">Single characters:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.single_characters"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.single_characters">Single
characters:</a>
</h6>
<p>
For example <code class="computeroutput"><span class="special">[</span><span class="identifier">abc</span><span class="special">]</span></code>, will match any of the characters 'a', 'b',
@ -248,7 +249,7 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h10"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.character_ranges_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_ranges_">Character
<span class="phrase"><a name="boost_regex.syntax.basic_extended.character_ranges"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_ranges">Character
ranges:</a>
</h6>
<p>
@ -264,7 +265,7 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h11"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.negation_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.negation_">Negation:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.negation"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.negation">Negation:</a>
</h6>
<p>
If the bracket-expression begins with the ^ character, then it matches the
@ -273,7 +274,7 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h12"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.character_classes_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_classes_">Character
<span class="phrase"><a name="boost_regex.syntax.basic_extended.character_classes"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.character_classes">Character
classes:</a>
</h6>
<p>
@ -283,7 +284,7 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h13"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.collating_elements_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.collating_elements_">Collating
<span class="phrase"><a name="boost_regex.syntax.basic_extended.collating_elements"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.collating_elements">Collating
Elements:</a>
</h6>
<p>
@ -311,7 +312,7 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h14"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.equivalence_classes_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.equivalence_classes_">Equivalence
<span class="phrase"><a name="boost_regex.syntax.basic_extended.equivalence_classes"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.equivalence_classes">Equivalence
classes:</a>
</h6>
<p>
@ -328,7 +329,7 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h15"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.combinations_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.combinations_">Combinations:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.combinations"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.combinations">Combinations:</a>
</h6>
<p>
All of the above can be combined in one character set declaration, for example:
@ -362,7 +363,7 @@ cab
</p>
<h6>
<a name="boost_regex.syntax.basic_extended.h17"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended.escapes_matching_a_specific_character"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.escapes_matching_a_specific_character">Escapes
<span class="phrase"><a name="boost_regex.syntax.basic_extended.escapes_matching_a_specific_char"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.escapes_matching_a_specific_char">Escapes
matching a specific character</a>
</h6>
<p>
@ -551,7 +552,7 @@ cab
</table></div>
<h6>
<a name="boost_regex.syntax.basic_extended.h18"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended._quot_single_character_quot__character_classes_">"Single
<span class="phrase"><a name="boost_regex.syntax.basic_extended.single_character_character_class"></a></span><a class="link" href="basic_extended.html#boost_regex.syntax.basic_extended.single_character_character_class">"Single
character" character classes:</a>
</h6>
<p>

View File

@ -54,7 +54,7 @@
<pre class="programlisting">.[\*^$</pre>
<h5>
<a name="boost_regex.syntax.basic_syntax.h2"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.wildcard_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.wildcard_">Wildcard:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.wildcard"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.wildcard">Wildcard:</a>
</h5>
<p>
The single character '.' when used outside of a character set will match
@ -72,7 +72,7 @@
</ul></div>
<h5>
<a name="boost_regex.syntax.basic_syntax.h3"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.anchors_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.anchors_">Anchors:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.anchors"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.anchors">Anchors:</a>
</h5>
<p>
A '^' character shall match the start of a line when used as the first character
@ -84,8 +84,7 @@
</p>
<h5>
<a name="boost_regex.syntax.basic_syntax.h4"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.marked_sub_expressions_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.marked_sub_expressions_">Marked
sub-expressions:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.marked_sub_expressions"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.marked_sub_expressions">Marked sub-expressions:</a>
</h5>
<p>
A section beginning <code class="computeroutput"><span class="special">\(</span></code> and ending
@ -96,7 +95,7 @@
</p>
<h5>
<a name="boost_regex.syntax.basic_syntax.h5"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.repeats_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.repeats_">Repeats:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.repeats"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.repeats">Repeats:</a>
</h5>
<p>
Any atom (a single character, a marked sub-expression, or a character class)
@ -154,7 +153,7 @@ aaaa
</p>
<h5>
<a name="boost_regex.syntax.basic_syntax.h6"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.back_references_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.back_references_">Back
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.back_references"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.back_references">Back
references:</a>
</h5>
<p>
@ -173,7 +172,7 @@ aaaa
<pre class="programlisting">aaabba</pre>
<h5>
<a name="boost_regex.syntax.basic_syntax.h7"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.character_sets_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_sets_">Character
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.character_sets"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_sets">Character
sets:</a>
</h5>
<p>
@ -186,7 +185,7 @@ aaaa
</p>
<h6>
<a name="boost_regex.syntax.basic_syntax.h8"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.single_characters_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.single_characters_">Single
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.single_characters"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.single_characters">Single
characters:</a>
</h6>
<p>
@ -195,7 +194,7 @@ aaaa
</p>
<h6>
<a name="boost_regex.syntax.basic_syntax.h9"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.character_ranges_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_ranges_">Character
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.character_ranges"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_ranges">Character
ranges:</a>
</h6>
<p>
@ -211,7 +210,7 @@ aaaa
</p>
<h6>
<a name="boost_regex.syntax.basic_syntax.h10"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.negation_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.negation_">Negation:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.negation"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.negation">Negation:</a>
</h6>
<p>
If the bracket-expression begins with the ^ character, then it matches the
@ -220,7 +219,7 @@ aaaa
</p>
<h6>
<a name="boost_regex.syntax.basic_syntax.h11"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.character_classes_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_classes_">Character
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.character_classes"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.character_classes">Character
classes:</a>
</h6>
<p>
@ -230,7 +229,7 @@ aaaa
</p>
<h6>
<a name="boost_regex.syntax.basic_syntax.h12"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.collating_elements_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.collating_elements_">Collating
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.collating_elements"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.collating_elements">Collating
Elements:</a>
</h6>
<p>
@ -259,7 +258,7 @@ aaaa
</p>
<h6>
<a name="boost_regex.syntax.basic_syntax.h13"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.equivalence_classes_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.equivalence_classes_">Equivalence
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.equivalence_classes"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.equivalence_classes">Equivalence
classes:</a>
</h6>
<p>
@ -276,7 +275,7 @@ aaaa
</p>
<h6>
<a name="boost_regex.syntax.basic_syntax.h14"></a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.combinations_"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.combinations_">Combinations:</a>
<span class="phrase"><a name="boost_regex.syntax.basic_syntax.combinations"></a></span><a class="link" href="basic_syntax.html#boost_regex.syntax.basic_syntax.combinations">Combinations:</a>
</h6>
<p>
All of the above can be combined in one character set declaration, for example:
@ -381,9 +380,9 @@ aaaa
</tr>
<tr>
<td>
<p>
*?
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
?
</li></ul></div>
</td>
<td>
<p>

View File

@ -1,396 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Character Classes that are Always Supported</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../../index.html" title="Boost.Regex">
<link rel="up" href="../character_classes.html" title="Character Class Names">
<link rel="prev" href="../character_classes.html" title="Character Class Names">
<link rel="next" href="optional_char_class_names.html" title="Character classes that are supported by Unicode Regular Expressions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../character_classes.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../character_classes.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="optional_char_class_names.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section boost_regex_syntax_character_classes_std_char_clases">
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_regex.syntax.character_classes.std_char_clases"></a><a class="link" href="std_char_clases.html" title="Character Classes that are Always Supported">Character
Classes that are Always Supported</a>
</h4></div></div></div>
<p>
The following character class names are always supported by Boost.Regex:
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Name
</p>
</th>
<th>
<p>
POSIX-standard name
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
alnum
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any alpha-numeric character.
</p>
</td>
</tr>
<tr>
<td>
<p>
alpha
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any alphabetic character.
</p>
</td>
</tr>
<tr>
<td>
<p>
blank
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any whitespace character that is not a line separator.
</p>
</td>
</tr>
<tr>
<td>
<p>
cntrl
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any control character.
</p>
</td>
</tr>
<tr>
<td>
<p>
d
</p>
</td>
<td>
<p>
No
</p>
</td>
<td>
<p>
Any decimal digit
</p>
</td>
</tr>
<tr>
<td>
<p>
digit
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any decimal digit.
</p>
</td>
</tr>
<tr>
<td>
<p>
graph
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any graphical character.
</p>
</td>
</tr>
<tr>
<td>
<p>
l
</p>
</td>
<td>
<p>
No
</p>
</td>
<td>
<p>
Any lower case character.
</p>
</td>
</tr>
<tr>
<td>
<p>
lower
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any lower case character.
</p>
</td>
</tr>
<tr>
<td>
<p>
print
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any printable character.
</p>
</td>
</tr>
<tr>
<td>
<p>
punct
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any punctuation character.
</p>
</td>
</tr>
<tr>
<td>
<p>
s
</p>
</td>
<td>
<p>
No
</p>
</td>
<td>
<p>
Any whitespace character.
</p>
</td>
</tr>
<tr>
<td>
<p>
space
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any whitespace character.
</p>
</td>
</tr>
<tr>
<td>
<p>
unicode
</p>
</td>
<td>
<p>
No
</p>
</td>
<td>
<p>
Any extended character whose code point is above 255 in value.
</p>
</td>
</tr>
<tr>
<td>
<p>
u
</p>
</td>
<td>
<p>
No
</p>
</td>
<td>
<p>
Any upper case character.
</p>
</td>
</tr>
<tr>
<td>
<p>
upper
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any upper case character.
</p>
</td>
</tr>
<tr>
<td>
<p>
w
</p>
</td>
<td>
<p>
No
</p>
</td>
<td>
<p>
Any word character (alphanumeric characters plus the underscore).
</p>
</td>
</tr>
<tr>
<td>
<p>
word
</p>
</td>
<td>
<p>
No
</p>
</td>
<td>
<p>
Any word character (alphanumeric characters plus the underscore).
</p>
</td>
</tr>
<tr>
<td>
<p>
xdigit
</p>
</td>
<td>
<p>
Yes
</p>
</td>
<td>
<p>
Any hexadecimal digit character.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998-2010 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../character_classes.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../character_classes.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="optional_char_class_names.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -481,9 +481,7 @@
</p>
</td>
<td>
<p>
#
</p>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"></ol></div>
</td>
</tr>
<tr>

View File

@ -399,9 +399,9 @@
sets</a>
</h5>
<p>
A character set is a bracket-expression starting with <code class="literal">[</code>
and ending with <code class="literal"></code>], it defines a set of characters, and
matches any single character that is a member of that set.
A character set is a bracket-expression starting with <code class="literal">[] and ending
with <code class="literal"></code></code>, it defines a set of characters, and matches
any single character that is a member of that set.
</p>
<p>
A bracket expression may contain any combination of the following:
@ -702,7 +702,7 @@
</table></div>
<h6>
<a name="boost_regex.syntax.perl_syntax.h21"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax._quot_single_character_quot__character_classes_">"Single
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.single_character_character_class"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.single_character_character_class">"Single
character" character classes:</a>
</h6>
<p>
@ -1418,7 +1418,7 @@
<span class="special">[::]</span> <span class="special">[..]</span></code>
</li>
<li class="listitem">
Escaped characters [^]
Escaped characters <code class="literal">\</code>
</li>
<li class="listitem">
Character set (bracket expression) <code class="computeroutput"><span class="special">[]</span></code>

View File

@ -58,12 +58,12 @@
</ul></div>
<h5>
<a name="boost_regex.unicode.h1"></a>
<span class="phrase"><a name="boost_regex.unicode.use_a_unicode_aware_regular_expression_type_"></a></span><a class="link" href="unicode.html#boost_regex.unicode.use_a_unicode_aware_regular_expression_type_">Use
<span class="phrase"><a name="boost_regex.unicode.use_a_unicode_aware_regular_expr"></a></span><a class="link" href="unicode.html#boost_regex.unicode.use_a_unicode_aware_regular_expr">Use
a Unicode Aware Regular Expression Type.</a>
</h5>
<p>
If you have the <a href="http://www.ibm.com/software/globalization/icu/" target="_top">ICU
library</a>, then Boost.Regex can be <a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_support">configured
library</a>, then Boost.Regex can be <a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_su">configured
to make use of it</a>, and provide a distinct regular expression type (boost::u32regex),
that supports both Unicode specific character properties, and the searching
of text that is encoded in either UTF-8, UTF-16, or UTF-32. See: <a class="link" href="ref/non_std_strings/icu.html" title="Working With Unicode and ICU String Types">ICU

View File

@ -184,6 +184,20 @@
and Further Information</a></span></dt>
<dt><span class="section"><a href="boost_regex/background_information/faq.html">FAQ</a></span></dt>
<dt><span class="section"><a href="boost_regex/background_information/performance.html">Performance</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_regex/background_information/performance/section_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version
14.0)</a></span></dt>
<dt><span class="section"><a href="boost_regex/background_information/performance/section_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
leftmost-longest searches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a></span></dt>
<dt><span class="section"><a href="boost_regex/background_information/performance/section_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
simple Perl matches (platform = Windows x64, compiler = Microsoft Visual
C++ version 14.0)</a></span></dt>
<dt><span class="section"><a href="boost_regex/background_information/performance/section_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_0_.html">Testing
simple leftmost-longest matches (platform = Windows x64, compiler = Microsoft
Visual C++ version 14.0)</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_regex/background_information/standards.html">Standards
Conformance</a></span></dt>
<dt><span class="section"><a href="boost_regex/background_information/redist.html">Redistributables</a></span></dt>
@ -198,7 +212,7 @@
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: October 05, 2015 at 18:11:16 GMT</small></p></td>
<td align="left"><p><small>Last revised: October 15, 2015 at 12:24:00 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@ -20,7 +20,7 @@ expressions in a Unicode aware environment.
In order to use this header you will need the
[@http://www.ibm.com/software/globalization/icu/ ICU library], and you will need
to have built the Boost.Regex library with
[link boost_regex.install.building_with_unicode_and_icu_support ICU support enabled].
[link boost_regex.install.building_with_unicode_and_icu_su ICU support enabled].
The header will enable you to:

View File

@ -178,7 +178,7 @@ Custom error messages are loaded as follows:
[[204][REG_ECTYPE]["Invalid character class name" ]]
[[205][REG_EESCAPE]["Trailing backslash" ]]
[[206][REG_ESUBREG]["Invalid back reference" ]]
[[207][REG_EBRACK]["Unmatched [ or [^" ]]
[[207][REG_EBRACK]["Unmatched \[ or \[^" ]]
[[208][REG_EPAREN]["Unmatched ( or \\(" ]]
[[209][REG_EBRACE]["Unmatched \\{" ]]
[[210][REG_BADBR]["Invalid content of \\{\\}" ]]

View File

@ -14,8 +14,7 @@ thread synchronisation), but not by much. The following pages compare
Boost.Regex with various other regular expression libraries for the
following compilers:
* [@../vc71-performance.html Visual Studio.Net 2003 (recursive Boost.Regex implementation)].
* [@../gcc-performance.html Gcc 3.2 (cygwin) (non-recursive Boost.Regex implementation)].
[performance_all_sections]
[endsect]

View File

@ -1,6 +1,6 @@
[article Boost.Regex
[quickbook 1.3]
[quickbook 1.7]
[copyright 1998-2013 John Maddock]
[license
Distributed under the Boost Software License, Version 1.0.
@ -12,6 +12,8 @@
[/last-revision $Date$]
]
[import ../performance/doc/performance_tables.qbk]
[template super[x]'''<superscript>'''[x]'''</superscript>''']
[template sub[x]'''<subscript>'''[x]'''</subscript>''']

View File

@ -586,7 +586,7 @@ are discarded.
The order of precedence for of operators is as follows:
# Collation-related bracket symbols `[==] [::] [..]`
# Escaped characters [^\]
# Escaped characters [^\\]
# Character set (bracket expression) `[]`
# Grouping [^()]
# Single-character-ERE duplication [^* + ? {m,n}]

View File

@ -30,7 +30,7 @@ characters, it is not possible to search UTF-8, or even UTF-16 on many platforms
If you have the
[@http://www.ibm.com/software/globalization/icu/ ICU library], then
Boost.Regex can be
[link boost_regex.install.building_with_unicode_and_icu_support
[link boost_regex.install.building_with_unicode_and_icu_su
configured to make use
of it], and provide a distinct regular expression type (boost::u32regex),
that supports both Unicode specific character properties, and the searching

View File

@ -1,703 +0,0 @@
<html>
<head>
<title>Regular Expression Performance Comparison</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="Template" content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
</head>
<body bgcolor="#ffffff" link="#0000ff" vlink="#800080">
<h2>Regular Expression Performance Comparison</h2>
<p>
The following tables provide comparisons between the following regular
expression libraries:</p>
<p><a href="http://research.microsoft.com/projects/greta">GRETA</a>.</p>
<p><a href="http://www.boost.org/">The Boost regex library</a>.</p>
<p><a href="http://arglist.com/regex/">Henry Spencer's regular expression library</a>
- this is provided for comparison as a typical non-backtracking implementation.</p>
<P>Philip Hazel's <A href="http://www.pcre.org">PCRE</A> library.</P>
<H3>Details</H3>
<P>Machine: Intel Pentium 4 2.8GHz PC.</P>
<P>Compiler: Microsoft Visual C++ version 7.1.</P>
<P>C++ Standard Library: Dinkumware standard library version 313.</P>
<P>OS: Win32.</P>
<P>Boost version: 1.31.0.</P>
<P>PCRE version: 3.9.</P>
<P>
As ever care should be taken in interpreting the results, only sensible regular
expressions (rather than pathological cases) are given, most are taken from the
Boost regex examples, or from the <a href="http://www.regxlib.com/">Library of
Regular Expressions</a>. In addition, some variation in the relative
performance of these libraries can be expected on other machines - as memory
access and processor caching effects can be quite large for most finite state
machine algorithms.</P>
<H3>Averages</H3>
<P>The following are the average relative scores for all the tests: the perfect
regular expression library&nbsp;would score 1, in practice any small number
(say less that 4 or 5) is pretty good.</P>
<P><table border="1" cellspacing="1">
<tr>
<td><strong>GRETA</strong></td>
<td><strong>GRETA<BR>
(non-recursive mode)</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td>2.31619</td>
<td>6.14203</td>
<td>2.30668</td>
<td>1.94363</td>
<td>124.752</td>
<td>2.09365</td>
</tr>
</table>
</P>
<h3>Comparison 1: Long Search</h3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within a long English language text was measured
(<a href="http://www.gutenberg.org/files/3200/old/mtent12.zip">mtent12.txt</a>
from <a href="http://promo.net/pg/">Project Gutenberg</a>, 19Mb).&nbsp;</p>
<P><table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>GRETA</strong></td>
<td><strong>GRETA<BR>
(non-recursive mode)</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>Twain</code></td>
<td><font color="#008000">1<BR>
(0.0407s)</font></td>
<td><font color="#008000">1<BR>
(0.0407s)</font></td>
<td>4.18<BR>
(0.17s)</td>
<td>4.18<BR>
(0.17s)</td>
<td>135<BR>
(5.48s)</td>
<td>1.37<BR>
(0.0557s)</td>
</tr>
<tr>
<td><code>Huck[[:alpha:]]+</code></td>
<td><font color="#008000">1.02<BR>
(0.0381s)</font></td>
<td><font color="#008000">1<BR>
(0.0375s)</font></td>
<td>4.53<BR>
(0.17s)</td>
<td>4.54<BR>
(0.17s)</td>
<td>166<BR>
(6.23s)</td>
<td>1.34<BR>
(0.0501s)</td>
</tr>
<tr>
<td><code>[[:alpha:]]+ing</code></td>
<td>4.3<BR>
(4.18s)</td>
<td>9.93<BR>
(9.65s)</td>
<td>1.15<BR>
(1.12s)</td>
<td><font color="#008000">1<BR>
(0.972s)</font></td>
<td>8.15<BR>
(7.92s)</td>
<td>5.85<BR>
(5.69s)</td>
</tr>
<tr>
<td><code>^[^ ]*?Twain</code></td>
<td>6.25<BR>
(1.84s)</td>
<td>20.9<BR>
(6.16s)</td>
<td>1.56<BR>
(0.461s)</td>
<td><font color="#008000">1<BR>
(0.295s)</font></td>
<td>NA</td>
<td>2.58<BR>
(0.761s)</td>
</tr>
<tr>
<td><code>Tom|Sawyer|Huckleberry|Finn</code></td>
<td>6.53<BR>
(0.711s)</td>
<td>11.5<BR>
(1.25s)</td>
<td>2.3<BR>
(0.251s)</td>
<td><font color="#008000">1<BR>
(0.109s)</font></td>
<td>196<BR>
(21.4s)</td>
<td>1.77<BR>
(0.193s)</td>
</tr>
<tr>
<td><code>(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)</code></td>
<td>3.88<BR>
(0.972s)</td>
<td>6.48<BR>
(1.62s)</td>
<td>1.66<BR>
(0.416s)</td>
<td><font color="#008000">1<BR>
(0.251s)</font></td>
<td>NA</td>
<td>2.48<BR>
(0.62s)</td>
</tr>
</table>
</P>
<h3>Comparison 2: Medium Sized Search</h3>
<p>For each of the following regular expressions the time taken to find all
occurrences of the expression within a medium sized English language text was
measured (the first 50K from mtent12.txt).&nbsp;</p>
<P><table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>GRETA</strong></td>
<td><strong>GRETA<BR>
(non-recursive mode)</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>Twain</code></td>
<td><font color="#008000">1<BR>
(9.05e-005s)</font></td>
<td><font color="#008000">1.03<BR>
(9.29e-005s)</font></td>
<td>4.92<BR>
(0.000445s)</td>
<td>4.92<BR>
(0.000445s)</td>
<td>43.2<BR>
(0.00391s)</td>
<td>3.18<BR>
(0.000288s)</td>
</tr>
<tr>
<td><code>Huck[[:alpha:]]+</code></td>
<td><font color="#008000">1<BR>
(8.56e-005s)</font></td>
<td><font color="#008000">1<BR>
(8.56e-005s)</font></td>
<td>4.97<BR>
(0.000425s)</td>
<td>4.98<BR>
(0.000426s)</td>
<td>2.8<BR>
(0.000239s)</td>
<td>2.2<BR>
(0.000188s)</td>
</tr>
<tr>
<td><code>[[:alpha:]]+ing</code></td>
<td>5.29<BR>
(0.011s)</td>
<td>11.8<BR>
(0.0244s)</td>
<td>1.19<BR>
(0.00246s)</td>
<td><font color="#008000">1<BR>
(0.00207s)</font></td>
<td>8.77<BR>
(0.0182s)</td>
<td>6.88<BR>
(0.0142s)</td>
</tr>
<tr>
<td><code>^[^ ]*?Twain</code></td>
<td>5.98<BR>
(0.00462s)</td>
<td>20.2<BR>
(0.0156s)</td>
<td>1.54<BR>
(0.00119s)</td>
<td><font color="#008000">1<BR>
(0.000772s)</font></td>
<td>NA</td>
<td>2.53<BR>
(0.00195s)</td>
</tr>
<tr>
<td><code>Tom|Sawyer|Huckleberry|Finn</code></td>
<td>3.42<BR>
(0.00207s)</td>
<td>6.31<BR>
(0.00383s)</td>
<td>1.71<BR>
(0.00104s)</td>
<td><font color="#008000">1<BR>
(0.000606s)</font></td>
<td>81.5<BR>
(0.0494s)</td>
<td>1.96<BR>
(0.00119s)</td>
</tr>
<tr>
<td><code>(Tom|Sawyer|Huckleberry|Finn).{0,30}river|river.{0,30}(Tom|Sawyer|Huckleberry|Finn)</code></td>
<td>1.97<BR>
(0.00266s)</td>
<td>3.77<BR>
(0.00509s)</td>
<td>1.38<BR>
(0.00186s)</td>
<td><font color="#008000">1<BR>
(0.00135s)</font></td>
<td>297<BR>
(0.401s)</td>
<td>1.77<BR>
(0.00238s)</td>
</tr>
</table>
</P>
<H3>Comparison 3:&nbsp;C++ Code&nbsp;Search</H3>
<P>For each of the following regular expressions the time taken to find all
occurrences of the expression within the C++ source file <A href="../../../boost/crc.hpp">
boost/crc.hpp</A>&nbsp;was measured.&nbsp;</P>
<P><table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>GRETA</strong></td>
<td><strong>GRETA<BR>
(non-recursive mode)</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>^(template[[:space:]]*&lt;[^;:{]+&gt;[[:space:]]*)?(class|struct)[[:space:]]*(\&lt;\w+\&gt;([
]*\([^)]*\))?[[:space:]]*)*(\&lt;\w*\&gt;)[[:space:]]*(&lt;[^;:{]+&gt;[[:space:]]*)?(\{|:[^;\{()]*\{)</code></td>
<td>6.67<BR>
(0.00147s)</td>
<td>36.9<BR>
(0.00813s)</td>
<td><font color="#008000">1.03<BR>
(0.000227s)</font></td>
<td><font color="#008000">1<BR>
(0.00022s)</font></td>
<td>557<BR>
(0.123s)</td>
<td>2.57<BR>
(0.000566s)</td>
</tr>
<tr>
<td><code>(^[
]*#(?:[^\\\n]|\\[^\n_[:punct:][:alnum:]]*[\n[:punct:][:word:]])*)|(//[^\n]*|/\*.*?\*/)|\&lt;([+-]?(?:(?:0x[[:xdigit:]]+)|(?:(?:[[:digit:]]*\.)?[[:digit:]]+(?:[eE][+-]?[[:digit:]]+)?))u?(?:(?:int(?:8|16|32|64))|L)?)\&gt;|('(?:[^\\']|\\.)*'|"(?:[^\\"]|\\.)*")|\&lt;(__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|bool|break|case|catch|cdecl|char|class|const|const_cast|continue|default|delete|do|double|dynamic_cast|else|enum|explicit|extern|false|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|operator|pascal|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_cast|struct|switch|template|this|throw|true|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\&gt;</code></td>
<td><font color="#008000">1<BR>
(0.00555s)</font></td>
<td>3.32<BR>
(0.0185s)</td>
<td>2.53<BR>
(0.0141s)</td>
<td>1.94<BR>
(0.0108s)</td>
<td>NA</td>
<td>3.38<BR>
(0.0188s)</td>
</tr>
<tr>
<td><code>^[ ]*#[ ]*include[ ]+("[^"]+"|&lt;[^&gt;]+&gt;)</code></td>
<td>4.77<BR>
(0.00156s)</td>
<td>24.8<BR>
(0.00814s)</td>
<td>1.13<BR>
(0.000372s)</td>
<td><font color="#008000">1<BR>
(0.000328s)</font></td>
<td>120<BR>
(0.0394s)</td>
<td>1.58<BR>
(0.000518s)</td>
</tr>
<tr>
<td><code>^[ ]*#[ ]*include[ ]+("boost/[^"]+"|&lt;boost/[^&gt;]+&gt;)</code></td>
<td>4.72<BR>
(0.00154s)</td>
<td>24.8<BR>
(0.00813s)</td>
<td>1.12<BR>
(0.000367s)</td>
<td><font color="#008000">1<BR>
(0.000328s)</font></td>
<td>143<BR>
(0.0469s)</td>
<td>1.58<BR>
(0.000518s)</td>
</tr>
</table>
</P>
<H3>
<H3>Comparison 4: HTML Document Search</H3>
</H3>
<P>For each of the following regular expressions the time taken to find all
occurrences of the expression within the html file <A href="../../libraries.htm">libs/libraries.htm</A>
was measured.&nbsp;</P>
<P><table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>GRETA</strong></td>
<td><strong>GRETA<BR>
(non-recursive mode)</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>beman|john|dave</code></td>
<td>4.07<BR>
(0.00111s)</td>
<td>7.14<BR>
(0.00195s)</td>
<td>1.75<BR>
(0.000479s)</td>
<td><font color="#008000">1<BR>
(0.000273s)</font></td>
<td>54.3<BR>
(0.0149s)</td>
<td>1.83<BR>
(0.000499s)</td>
</tr>
<tr>
<td><code>&lt;p&gt;.*?&lt;/p&gt;</code></td>
<td><font color="#008000">1<BR>
(6.59e-005s)</font></td>
<td><font color="#008000">1.04<BR>
(6.84e-005s)</font></td>
<td>4.15<BR>
(0.000273s)</td>
<td>4.23<BR>
(0.000279s)</td>
<td>NA</td>
<td>4.23<BR>
(0.000279s)</td>
</tr>
<tr>
<td><code>&lt;a[^&gt;]+href=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code></td>
<td>1.39<BR>
(0.000626s)</td>
<td>1.83<BR>
(0.000821s)</td>
<td>1.41<BR>
(0.000636s)</td>
<td><font color="#008000">1<BR>
(0.00045s)</font></td>
<td>351<BR>
(0.158s)</td>
<td>1.13<BR>
(0.000509s)</td>
</tr>
<tr>
<td><code>&lt;h[12345678][^&gt;]*&gt;.*?&lt;/h[12345678]&gt;</code></td>
<td><font color="#008000">1<BR>
(0.000142s)</font></td>
<td>1.21<BR>
(0.000171s)</td>
<td>2.62<BR>
(0.000372s)</td>
<td>1.48<BR>
(0.00021s)</td>
<td>NA</td>
<td>1.73<BR>
(0.000245s)</td>
</tr>
<tr>
<td><code>&lt;img[^&gt;]+src=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;</code></td>
<td><font color="#008000">1<BR>
(5.38e-005s)</font></td>
<td><font color="#008000">1.05<BR>
(5.63e-005s)</font></td>
<td>5<BR>
(0.000269s)</td>
<td>5.18<BR>
(0.000278s)</td>
<td>604<BR>
(0.0325s)</td>
<td>4.05<BR>
(0.000218s)</td>
</tr>
<tr>
<td><code>&lt;font[^&gt;]+face=("[^"]*"|[^[:space:]]+)[^&gt;]*&gt;.*?&lt;/font&gt;</code></td>
<td><font color="#008000">1<BR>
(6.05e-005s)</font></td>
<td><font color="#008000">1.09<BR>
(6.59e-005s)</font></td>
<td>4.45<BR>
(0.000269s)</td>
<td>4.69<BR>
(0.000284s)</td>
<td>NA</td>
<td>3.64<BR>
(0.00022s)</td>
</tr>
</table>
</P>
<H3>Comparison 3: Simple Matches</H3>
<p>
For each of the following regular expressions the time taken to match against
the text indicated was measured.&nbsp;</p>
<P><table border="1" cellspacing="1">
<tr>
<td><strong>Expression</strong></td>
<td><strong>Text</strong></td>
<td><strong>GRETA</strong></td>
<td><strong>GRETA<BR>
(non-recursive mode)</strong></td>
<td><strong>Boost</strong></td>
<td><strong>Boost + C++ locale</strong></td>
<td><strong>POSIX</strong></td>
<td><strong>PCRE</strong></td>
</tr>
<tr>
<td><code>abc</code></td>
<td>abc</td>
<td>1.32<BR>
(2.24e-007s)</td>
<td>1.86<BR>
(3.15e-007s)</td>
<td>1.25<BR>
(2.12e-007s)</td>
<td>1.24<BR>
(2.1e-007s)</td>
<td>2.98<BR>
(5.05e-007s)</td>
<td><font color="#008000">1<BR>
(1.7e-007s)</font></td>
</tr>
<tr>
<td><code>^([0-9]+)(\-| |$)(.*)$</code></td>
<td>100- this is a line of ftp response which contains a message string</td>
<td>1.32<BR>
(5.91e-007s)</td>
<td>1.96<BR>
(8.78e-007s)</td>
<td>2.68<BR>
(1.2e-006s)</td>
<td>1.53<BR>
(6.88e-007s)</td>
<td>332<BR>
(0.000149s)</td>
<td><font color="#008000">1<BR>
(4.49e-007s)</font></td>
</tr>
<tr>
<td><code>([[:digit:]]{4}[- ]){3}[[:digit:]]{3,4}</code></td>
<td>1234-5678-1234-456</td>
<td>1.44<BR>
(7.16e-007s)</td>
<td>2.04<BR>
(1.01e-006s)</td>
<td>3.35<BR>
(1.66e-006s)</td>
<td>2.15<BR>
(1.07e-006s)</td>
<td>31.4<BR>
(1.56e-005s)</td>
<td><font color="#008000">1<BR>
(4.96e-007s)</font></td>
</tr>
<tr>
<td><code>^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$</code></td>
<td>john@johnmaddock.co.uk</td>
<td><font color="#008000">1<BR>
(1.18e-006s)</font></td>
<td>1.42<BR>
(1.68e-006s)</td>
<td>2.06<BR>
(2.44e-006s)</td>
<td>1.35<BR>
(1.6e-006s)</td>
<td>165<BR>
(0.000196s)</td>
<td><font color="#008000">1.06<BR>
(1.26e-006s)</font></td>
</tr>
<tr>
<td><code>^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$</code></td>
<td>foo12@foo.edu</td>
<td><font color="#008000">1<BR>
(1.09e-006s)</font></td>
<td>1.44<BR>
(1.57e-006s)</td>
<td>2.21<BR>
(2.4e-006s)</td>
<td>1.41<BR>
(1.53e-006s)</td>
<td>108<BR>
(0.000117s)</td>
<td><font color="#008000">1.04<BR>
(1.13e-006s)</font></td>
</tr>
<tr>
<td><code>^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$</code></td>
<td>bob.smith@foo.tv</td>
<td><font color="#008000">1<BR>
(1.07e-006s)</font></td>
<td>1.43<BR>
(1.53e-006s)</td>
<td>2.21<BR>
(2.37e-006s)</td>
<td>1.45<BR>
(1.55e-006s)</td>
<td>123<BR>
(0.000132s)</td>
<td><font color="#008000">1.05<BR>
(1.13e-006s)</font></td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>EH10 2QQ</td>
<td><font color="#008000">1<BR>
(3.19e-007s)</font></td>
<td>1.67<BR>
(5.34e-007s)</td>
<td>1.58<BR>
(5.05e-007s)</td>
<td>1.4<BR>
(4.49e-007s)</td>
<td>10.4<BR>
(3.32e-006s)</td>
<td>1.15<BR>
(3.68e-007s)</td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>G1 1AA</td>
<td><font color="#008000">1<BR>
(3.29e-007s)</font></td>
<td>1.65<BR>
(5.44e-007s)</td>
<td>1.51<BR>
(4.96e-007s)</td>
<td>1.36<BR>
(4.49e-007s)</td>
<td>8.46<BR>
(2.79e-006s)</td>
<td>1.1<BR>
(3.63e-007s)</td>
</tr>
<tr>
<td><code>^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$</code></td>
<td>SW1 1ZZ</td>
<td><font color="#008000">1<BR>
(3.25e-007s)</font></td>
<td>1.64<BR>
(5.34e-007s)</td>
<td>1.56<BR>
(5.05e-007s)</td>
<td>1.38<BR>
(4.49e-007s)</td>
<td>9.29<BR>
(3.02e-006s)</td>
<td>1.13<BR>
(3.68e-007s)</td>
</tr>
<tr>
<td><code>^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code></td>
<td>4/1/2001</td>
<td><font color="#008000">1<BR>
(3.44e-007s)</font></td>
<td>1.55<BR>
(5.34e-007s)</td>
<td>2.36<BR>
(8.12e-007s)</td>
<td>2.2<BR>
(7.55e-007s)</td>
<td>19.6<BR>
(6.72e-006s)</td>
<td>1.81<BR>
(6.21e-007s)</td>
</tr>
<tr>
<td><code>^[[:digit:]]{1,2}/[[:digit:]]{1,2}/[[:digit:]]{4}$</code></td>
<td>12/12/2001</td>
<td><font color="#008000">1.05<BR>
(6.59e-007s)</font></td>
<td>1.66<BR>
(1.05e-006s)</td>
<td>1.44<BR>
(9.07e-007s)</td>
<td>1.23<BR>
(7.73e-007s)</td>
<td>11.6<BR>
(7.34e-006s)</td>
<td><font color="#008000">1<BR>
(6.3e-007s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>123</td>
<td><font color="#008000">1<BR>
(5.72e-007s)</font></td>
<td>1.59<BR>
(9.07e-007s)</td>
<td>1.6<BR>
(9.16e-007s)</td>
<td>1.49<BR>
(8.5e-007s)</td>
<td>6.14<BR>
(3.51e-006s)</td>
<td>1.22<BR>
(6.97e-007s)</td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>+3.14159</td>
<td><font color="#008000">1<BR>
(6.78e-007s)</font></td>
<td>1.52<BR>
(1.03e-006s)</td>
<td>1.47<BR>
(9.94e-007s)</td>
<td>1.31<BR>
(8.88e-007s)</td>
<td>10.8<BR>
(7.34e-006s)</td>
<td><font color="#008000">1.08<BR>
(7.35e-007s)</font></td>
</tr>
<tr>
<td><code>^[-+]?[[:digit:]]*\.?[[:digit:]]*$</code></td>
<td>-3.14159</td>
<td><font color="#008000">1<BR>
(6.78e-007s)</font></td>
<td>1.52<BR>
(1.03e-006s)</td>
<td>1.46<BR>
(9.92e-007s)</td>
<td>1.32<BR>
(8.98e-007s)</td>
<td>10.5<BR>
(7.11e-006s)</td>
<td>1.11<BR>
(7.54e-007s)</td>
</tr>
</table>
</P>
<hr>
<p><i><EFBFBD> Copyright John Maddock&nbsp;2003</i></p>
<P><I>Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</A>
or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)</I></P>
</body>
</html>