Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > f51238514e2abe817779ad2fe01b0759 > files > 162

icu-doc-4.4-2.1mdv2010.2.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ICU 4.4: RegexPattern Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>RegexPattern Class Reference</h1><!-- doxytag: class="RegexPattern" --><!-- doxytag: inherits="UObject" -->
<p>Class <code><a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a></code> represents a compiled regular expression.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="regex_8h_source.html">regex.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for RegexPattern:</div>
<div class="dynsection">
 <div class="center">
  <img src="classRegexPattern.gif" usemap="#RegexPattern_map" alt=""/>
  <map id="RegexPattern_map" name="RegexPattern_map">
<area href="classUObject.html" alt="UObject" shape="rect" coords="0,56,87,80"/>
<area href="classUMemory.html" alt="UMemory" shape="rect" coords="0,0,87,24"/>
</map>
 </div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a74d7f491f0cf52e2bfc179db86b7bc9e">PatternIsUTextFlag</a> { <b>PATTERN_IS_UTEXT</b>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flag to disambiguate <a class="el" href="classRegexPattern.html#a30fe2131813a753a511aedd1fb3fda39" title="Creates a RegexMatcher that will match the given input against this pattern.">RegexPattern::matcher</a> signature. </p>
 <a href="classRegexPattern.html#a74d7f491f0cf52e2bfc179db86b7bc9e">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#abe4c71b210cde0c481885d808ab5b3c0">RegexPattern</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default constructor.  <a href="#abe4c71b210cde0c481885d808ab5b3c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a230936f735381b22b6647ae4c654f9f6">RegexPattern</a> (const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;source)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy Constructor.  <a href="#a230936f735381b22b6647ae4c654f9f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a59c4a8cb10be3904fc0bfc088c4da5e7">~RegexPattern</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#a59c4a8cb10be3904fc0bfc088c4da5e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#abf346a4a46152c357558e155b454b331">operator==</a> (const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;that) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Comparison operator.  <a href="#abf346a4a46152c357558e155b454b331"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a881d8d89c3c5859420874e5a62d21be6">operator!=</a> (const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;that) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Comparison operator.  <a href="#a881d8d89c3c5859420874e5a62d21be6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#ad71085b753bbc297b3cbc4e0d2d4f1e7">operator=</a> (const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;source)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#ad71085b753bbc297b3cbc4e0d2d4f1e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classRegexPattern.html">RegexPattern</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a627fddecfac7b947b8970e153bc3f8c6">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an exact copy of this <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object.  <a href="#a627fddecfac7b947b8970e153bc3f8c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a6e4b572646038c55b2155b9943e333cb">flags</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the match mode flags that were used when compiling this pattern.  <a href="#a6e4b572646038c55b2155b9943e333cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classRegexMatcher.html">RegexMatcher</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a30fe2131813a753a511aedd1fb3fda39">matcher</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;input, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> that will match the given input against this pattern.  <a href="#a30fe2131813a753a511aedd1fb3fda39"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classRegexMatcher.html">RegexMatcher</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a4450cda822cfdbddf435347c578da123">matcher</a> (<a class="el" href="structUText.html">UText</a> *input, <a class="el" href="classRegexPattern.html#a74d7f491f0cf52e2bfc179db86b7bc9e">PatternIsUTextFlag</a> flag, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> that will match the given input against this pattern.  <a href="#a4450cda822cfdbddf435347c578da123"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classRegexMatcher.html">RegexMatcher</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a54f22dd483d0aa9dd398cc4d025a41f1">matcher</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> that will match against this pattern.  <a href="#a54f22dd483d0aa9dd398cc4d025a41f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classUnicodeString.html">UnicodeString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a54e9433c3a438450afa8685d826ad355">pattern</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the regular expression from which this pattern was compiled.  <a href="#a54e9433c3a438450afa8685d826ad355"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structUText.html">UText</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a7257a0f551e5cf70519a68059c85a94f">patternText</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the regular expression from which this pattern was compiled.  <a href="#a7257a0f551e5cf70519a68059c85a94f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a3dc9b8d5bb5f12976e70bfcf023229e3">split</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;input, <a class="el" href="classUnicodeString.html">UnicodeString</a> dest[], int32_t destCapacity, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a string into fields.  <a href="#a3dc9b8d5bb5f12976e70bfcf023229e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#acc2575a99cc517ff8880fdc3fdace3f2">split</a> (<a class="el" href="structUText.html">UText</a> *input, <a class="el" href="structUText.html">UText</a> *dest[], int32_t destCapacity, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a string into fields.  <a href="#acc2575a99cc517ff8880fdc3fdace3f2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#aee918c8402916ef82f7337780ffb7a8b">getDynamicClassID</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for the actual class.  <a href="#aee918c8402916ef82f7337780ffb7a8b"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classRegexPattern.html">RegexPattern</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#aaa0af54c0e4f96bdef2e7d057a714629">compile</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;regex, <a class="el" href="structUParseError.html">UParseError</a> &amp;pe, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object.  <a href="#aaa0af54c0e4f96bdef2e7d057a714629"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classRegexPattern.html">RegexPattern</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a4b8c64df723d26979aa450c07b753791">compile</a> (<a class="el" href="structUText.html">UText</a> *regex, <a class="el" href="structUParseError.html">UParseError</a> &amp;pe, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object.  <a href="#a4b8c64df723d26979aa450c07b753791"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classRegexPattern.html">RegexPattern</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a9157d6a29f28cdcdbcd88342e6a04e0c">compile</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;regex, uint32_t flags, <a class="el" href="structUParseError.html">UParseError</a> &amp;pe, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags.  <a href="#a9157d6a29f28cdcdbcd88342e6a04e0c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classRegexPattern.html">RegexPattern</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#aa65a667987afb0dd582da0895cf9eaa5">compile</a> (<a class="el" href="structUText.html">UText</a> *regex, uint32_t flags, <a class="el" href="structUParseError.html">UParseError</a> &amp;pe, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags.  <a href="#aa65a667987afb0dd582da0895cf9eaa5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classRegexPattern.html">RegexPattern</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a1e65a3b5143a98c8354bd3a30da3ec7c">compile</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;regex, uint32_t flags, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags.  <a href="#a1e65a3b5143a98c8354bd3a30da3ec7c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classRegexPattern.html">RegexPattern</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a062ad4716f7343d63a2f86166814fefe">compile</a> (<a class="el" href="structUText.html">UText</a> *regex, uint32_t flags, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags.  <a href="#a062ad4716f7343d63a2f86166814fefe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a01d3ae1eb52cf449229904da410db587">matches</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;regex, const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;input, <a class="el" href="structUParseError.html">UParseError</a> &amp;pe, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test whether a string matches a regular expression.  <a href="#a01d3ae1eb52cf449229904da410db587"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a4c93fec282ad3d803a90d44c992fac03">matches</a> (<a class="el" href="structUText.html">UText</a> *regex, <a class="el" href="structUText.html">UText</a> *input, <a class="el" href="structUParseError.html">UParseError</a> &amp;pe, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test whether a string matches a regular expression.  <a href="#a4c93fec282ad3d803a90d44c992fac03"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#a1f4513a89868ed23c4e49eadebbf00dd">getStaticClassID</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for this class.  <a href="#a1f4513a89868ed23c4e49eadebbf00dd"></a><br/></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37cf9c695a0f0d4c606794205508fed2"></a><!-- doxytag: member="RegexPattern::RegexCompile" ref="a37cf9c695a0f0d4c606794205508fed2" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>RegexCompile</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada49313a58b9d9eb990246aa6c72a379"></a><!-- doxytag: member="RegexPattern::RegexMatcher" ref="ada49313a58b9d9eb990246aa6c72a379" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRegexPattern.html#ada49313a58b9d9eb990246aa6c72a379">RegexMatcher</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c2144b0e5f518674dffbf166bb18bc3"></a><!-- doxytag: member="RegexPattern::RegexCImpl" ref="a1c2144b0e5f518674dffbf166bb18bc3" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>RegexCImpl</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Class <code><a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a></code> represents a compiled regular expression. </p>
<p>It includes factory methods for creating a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object from the source (string) form of a regular expression, methods for creating RegexMatchers that allow the pattern to be applied to input text, and a few convenience methods for simple common uses of regular expressions.</p>
<p>Class <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> is not intended to be subclassed.</p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002971">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p>Definition at line <a class="el" href="regex_8h_source.html#l00100">100</a> of file <a class="el" href="regex_8h_source.html">regex.h</a>.</p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a74d7f491f0cf52e2bfc179db86b7bc9e"></a><!-- doxytag: member="RegexPattern::PatternIsUTextFlag" ref="a74d7f491f0cf52e2bfc179db86b7bc9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classRegexPattern.html#a74d7f491f0cf52e2bfc179db86b7bc9e">RegexPattern::PatternIsUTextFlag</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Flag to disambiguate <a class="el" href="classRegexPattern.html#a30fe2131813a753a511aedd1fb3fda39" title="Creates a RegexMatcher that will match the given input against this pattern.">RegexPattern::matcher</a> signature. </p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000332">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

<p>Definition at line <a class="el" href="regex_8h_source.html#l00373">373</a> of file <a class="el" href="regex_8h_source.html">regex.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="abe4c71b210cde0c481885d808ab5b3c0"></a><!-- doxytag: member="RegexPattern::RegexPattern" ref="abe4c71b210cde0c481885d808ab5b3c0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RegexPattern::RegexPattern </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>default constructor. </p>
<p>Create a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object that refers to no actual pattern. Not normally needed; <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are usually created using the factory method <code><a class="el" href="classRegexPattern.html#aaa0af54c0e4f96bdef2e7d057a714629" title="Compiles the regular expression in string form into a RegexPattern object.">compile()</a></code>.</p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002973">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a230936f735381b22b6647ae4c654f9f6"></a><!-- doxytag: member="RegexPattern::RegexPattern" ref="a230936f735381b22b6647ae4c654f9f6" args="(const RegexPattern &amp;source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RegexPattern::RegexPattern </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>source</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy Constructor. </p>
<p>Create a new <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object that is equivalent to the source object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>the pattern object to be copied. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002974">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a59c4a8cb10be3904fc0bfc088c4da5e7"></a><!-- doxytag: member="RegexPattern::~RegexPattern" ref="a59c4a8cb10be3904fc0bfc088c4da5e7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual RegexPattern::~RegexPattern </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>
<p>Note that a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object must persist so long as any <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> objects that were created from the <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> are active. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002975">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a627fddecfac7b947b8970e153bc3f8c6"></a><!-- doxytag: member="RegexPattern::clone" ref="a627fddecfac7b947b8970e153bc3f8c6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classRegexPattern.html">RegexPattern</a>* RegexPattern::clone </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create an exact copy of this <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object. </p>
<p>Since <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> is not intended to be subclasses, <code><a class="el" href="classRegexPattern.html#a627fddecfac7b947b8970e153bc3f8c6" title="Create an exact copy of this RegexPattern object.">clone()</a></code> and the copy construction are equivalent operations. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the copy of this <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002979">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a062ad4716f7343d63a2f86166814fefe"></a><!-- doxytag: member="RegexPattern::compile" ref="a062ad4716f7343d63a2f86166814fefe" args="(UText *regex, uint32_t flags, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classRegexPattern.html">RegexPattern</a>* RegexPattern::compile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags. </p>
<p>These compile methods, rather than the constructors, are the usual way that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are created.</p>
<p>Note that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects must not be deleted while <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> objects created from the pattern are active. RegexMatchers keep a pointer back to their pattern, so premature deletion of the pattern is a catastrophic error.</p>
<p>Note that it is often more convenient to construct a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> directly from a pattern string instead of than separately compiling the pattern and then creating a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object from the pattern.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression to be compiled. Note, the text referred to by this <a class="el" href="structUText.html" title="UText struct.">UText</a> must not be deleted during the lifetime of the <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object or any <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object created from it. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The match mode flags to be used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A regexPattern object for the compiled pattern.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000331">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a1e65a3b5143a98c8354bd3a30da3ec7c"></a><!-- doxytag: member="RegexPattern::compile" ref="a1e65a3b5143a98c8354bd3a30da3ec7c" args="(const UnicodeString &amp;regex, uint32_t flags, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classRegexPattern.html">RegexPattern</a>* RegexPattern::compile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags. </p>
<p>These compile methods, rather than the constructors, are the usual way that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are created.</p>
<p>Note that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects must not be deleted while <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> objects created from the pattern are active. RegexMatchers keep a pointer back to their pattern, so premature deletion of the pattern is a catastrophic error.</p>
<p>Note that it is often more convenient to construct a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> directly from a pattern string instead of than separately compiling the pattern and then creating a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object from the pattern.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression to be compiled. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The match mode flags to be used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A regexPattern object for the compiled pattern.</dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002982">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

</div>
</div>
<a class="anchor" id="aa65a667987afb0dd582da0895cf9eaa5"></a><!-- doxytag: member="RegexPattern::compile" ref="aa65a667987afb0dd582da0895cf9eaa5" args="(UText *regex, uint32_t flags, UParseError &amp;pe, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classRegexPattern.html">RegexPattern</a>* RegexPattern::compile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags. </p>
<p>These compile methods, rather than the constructors, are the usual way that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are created.</p>
<p>Note that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects must not be deleted while <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> objects created from the pattern are active. RegexMatchers keep a pointer back to their pattern, so premature deletion of the pattern is a catastrophic error.</p>
<p>Note that it is often more convenient to construct a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> directly from a pattern string instead of than separately compiling the pattern and then creating a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object from the pattern.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression to be compiled. Note, the text referred to by this <a class="el" href="structUText.html" title="UText struct.">UText</a> must not be deleted during the lifetime of the <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object or any <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object created from it. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The match mode flags to be used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pe</em>&nbsp;</td><td>Receives the position (line and column numbers) of any error within the regular expression.) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A regexPattern object for the compiled pattern.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000330">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a9157d6a29f28cdcdbcd88342e6a04e0c"></a><!-- doxytag: member="RegexPattern::compile" ref="a9157d6a29f28cdcdbcd88342e6a04e0c" args="(const UnicodeString &amp;regex, uint32_t flags, UParseError &amp;pe, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classRegexPattern.html">RegexPattern</a>* RegexPattern::compile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object using the specified match mode flags. </p>
<p>These compile methods, rather than the constructors, are the usual way that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are created.</p>
<p>Note that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects must not be deleted while <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> objects created from the pattern are active. RegexMatchers keep a pointer back to their pattern, so premature deletion of the pattern is a catastrophic error.</p>
<p>Note that it is often more convenient to construct a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> directly from a pattern string instead of than separately compiling the pattern and then creating a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object from the pattern.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression to be compiled. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The match mode flags to be used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pe</em>&nbsp;</td><td>Receives the position (line and column numbers) of any error within the regular expression.) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A regexPattern object for the compiled pattern.</dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002981">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a4b8c64df723d26979aa450c07b753791"></a><!-- doxytag: member="RegexPattern::compile" ref="a4b8c64df723d26979aa450c07b753791" args="(UText *regex, UParseError &amp;pe, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classRegexPattern.html">RegexPattern</a>* RegexPattern::compile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object. </p>
<p>These compile methods, rather than the constructors, are the usual way that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are created.</p>
<p>Note that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects must not be deleted while <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> objects created from the pattern are active. RegexMatchers keep a pointer back to their pattern, so premature deletion of the pattern is a catastrophic error.</p>
<p>All pattern match mode flags are set to their default values.</p>
<p>Note that it is often more convenient to construct a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> directly from a pattern string rather than separately compiling the pattern and then creating a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object from the pattern.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression to be compiled. Note, the text referred to by this <a class="el" href="structUText.html" title="UText struct.">UText</a> must not be deleted during the lifetime of the <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object or any <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object created from it. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pe</em>&nbsp;</td><td>Receives the position (line and column nubers) of any error within the regular expression.) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A regexPattern object for the compiled pattern.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000329">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="aaa0af54c0e4f96bdef2e7d057a714629"></a><!-- doxytag: member="RegexPattern::compile" ref="aaa0af54c0e4f96bdef2e7d057a714629" args="(const UnicodeString &amp;regex, UParseError &amp;pe, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classRegexPattern.html">RegexPattern</a>* RegexPattern::compile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compiles the regular expression in string form into a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object. </p>
<p>These compile methods, rather than the constructors, are the usual way that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are created.</p>
<p>Note that <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects must not be deleted while <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> objects created from the pattern are active. RegexMatchers keep a pointer back to their pattern, so premature deletion of the pattern is a catastrophic error.</p>
<p>All pattern match mode flags are set to their default values.</p>
<p>Note that it is often more convenient to construct a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> directly from a pattern string rather than separately compiling the pattern and then creating a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object from the pattern.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression to be compiled. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pe</em>&nbsp;</td><td>Receives the position (line and column nubers) of any error within the regular expression.) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A regexPattern object for the compiled pattern.</dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002980">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a6e4b572646038c55b2155b9943e333cb"></a><!-- doxytag: member="RegexPattern::flags" ref="a6e4b572646038c55b2155b9943e333cb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t RegexPattern::flags </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the match mode flags that were used when compiling this pattern. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the match mode flags </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002983">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="aee918c8402916ef82f7337780ffb7a8b"></a><!-- doxytag: member="RegexPattern::getDynamicClassID" ref="aee918c8402916ef82f7337780ffb7a8b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> RegexPattern::getDynamicClassID </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>ICU "poor man's RTTI", returns a UClassID for the actual class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002989">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p>Implements <a class="el" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262">UObject</a>.</p>

