<!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>Crystal Space 1.2.1: csutil/regexp.h File Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <h1>csutil/regexp.h File Reference</h1>Regular expressions support. <a href="#_details">More...</a> <p> <code>#include "csextern.h"</code><br> <code>#include "<a class="el" href="csutil_2array_8h-source.html">csutil/array.h</a>"</code><br> <p> <a href="regexp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structcsRegExpMatch.html">csRegExpMatch</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information about (sub)expression matches. <a href="structcsRegExpMatch.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRegExpMatcher.html">csRegExpMatcher</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Matcher for regular expressions. <a href="classcsRegExpMatcher.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f">csRegExpMatchError</a> { <br> <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f23218b27ac9cb13d1314dd2fe5d7fdf3">csrxNoError</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f7ced38ce226cf9947ba369eb53058d26">csrxNoMatch</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13fc4fcb5be2054406bc68c80efd0d1b36c">csrxBadBraces</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f868c78ca88806aea0c4077de232bf035">csrxBadPattern</a>, <br> <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f43413ebc3c5ce3b9caefd70fcd9c5ba1">csrxBadRepetition</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13fefb5755d7da42e1092b4534228169965">csrxErrCollate</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f07822db12dd009219b1f65b26abb621a">csrxErrCharType</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f96f87ca6761f38a3d8fbd0c1f95232f8">csrxErrEscape</a>, <br> <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f1533648b3060849f6e798388566f70af">csrxErrSubReg</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f58360089a02e3adb7ddca92d9f20a3f3">csrxErrBrackets</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13fd0f7a753221185b6da3b4cdd37e7b4ba">csrxErrParentheses</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f60a78fac958ffbd5edfdaa684a396565">csrxErrBraces</a>, <br> <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f582ed2fa4a40538d978ce9b76f1b8d80">csrxErrRange</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13ff39cfb12b33fa439b3aa8bfbda6cfa02">csrxErrSpace</a>, <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13faae87077933d20e4abb1711fde7cd9ab">csrxErrUnknown</a> <br> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Possible errors that can occur during matching. <a href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="regexp_8h.html#d938c33b723e05f5d5a73ec768a317e4">csRegExpMatchFlags</a> { <a class="el" href="regexp_8h.html#d938c33b723e05f5d5a73ec768a317e40cc39899830cc8740438b2b1272c1b5b">csrxIgnoreCase</a> = 1, <a class="el" href="regexp_8h.html#d938c33b723e05f5d5a73ec768a317e41820d801b9422fd3cb1bcbabdf3a2fc7">csrxNewLine</a> = 2, <a class="el" href="regexp_8h.html#d938c33b723e05f5d5a73ec768a317e4ba8707b3b4913da6f22442eae454b271">csrxNotBOL</a> = 4, <a class="el" href="regexp_8h.html#d938c33b723e05f5d5a73ec768a317e492d05c63cb9e7b473f21804a381e3bef">csrxNotEOL</a> = 8 }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Flags for regular expression matching. <a href="regexp_8h.html#d938c33b723e05f5d5a73ec768a317e4">More...</a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Regular expressions support. <p> <p>Definition in file <a class="el" href="regexp_8h-source.html">regexp.h</a>.</p> <hr><h2>Enumeration Type Documentation</h2> <a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f"></a><!-- doxytag: member="regexp.h::csRegExpMatchError" ref="89f80052ddcd1fa25c12f5d0578ed13f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="regexp_8h.html#89f80052ddcd1fa25c12f5d0578ed13f">csRegExpMatchError</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Possible errors that can occur during matching. <p> <dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f23218b27ac9cb13d1314dd2fe5d7fdf3"></a><!-- doxytag: member="csrxNoError" ref="89f80052ddcd1fa25c12f5d0578ed13f23218b27ac9cb13d1314dd2fe5d7fdf3" args="" -->csrxNoError</em> </td><td> No problems during matching. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f7ced38ce226cf9947ba369eb53058d26"></a><!-- doxytag: member="csrxNoMatch" ref="89f80052ddcd1fa25c12f5d0578ed13f7ced38ce226cf9947ba369eb53058d26" args="" -->csrxNoMatch</em> </td><td> The pattern didn't match the string. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13fc4fcb5be2054406bc68c80efd0d1b36c"></a><!-- doxytag: member="csrxBadBraces" ref="89f80052ddcd1fa25c12f5d0578ed13fc4fcb5be2054406bc68c80efd0d1b36c" args="" -->csrxBadBraces</em> </td><td> There was an invalid <code>\{</code>. <p> ..\} construct in the regular expression. A valid <code>\{</code>...\} construct must contain either a single number, or two numbers in increasing order separated by a comma. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f868c78ca88806aea0c4077de232bf035"></a><!-- doxytag: member="csrxBadPattern" ref="89f80052ddcd1fa25c12f5d0578ed13f868c78ca88806aea0c4077de232bf035" args="" -->csrxBadPattern</em> </td><td> There was a syntax error in the regular expression. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f43413ebc3c5ce3b9caefd70fcd9c5ba1"></a><!-- doxytag: member="csrxBadRepetition" ref="89f80052ddcd1fa25c12f5d0578ed13f43413ebc3c5ce3b9caefd70fcd9c5ba1" args="" -->csrxBadRepetition</em> </td><td> A repetition operator such as ? or * appeared in a bad position (with no preceding subexpression to act on). </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13fefb5755d7da42e1092b4534228169965"></a><!-- doxytag: member="csrxErrCollate" ref="89f80052ddcd1fa25c12f5d0578ed13fefb5755d7da42e1092b4534228169965" args="" -->csrxErrCollate</em> </td><td> The regular expression referred to an invalid collating element (one not defined in the current locale for string collation). </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f07822db12dd009219b1f65b26abb621a"></a><!-- doxytag: member="csrxErrCharType" ref="89f80052ddcd1fa25c12f5d0578ed13f07822db12dd009219b1f65b26abb621a" args="" -->csrxErrCharType</em> </td><td> The regular expression referred to an invalid character class name. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f96f87ca6761f38a3d8fbd0c1f95232f8"></a><!-- doxytag: member="csrxErrEscape" ref="89f80052ddcd1fa25c12f5d0578ed13f96f87ca6761f38a3d8fbd0c1f95232f8" args="" -->csrxErrEscape</em> </td><td> The regular expression ended with <code>\</code>. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f1533648b3060849f6e798388566f70af"></a><!-- doxytag: member="csrxErrSubReg" ref="89f80052ddcd1fa25c12f5d0578ed13f1533648b3060849f6e798388566f70af" args="" -->csrxErrSubReg</em> </td><td> There was an invalid number in the <code>\digit</code> construct. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f58360089a02e3adb7ddca92d9f20a3f3"></a><!-- doxytag: member="csrxErrBrackets" ref="89f80052ddcd1fa25c12f5d0578ed13f58360089a02e3adb7ddca92d9f20a3f3" args="" -->csrxErrBrackets</em> </td><td> There were unbalanced square brackets in the regular expression. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13fd0f7a753221185b6da3b4cdd37e7b4ba"></a><!-- doxytag: member="csrxErrParentheses" ref="89f80052ddcd1fa25c12f5d0578ed13fd0f7a753221185b6da3b4cdd37e7b4ba" args="" -->csrxErrParentheses</em> </td><td> An extended regular expression had unbalanced parentheses, or a basic regular expression had unbalanced <code>\</code>( and <code>\</code>). </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f60a78fac958ffbd5edfdaa684a396565"></a><!-- doxytag: member="csrxErrBraces" ref="89f80052ddcd1fa25c12f5d0578ed13f60a78fac958ffbd5edfdaa684a396565" args="" -->csrxErrBraces</em> </td><td> The regular expression had unbalanced <code>\{</code> and <code>\}</code>. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13f582ed2fa4a40538d978ce9b76f1b8d80"></a><!-- doxytag: member="csrxErrRange" ref="89f80052ddcd1fa25c12f5d0578ed13f582ed2fa4a40538d978ce9b76f1b8d80" args="" -->csrxErrRange</em> </td><td> One of the endpoints in a range expression was invalid. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13ff39cfb12b33fa439b3aa8bfbda6cfa02"></a><!-- doxytag: member="csrxErrSpace" ref="89f80052ddcd1fa25c12f5d0578ed13ff39cfb12b33fa439b3aa8bfbda6cfa02" args="" -->csrxErrSpace</em> </td><td> Out of memory. </td></tr> <tr><td valign="top"><em><a class="anchor" name="89f80052ddcd1fa25c12f5d0578ed13faae87077933d20e4abb1711fde7cd9ab"></a><!-- doxytag: member="csrxErrUnknown" ref="89f80052ddcd1fa25c12f5d0578ed13faae87077933d20e4abb1711fde7cd9ab" args="" -->csrxErrUnknown</em> </td><td> Unknown error. </td></tr> </table> </dl> <p>Definition at line <a class="el" href="regexp_8h-source.html#l00032">32</a> of file <a class="el" href="regexp_8h-source.html">regexp.h</a>.</p> </div> </div><p> <a class="anchor" name="d938c33b723e05f5d5a73ec768a317e4"></a><!-- doxytag: member="regexp.h::csRegExpMatchFlags" ref="d938c33b723e05f5d5a73ec768a317e4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="regexp_8h.html#d938c33b723e05f5d5a73ec768a317e4">csRegExpMatchFlags</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Flags for regular expression matching. <p> <dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="d938c33b723e05f5d5a73ec768a317e40cc39899830cc8740438b2b1272c1b5b"></a><!-- doxytag: member="csrxIgnoreCase" ref="d938c33b723e05f5d5a73ec768a317e40cc39899830cc8740438b2b1272c1b5b" args="" -->csrxIgnoreCase</em> </td><td> Ignore case when matching letters. </td></tr> <tr><td valign="top"><em><a class="anchor" name="d938c33b723e05f5d5a73ec768a317e41820d801b9422fd3cb1bcbabdf3a2fc7"></a><!-- doxytag: member="csrxNewLine" ref="d938c33b723e05f5d5a73ec768a317e41820d801b9422fd3cb1bcbabdf3a2fc7" args="" -->csrxNewLine</em> </td><td> Treat a newline in string as dividing string into multiple lines, so that <code>$</code> can match before the newline and <code>^</code> can match after. <p> Also, don't permit <code></code>. to match a newline, and don't permit <code></code>[^...] to match a newline.<p> Otherwise, newline acts like any other ordinary character. </td></tr> <tr><td valign="top"><em><a class="anchor" name="d938c33b723e05f5d5a73ec768a317e4ba8707b3b4913da6f22442eae454b271"></a><!-- doxytag: member="csrxNotBOL" ref="d938c33b723e05f5d5a73ec768a317e4ba8707b3b4913da6f22442eae454b271" args="" -->csrxNotBOL</em> </td><td> Do not regard the beginning of the specified string as the beginning of a line; more generally, don't make any assumptions about what text might precede it. </td></tr> <tr><td valign="top"><em><a class="anchor" name="d938c33b723e05f5d5a73ec768a317e492d05c63cb9e7b473f21804a381e3bef"></a><!-- doxytag: member="csrxNotEOL" ref="d938c33b723e05f5d5a73ec768a317e492d05c63cb9e7b473f21804a381e3bef" args="" -->csrxNotEOL</em> </td><td> Do not regard the end of the specified string as the end of a line; more generally, don't make any assumptions about what text might follow it. </td></tr> </table> </dl> <p>Definition at line <a class="el" href="regexp_8h-source.html#l00100">100</a> of file <a class="el" href="regexp_8h-source.html">regexp.h</a>.</p> </div> </div><p> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>