⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classpregularexpression.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PRegularExpression class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>PRegularExpression Class Reference</h1><code>#include &lt;<a class="el" href="pstring_8h-source.html">pstring.h</a>&gt;</code><p><p>Inheritance diagram for PRegularExpression:<p><center><img src="classPRegularExpression.png" usemap="#PRegularExpression_map" border="0" alt=""></center><map name="PRegularExpression_map"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,126,24"></map><a href="classPRegularExpression-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Constructors &amp; destructors</h2></td></tr><tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom>{ <a class="el" href="classPRegularExpression.html#z285_0s0">Extended</a> =  1, <a class="el" href="classPRegularExpression.html#z285_0s1">IgnoreCase</a> =  2, <a class="el" href="classPRegularExpression.html#z285_0s2">AnchorNewLine</a> =  4 }</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Flags for compiler options.</em> <a href="#z285_0">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom>{ <a class="el" href="classPRegularExpression.html#z285_1s3">NotBeginningOfLine</a> =  1, <a class="el" href="classPRegularExpression.html#z285_1s4">NotEndofLine</a> =  2 }</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Flags for execution options.</em> <a href="#z285_1">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z285_2">PRegularExpression</a> ()</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Create a new, empty, regular expression.</em> <a href="#z285_2"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z285_3">PRegularExpression</a> (const <a class="el" href="classPString.html">PString</a> &amp;pattern, int flags=IgnoreCase)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z285_4">PRegularExpression</a> (const char *cpattern, int flags=IgnoreCase)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z285_5">PRegularExpression</a> (const PRegularExpression &amp;)</td></tr><tr><td nowrap align=right valign=top>PRegularExpression &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z285_6">operator=</a> (const PRegularExpression &amp;)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z285_7">~PRegularExpression</a> ()</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Release storage for the compiled regular expression.</em> <a href="#z285_7"></a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Status functions</h2></td></tr><tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z287_0">ErrorCodes</a> { <br>&nbsp;&nbsp;<a class="el" href="classPRegularExpression.html#z287_0s5">NoError</a> =  0, <a class="el" href="classPRegularExpression.html#z287_0s6">NoMatch</a>, <a class="el" href="classPRegularExpression.html#z287_0s7">BadPattern</a>, <a class="el" href="classPRegularExpression.html#z287_0s8">CollateError</a>, <br>&nbsp;&nbsp;<a class="el" href="classPRegularExpression.html#z287_0s9">BadClassType</a>, <a class="el" href="classPRegularExpression.html#z287_0s10">BadEscape</a>, <a class="el" href="classPRegularExpression.html#z287_0s11">BadSubReg</a>, <a class="el" href="classPRegularExpression.html#z287_0s12">UnmatchedBracket</a>, <br>&nbsp;&nbsp;<a class="el" href="classPRegularExpression.html#z287_0s13">UnmatchedParen</a>, <a class="el" href="classPRegularExpression.html#z287_0s14">UnmatchedBrace</a>, <a class="el" href="classPRegularExpression.html#z287_0s15">BadBR</a>, <a class="el" href="classPRegularExpression.html#z287_0s16">RangeError</a>, <br>&nbsp;&nbsp;<a class="el" href="classPRegularExpression.html#z287_0s17">OutOfMemory</a>, <a class="el" href="classPRegularExpression.html#z287_0s18">BadRepitition</a>, <a class="el" href="classPRegularExpression.html#z287_0s19">PrematureEnd</a>, <a class="el" href="classPRegularExpression.html#z287_0s20">TooBig</a>, <br>&nbsp;&nbsp;<a class="el" href="classPRegularExpression.html#z287_0s21">UnmatchedRParen</a>, <a class="el" href="classPRegularExpression.html#z287_0s22">NotCompiled</a><br> }</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Error codes.</em> <a href="#z287_0">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPRegularExpression.html#z287_0">ErrorCodes</a>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z287_1">GetErrorCode</a> () const</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z287_2">GetErrorText</a> () const</td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td colspan="2"><div class="groupHeader">Compile &amp; Execute functions</div></td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_0">Compile</a> (const <a class="el" href="classPString.html">PString</a> &amp;pattern, int flags=IgnoreCase)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_1">Compile</a> (const char *cpattern, int flags=IgnoreCase)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_2">Execute</a> (const <a class="el" href="classPString.html">PString</a> &amp;str, PINDEX &amp;start, int flags=0) const</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_3">Execute</a> (const <a class="el" href="classPString.html">PString</a> &amp;str, PINDEX &amp;start, PINDEX &amp;len, int flags=0) const</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_4">Execute</a> (const char *cstr, PINDEX &amp;start, int flags=0) const</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_5">Execute</a> (const char *cstr, PINDEX &amp;start, PINDEX &amp;len, int flags=0) const</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_6">Execute</a> (const <a class="el" href="classPString.html">PString</a> &amp;str, <a class="el" href="classPIntArray.html">PIntArray</a> &amp;starts, int flags=0) const</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_7">Execute</a> (const <a class="el" href="classPString.html">PString</a> &amp;str, <a class="el" href="classPIntArray.html">PIntArray</a> &amp;starts, <a class="el" href="classPIntArray.html">PIntArray</a> &amp;ends, int flags=0) const</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_8">Execute</a> (const char *cstr, <a class="el" href="classPIntArray.html">PIntArray</a> &amp;starts, int flags=0) const</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z289_9">Execute</a> (const char *cstr, <a class="el" href="classPIntArray.html">PIntArray</a> &amp;starts, <a class="el" href="classPIntArray.html">PIntArray</a> &amp;ends, int flags=0) const</td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td colspan="2"><div class="groupHeader">Miscellaneous functions</div></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#z291_0">EscapeString</a> (const <a class="el" href="classPString.html">PString</a> &amp;str)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#n0">patternSaved</a></td></tr><tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#n1">flagsSaved</a></td></tr><tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#n2">expression</a></td></tr><tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classPRegularExpression.html#n3">lastError</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A class representing a regular expression that may be used for locating patterns in strings. The regular expression string is "compiled" into a form that is more efficient during the matching. This compiled form exists for the lifetime of the PRegularExpression instance. <p><hr><h2>Member Enumeration Documentation</h2><a name="z285_1" doxytag="PRegularExpression::@10"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> anonymous enum      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Flags for execution options.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="z285_1s3" doxytag="NotBeginningOfLine"></a><em>NotBeginningOfLine</em></em>&nbsp;</td><td>If this bit is set, then the beginning-of-line operator doesn't match the beginning of the string (presumably because it's not the beginning of a line). If not set, then the beginning-of-line operator does match the beginning of the string. </td></tr><tr><td valign=top><em><a name="z285_1s4" doxytag="NotEndofLine"></a><em>NotEndofLine</em></em>&nbsp;</td><td>Like <a class="el" href="classPRegularExpression.html#z285_1s3">NotBeginningOfLine</a>#, except for the end-of-line. </td></tr></table></dl>    </td>  </tr></table><a name="z285_0" doxytag="PRegularExpression::@9"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> anonymous enum      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Flags for compiler options.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="z285_0s0" doxytag="Extended"></a><em>Extended</em></em>&nbsp;</td><td>Use extended regular expressions.</td></tr><tr><td valign=top><em><a name="z285_0s1" doxytag="IgnoreCase"></a><em>IgnoreCase</em></em>&nbsp;</td><td>Ignore case in search.</td></tr><tr><td valign=top><em><a name="z285_0s2" doxytag="AnchorNewLine"></a><em>AnchorNewLine</em></em>&nbsp;</td><td>If this bit is set, then anchors do not match at newline characters in the string. If not set, then anchors do match at newlines. </td></tr></table></dl>    </td>  </tr></table><a name="z287_0" doxytag="PRegularExpression::ErrorCodes"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> enum PRegularExpression::ErrorCodes      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Error codes.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="z287_0s5" doxytag="NoError"></a><em>NoError</em></em>&nbsp;</td><td>Success.</td></tr><tr><td valign=top><em><a name="z287_0s6" doxytag="NoMatch"></a><em>NoMatch</em></em>&nbsp;</td><td>Didn't find a match (for regexec).</td></tr><tr><td valign=top><em><a name="z287_0s7" doxytag="BadPattern"></a><em>BadPattern</em></em>&nbsp;</td><td>Invalid pattern.</td></tr><tr><td valign=top><em><a name="z287_0s8" doxytag="CollateError"></a><em>CollateError</em></em>&nbsp;</td><td>Not implemented.</td></tr><tr><td valign=top><em><a name="z287_0s9" doxytag="BadClassType"></a><em>BadClassType</em></em>&nbsp;</td><td>Invalid character class name.</td></tr><tr><td valign=top><em><a name="z287_0s10" doxytag="BadEscape"></a><em>BadEscape</em></em>&nbsp;</td><td>Trailing backslash.</td></tr><tr><td valign=top><em><a name="z287_0s11" doxytag="BadSubReg"></a><em>BadSubReg</em></em>&nbsp;</td><td>Invalid back reference.</td></tr><tr><td valign=top><em><a name="z287_0s12" doxytag="UnmatchedBracket"></a><em>UnmatchedBracket</em></em>&nbsp;</td><td>Unmatched left bracket.</td></tr><tr><td valign=top><em><a name="z287_0s13" doxytag="UnmatchedParen"></a><em>UnmatchedParen</em></em>&nbsp;</td><td>Parenthesis imbalance.</td></tr><tr><td valign=top><em><a name="z287_0s14" doxytag="UnmatchedBrace"></a><em>UnmatchedBrace</em></em>&nbsp;</td><td>Unmatched #\{\}#.</td></tr><tr><td valign=top><em><a name="z287_0s15" doxytag="BadBR"></a><em>BadBR</em></em>&nbsp;</td><td>Invalid contents of #\{\}#.</td></tr><tr><td valign=top><em><a name="z287_0s16" doxytag="RangeError"></a><em>RangeError</em></em>&nbsp;</td><td>Invalid range end.</td></tr><tr><td valign=top><em><a name="z287_0s17" doxytag="OutOfMemory"></a><em>OutOfMemory</em></em>&nbsp;</td><td>Ran out of memory.</td></tr><tr><td valign=top><em><a name="z287_0s18" doxytag="BadRepitition"></a><em>BadRepitition</em></em>&nbsp;</td><td>No preceding re for repetition op.</td></tr><tr><td valign=top><em><a name="z287_0s19" doxytag="PrematureEnd"></a><em>PrematureEnd</em></em>&nbsp;</td><td>Premature end.</td></tr><tr><td valign=top><em><a name="z287_0s20" doxytag="TooBig"></a><em>TooBig</em></em>&nbsp;</td><td>Compiled pattern bigger than 2^16 bytes.</td></tr><tr><td valign=top><em><a name="z287_0s21" doxytag="UnmatchedRParen"></a><em>UnmatchedRParen</em></em>&nbsp;</td><td>Unmatched ) or \); not returned from regcomp.</td></tr><tr><td valign=top><em><a name="z287_0s22" doxytag="NotCompiled"></a><em>NotCompiled</em></em>&nbsp;</td><td>Miscellaneous error.</td></tr></table></dl>    </td>  </tr></table><hr><h2>Constructor &amp; Destructor Documentation</h2><a name="z285_2" doxytag="PRegularExpression::PRegularExpression"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PRegularExpression::PRegularExpression </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Create a new, empty, regular expression.<p>    </td>  </tr></table><a name="z285_3" doxytag="PRegularExpression::PRegularExpression"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PRegularExpression::PRegularExpression </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>pattern</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>int&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>flags</em> = IgnoreCase</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Create and compile a new regular expression pattern. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>flags</em>&nbsp;</td><td>Pattern to compile Pattern match options </td></tr></table></dl>    </td>  </tr></table><a name="z285_4" doxytag="PRegularExpression::PRegularExpression"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PRegularExpression::PRegularExpression </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const char *&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>cpattern</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>int&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>flags</em> = IgnoreCase</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Create and compile a new regular expression pattern. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>flags</em>&nbsp;</td><td>Pattern to compile Pattern match options </td></tr></table></dl>    </td>  </tr></table><a name="z285_5" doxytag="PRegularExpression::PRegularExpression"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PRegularExpression::PRegularExpression </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const PRegularExpression &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Copy a regular expression     </td>  </tr></table><a name="z285_7" doxytag="PRegularExpression::~PRegularExpression"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PRegularExpression::~PRegularExpression </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -