Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > by-pkgid > 9ac0f970b86472ed1e748202d2848da8 > files > 25

colorer-take5-docs-0-0.beta5.4mdv2010.0.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Colorer-take5 Library: CRegExp Class Reference</title>
<link href="../styles/styles.css" rel="stylesheet" type="text/css">
<link href="../styles/doc.css" rel="stylesheet" type="text/css">
<link rel="icon" href="../images/logo-small-api.png"/>
</head>
<body>
<div align='center'>
<a href="../index.html">Home</a> |
<a href="modules.html">Modules</a> |
<a href="hierarchy.html">Class Hierarchy</a> |
<a href="classes.html">Alphabetical List</a> |
<a href="annotated.html">Compound List</a> |
<a href="pages.html">Related Pages</a>
</div>
<!-- Generated by Doxygen 1.4.6 -->
<h1>CRegExp Class Reference<br>
<small>
[<a class="el" href="group__cregexp.html">Regular Expressions</a>]</small>
</h1><!-- doxytag: class="CRegExp" --><hr><a name="_details"></a><h2>Detailed Description</h2>
Regular Expression compiler and matcher. 
<p>
Colorer regular expressions library cregexp.<p>
<dl compact><dt><b>1. Features.</b></dt><dd></dd></dl>
<dl compact><dt><b>1.1. Colorer Unicode classes.</b></dt><dd><ul>
<li>Unicode Consortium regexp level 1 support. All characters are treated as independent 16-bit units. The result of RE is independent of current locale.</li><li>Unicode syntax extensions:<ul>
<li>Unicode general category char class:<ul>
<li>[{L}{Nd}] - all letters and decimal digits,</li><li>[{ALL}] - as '.',</li><li>[{ASSIGNED}] - all assigned unicode characters,</li><li>[{UNASSIGNED}] - all unassigned unicode characters.</li></ul>
</li><li>Char classes substraction unicode extension:<ul>
<li>[{ASSIGNED}-[{Lu}]-[{Ll}]] - all assigned characters except,</li><li>upper and lower case characters.</li></ul>
</li><li>Char classes connection syntax:<ul>
<li>[{Lu}[{Ll}]] - upper and lower case characters.</li></ul>
</li><li>Char classes intersection syntax:<ul>
<li>[{ALL}&amp;&amp;[{L}]] - only Letter characters.</li></ul>
</li><li><a class="el" href="classCharacter.html">Character</a> reference syntax: \x{2028} \x0A as in Perl.</li><li>Unicode form \u2028 is unused (\u - upper case char).</li></ul>
</li></ul>
</dd></dl>
<dl compact><dt><b>1.2. Extensions.</b></dt><dd><ul>
<li>Bracket extensions:<ul>
<li>(?{name} pattern ) - named bracket,</li><li>\p{name} - named bracket reference.</li><li>(?{} pattern ) - no capturing bracket as (?: pattern ) in Perl.</li></ul>
</li><li>Look Ahead/Backward:<ul>
<li>pattern?= as Perl's (?=pattern)</li><li>pattern?! as Perl's (?!pattern)</li><li>pattern?N - N symbols backward look for pattern</li><li>pattern?~N - N symbols backward look for no pattern</li></ul>
</li><li>Colorer library extensions:<ul>
<li>\m \M - sets new start and end of zero(default) bracket.</li><li>\yN \YN \y{name} \Y{name} - back reference into another RE's bracket.</li></ul>
</li></ul>
</dd></dl>
<dl compact><dt><b>1.3. Perl compatibility.</b></dt><dd><ul>
<li>Modifiers //ismx</li><li>\ p{name} - back reference to named bracket (but not named property as in Perl!)</li><li>No POSIX character classes support.</li></ul>
</dd></dl>
<dl compact><dt><b>2. Dislikes:</b></dt><dd></dd></dl>
<dl compact><dt><b>2.1. According to Unicode RE level 1 support:</b></dt><dd><ul>
<li>No surrogate symbols support,</li><li>No string length changes on case mappings (only 1 &lt;-&gt; 1 mappings), </li></ul>
</dd></dl>
<dl compact><dt><b>2.2. Algorithmic problems:</b></dt><dd><ul>
<li>Stack recursion implementation. </li></ul>
</dd></dl>