</div>
</div>
<a class="anchor" id="a1f4513a89868ed23c4e49eadebbf00dd"></a><!-- doxytag: member="RegexPattern::getStaticClassID" ref="a1f4513a89868ed23c4e49eadebbf00dd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> RegexPattern::getStaticClassID </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>ICU "poor man's RTTI", returns a UClassID for this class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002990">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a54f22dd483d0aa9dd398cc4d025a41f1"></a><!-- doxytag: member="RegexPattern::matcher" ref="a54f22dd483d0aa9dd398cc4d025a41f1" args="(UErrorCode &amp;status) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classRegexMatcher.html">RegexMatcher</a>* RegexPattern::matcher </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> that will match against this pattern. </p>
<p>The <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> can be used to perform match, find or replace operations. Note that a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object must not be deleted while RegexMatchers created from it still exist and might possibly be used again.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object for this pattern and input.</dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002985">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

</div>
</div>
<a class="anchor" id="a4450cda822cfdbddf435347c578da123"></a><!-- doxytag: member="RegexPattern::matcher" ref="a4450cda822cfdbddf435347c578da123" args="(UText *input, PatternIsUTextFlag flag, UErrorCode &amp;status) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classRegexMatcher.html">RegexMatcher</a>* RegexPattern::matcher </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classRegexPattern.html#a74d7f491f0cf52e2bfc179db86b7bc9e">PatternIsUTextFlag</a>&nbsp;</td>
          <td class="paramname"> <em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> that will match the given input against this pattern. </p>
<p>The <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> can then be used to perform match, find or replace operations on the input. Note that a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object must not be deleted while RegexMatchers created from it still exist and might possibly be used again. </p>
<p>The matcher will make a shallow clone of the supplied input text, and all regexp pattern matching operations happen on this clone. While read-only operations on the supplied text are permitted, it is critical that the underlying string not be altered or deleted before use by the regular expression operations is complete.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The input text to which the regular expression will be applied. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>Must be RegexPattern::PATTERN_IS_UTEXT; used to disambiguate method signature. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object for this pattern and input.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000333">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a30fe2131813a753a511aedd1fb3fda39"></a><!-- doxytag: member="RegexPattern::matcher" ref="a30fe2131813a753a511aedd1fb3fda39" args="(const UnicodeString &amp;input, UErrorCode &amp;status) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classRegexMatcher.html">RegexMatcher</a>* RegexPattern::matcher </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> that will match the given input against this pattern. </p>
<p>The <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> can then be used to perform match, find or replace operations on the input. Note that a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object must not be deleted while RegexMatchers created from it still exist and might possibly be used again. </p>
<p>The matcher will retain a reference to the supplied input string, and all regexp pattern matching operations happen directly on this original string. It is critical that the string not be altered or deleted before use by the regular expression operations is complete.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The input string to which the regular expression will be applied. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object for this pattern and input.</dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002984">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a4c93fec282ad3d803a90d44c992fac03"></a><!-- doxytag: member="RegexPattern::matches" ref="a4c93fec282ad3d803a90d44c992fac03" args="(UText *regex, UText *input, UParseError &amp;pe, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> RegexPattern::matches </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Test whether a string matches a regular expression. </p>
<p>This convenience function both compiles the reguluar expression and applies it in a single operation. Note that if the same pattern needs to be applied repeatedly, this method will be less efficient than creating and reusing a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The string data to be matched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pe</em>&nbsp;</td><td>Receives the position of any syntax errors within the regular expression </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the regular expression exactly matches the full input string.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000335">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a01d3ae1eb52cf449229904da410db587"></a><!-- doxytag: member="RegexPattern::matches" ref="a01d3ae1eb52cf449229904da410db587" args="(const UnicodeString &amp;regex, const UnicodeString &amp;input, UParseError &amp;pe, UErrorCode &amp;status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> RegexPattern::matches </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Test whether a string matches a regular expression. </p>
<p>This convenience function both compiles the reguluar expression and applies it in a single operation. Note that if the same pattern needs to be applied repeatedly, this method will be less efficient than creating and reusing a <a class="el" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>regex</em>&nbsp;</td><td>The regular expression </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The string data to be matched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pe</em>&nbsp;</td><td>Receives the position of any syntax errors within the regular expression </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the regular expression exactly matches the full input string.</dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002986">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a881d8d89c3c5859420874e5a62d21be6"></a><!-- doxytag: member="RegexPattern::operator!=" ref="a881d8d89c3c5859420874e5a62d21be6" args="(const RegexPattern &amp;that) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> RegexPattern::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>that</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Comparison operator. </p>
<p>Two <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are considered equal if they were constructed from identical source patterns using the same match flag settings. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>that</em>&nbsp;</td><td>a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object to compare with "this". </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if the objects are different. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002977">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p>Definition at line <a class="el" href="regex_8h_source.html#l00145">145</a> of file <a class="el" href="regex_8h_source.html">regex.h</a>.</p>