<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#1f5d980e134b897b0ae4f8bd535a5271">CRegExp</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Empty constructor.  <a href="#1f5d980e134b897b0ae4f8bd535a5271"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08b88cb1e3ab56f5fa273f7dd4ff753c"></a><!-- doxytag: member="CRegExp::CRegExp" ref="08b88cb1e3ab56f5fa273f7dd4ff753c" args="(const String *text)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#08b88cb1e3ab56f5fa273f7dd4ff753c">CRegExp</a> (const <a class="el" href="classString.html">String</a> *text)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs regular expression and compile it with <code>text</code> pattern. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2e16623a63ab4f81ff5ea75e333e292"></a><!-- doxytag: member="CRegExp::isOk" ref="b2e16623a63ab4f81ff5ea75e333e292" args="()" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#b2e16623a63ab4f81ff5ea75e333e292">isOk</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is compilied RE well-formed. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3fda50c55f4a5a651c139d5586c788dd"></a><!-- doxytag: member="CRegExp::getError" ref="3fda50c55f4a5a651c139d5586c788dd" args="()" -->
EError&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#3fda50c55f4a5a651c139d5586c788dd">getError</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about RE compilation error. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="726befa6cdc8a21b1c089f35f3458690"></a><!-- doxytag: member="CRegExp::setPositionMoves" ref="726befa6cdc8a21b1c089f35f3458690" args="(bool moves)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#726befa6cdc8a21b1c089f35f3458690">setPositionMoves</a> (bool moves)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells RE parser, that it must make moves on tested string while RE matching. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e355d51d34b6d7aaafcad03f665c86b"></a><!-- doxytag: member="CRegExp::getBracketNo" ref="1e355d51d34b6d7aaafcad03f665c86b" args="(const String *brname)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#1e355d51d34b6d7aaafcad03f665c86b">getBracketNo</a> (const <a class="el" href="classString.html">String</a> *brname)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns count of named brackets. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d700b128f9fbba3b2d4b3e479d5a4421"></a><!-- doxytag: member="CRegExp::getBracketName" ref="d700b128f9fbba3b2d4b3e479d5a4421" args="(int no)" -->
<a class="el" href="classString.html">String</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#d700b128f9fbba3b2d4b3e479d5a4421">getBracketName</a> (int no)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns named bracked name by it's index. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63f6899f6cc178e76b841fddfb2fb89c"></a><!-- doxytag: member="CRegExp::setBackRE" ref="63f6899f6cc178e76b841fddfb2fb89c" args="(CRegExp *bkre)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>setBackRE</b> (<a class="el" href="classCRegExp.html">CRegExp</a> *bkre)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b714acfed3a7711ea749723e625daf4d"></a><!-- doxytag: member="CRegExp::setBackTrace" ref="b714acfed3a7711ea749723e625daf4d" args="(const String *str, SMatches *trace)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#b714acfed3a7711ea749723e625daf4d">setBackTrace</a> (const <a class="el" href="classString.html">String</a> *str, SMatches *trace)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes RE object, used for backreferences with named {} {} operators. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="928f31b78693fe365575f270c2faf0ab"></a><!-- doxytag: member="CRegExp::getBackTrace" ref="928f31b78693fe365575f270c2faf0ab" args="(const String **str, SMatches **trace)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#928f31b78693fe365575f270c2faf0ab">getBackTrace</a> (const <a class="el" href="classString.html">String</a> **str, SMatches **trace)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns current RE object, used for backreferences with   operators. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa3337933c959c2709e65955c75279cb"></a><!-- doxytag: member="CRegExp::setRE" ref="aa3337933c959c2709e65955c75279cb" args="(const String *re)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#aa3337933c959c2709e65955c75279cb">setRE</a> (const <a class="el" href="classString.html">String</a> *re)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiles specified regular expression and drops all previous structures. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f36dc8ed887c4fba2dfed2f1ef9aa250"></a><!-- doxytag: member="CRegExp::parse" ref="f36dc8ed887c4fba2dfed2f1ef9aa250" args="(const String *str, SMatches *mtch)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#f36dc8ed887c4fba2dfed2f1ef9aa250">parse</a> (const <a class="el" href="classString.html">String</a> *str, SMatches *mtch)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs RE parser against input string <code>str</code>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb0a810445281d98f9df45e9e1e46b6c"></a><!-- doxytag: member="CRegExp::parse" ref="eb0a810445281d98f9df45e9e1e46b6c" args="(const String *str, int pos, int eol, SMatches *mtch, int soscheme=0, int moves=-1)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCRegExp.html#eb0a810445281d98f9df45e9e1e46b6c">parse</a> (const <a class="el" href="classString.html">String</a> *str, int pos, int eol, SMatches *mtch, int soscheme=0, int moves=-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs RE parser against input string <code>str</code>. <br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="1f5d980e134b897b0ae4f8bd535a5271"></a><!-- doxytag: member="CRegExp::CRegExp" ref="1f5d980e134b897b0ae4f8bd535a5271" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">CRegExp::CRegExp           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&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>
Empty constructor. 
<p>
No RE tree is builded with this constructor. Use <a class="el" href="classCRegExp.html#aa3337933c959c2709e65955c75279cb">setRE</a> method to change pattern.     </td>
  </tr>
</table>

<br><br>
<center><small>
Colorer-take5 Library. Copyright &copy; 1999-2006 Igor Russkih.<br>
Generated at Fri Nov 24 17:13:12 2006 by doxygen 1.4.6.
</small><center>
    </BODY>
  </HTML>