<p>References <a class="el" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352">operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="ad71085b753bbc297b3cbc4e0d2d4f1e7"></a><!-- doxytag: member="RegexPattern::operator=" ref="ad71085b753bbc297b3cbc4e0d2d4f1e7" args="(const RegexPattern &amp;source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classRegexPattern.html">RegexPattern</a>&amp; RegexPattern::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>source</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assignment operator. </p>
<p>After assignment, this <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> will behave identically to the source object. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002978">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="abf346a4a46152c357558e155b454b331"></a><!-- doxytag: member="RegexPattern::operator==" ref="abf346a4a46152c357558e155b454b331" args="(const RegexPattern &amp;that) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> RegexPattern::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classRegexPattern.html">RegexPattern</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>that</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Comparison operator. </p>
<p>Two <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> objects are considered equal if they were constructed from identical source patterns using the same match flag settings. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>that</em>&nbsp;</td><td>a <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object to compare with "this". </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if the objects are equivalent. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002976">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a54e9433c3a438450afa8685d826ad355"></a><!-- doxytag: member="RegexPattern::pattern" ref="a54e9433c3a438450afa8685d826ad355" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classUnicodeString.html">UnicodeString</a> RegexPattern::pattern </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the regular expression from which this pattern was compiled. </p>
<p>This method will work even if the pattern was compiled from a <a class="el" href="structUText.html" title="UText struct.">UText</a>.</p>
<p>Note: If the pattern was originally compiled from a <a class="el" href="structUText.html" title="UText struct.">UText</a>, and that <a class="el" href="structUText.html" title="UText struct.">UText</a> was modified, the returned string may no longer reflect the <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002987">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a7257a0f551e5cf70519a68059c85a94f"></a><!-- doxytag: member="RegexPattern::patternText" ref="a7257a0f551e5cf70519a68059c85a94f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structUText.html">UText</a>* RegexPattern::patternText </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the regular expression from which this pattern was compiled. </p>
<p>This method will work even if the pattern was compiled from a <a class="el" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>.</p>
<p>Note: This is the original input, not a clone. If the pattern was originally compiled from a <a class="el" href="structUText.html" title="UText struct.">UText</a>, and that <a class="el" href="structUText.html" title="UText struct.">UText</a> was modified, the returned <a class="el" href="structUText.html" title="UText struct.">UText</a> may no longer reflect the <a class="el" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> object.</p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000336">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="acc2575a99cc517ff8880fdc3fdace3f2"></a><!-- doxytag: member="RegexPattern::split" ref="acc2575a99cc517ff8880fdc3fdace3f2" args="(UText *input, UText *dest[], int32_t destCapacity, UErrorCode &amp;status) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t RegexPattern::split </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUText.html">UText</a> *&nbsp;</td>
          <td class="paramname"> <em>dest</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Split a string into fields. </p>
<p>Somewhat like <a class="el" href="classRegexPattern.html#a3dc9b8d5bb5f12976e70bfcf023229e3" title="Split a string into fields.">split()</a> from Perl. The pattern matches identify delimiters that separate the input into fields. The input data between the matches becomes the fields themselves. </p>
<p>For the best performance on <a class="el" href="classRegexPattern.html#a3dc9b8d5bb5f12976e70bfcf023229e3" title="Split a string into fields.">split()</a> operations, <code><a class="el" href="classRegexMatcher.html#ad3a2b85b74c0345bf6f94a7c568d5191" title="Split a string into fields.">RegexMatcher::split</a></code> is perferable to this function</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The string to be split into fields. The field delimiters match the pattern (in the "this" object) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>An array of mutable <a class="el" href="structUText.html" title="UText struct.">UText</a> structs to receive the results of the split. If a field is NULL, a new <a class="el" href="structUText.html" title="UText struct.">UText</a> is allocated to contain the results for that field. This new <a class="el" href="structUText.html" title="UText struct.">UText</a> is not guaranteed to be mutable. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>destCapacity</em>&nbsp;</td><td>The number of elements in the destination array. If the number of fields found is less than destCapacity, the extra strings in the destination array are not altered. If the number of destination strings is less than the number of fields, the trailing part of the input string, including any field delimiters, is placed in the last destination string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of fields into which the input string was split.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000337">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.4 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a3dc9b8d5bb5f12976e70bfcf023229e3"></a><!-- doxytag: member="RegexPattern::split" ref="a3dc9b8d5bb5f12976e70bfcf023229e3" args="(const UnicodeString &amp;input, UnicodeString dest[], int32_t destCapacity, UErrorCode &amp;status) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t RegexPattern::split </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classUnicodeString.html">UnicodeString</a>&nbsp;</td>
          <td class="paramname"> <em>dest</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Split a string into fields. </p>
<p>Somewhat like <a class="el" href="classRegexPattern.html#a3dc9b8d5bb5f12976e70bfcf023229e3" title="Split a string into fields.">split()</a> from Perl. The pattern matches identify delimiters that separate the input into fields. The input data between the matches becomes the fields themselves. </p>
<p>For the best performance on <a class="el" href="classRegexPattern.html#a3dc9b8d5bb5f12976e70bfcf023229e3" title="Split a string into fields.">split()</a> operations, <code><a class="el" href="classRegexMatcher.html#ad3a2b85b74c0345bf6f94a7c568d5191" title="Split a string into fields.">RegexMatcher::split</a></code> is perferable to this function</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The string to be split into fields. The field delimiters match the pattern (in the "this" object) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>An array of UnicodeStrings to receive the results of the split. This is an array of actual <a class="el" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> objects, not an array of pointers to strings. Local (stack based) arrays can work well here. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>destCapacity</em>&nbsp;</td><td>The number of elements in the destination array. If the number of fields found is less than destCapacity, the extra strings in the destination array are not altered. If the number of destination strings is less than the number of fields, the trailing part of the input string, including any field delimiters, is placed in the last destination string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>A reference to a UErrorCode to receive any errors. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of fields into which the input string was split. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002988">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="regex_8h_source.html">regex.h</a></li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"/><address style="text-align: right;"><small>Generated on 16 Mar 2010 for ICU 4.4 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>