\wxheading{Data structures}
Flags for regex compilation to be used with \helpref{Compile()}{wxregexcompile}:
+
\begin{verbatim}
enum
{
Flags for regex matching to be used with \helpref{Matches()}{wxregexmatches}.
These flags are mainly useful when doing several matches in a long string
-to prevent erroneous matches for {\tt '\^'} and {\tt '\$'}
+to prevent erroneous matches for {\tt '^'} and {\tt '\$'}:
+
\begin{verbatim}
enum
{
}
\end{verbatim}
+\wxheading{Examples}
+
+A bad example of processing some text containing email addresses (the example
+is bad because the real email addresses can have more complicated form than
+{\tt user@host.net}):
+
+\begin{verbatim}
+wxString text;
+...
+wxRegEx reEmail = "([^@]+)@([[:alnum:].-_].)+([[:alnum:]]+)";
+if ( reEmail.Matches(text) )
+{
+ wxString text = reEmail.GetMatch(email);
+ wxString username = reEmail.GetMatch(email, 1);
+ if ( reEmail.GetMatch(email, 3) == "com" ) // .com TLD?
+ {
+ ...
+ }
+}
+
+// or we could do this to hide the email address
+size_t count = reEmail.ReplaceAll(text, "HIDDEN@\\2\\3");
+printf("text now contains %u hidden addresses", count);
+\end{verbatim}
+
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxRegEx::wxRegEx}\label{wxregexwxregex}
Default ctor: use \helpref{Compile()}{wxregexcompile} later.
-\membersection{wxRegEx::wxRegEx}\label{wxregexwxregex}
-
\func{}{wxRegEx}{\param{const wxString\& }{expr}, \param{int }{flags = wxRE\_DEFAULT}}
Create and compile the regular expression, use
\func{bool}{Compile}{\param{const wxString\& }{pattern}, \param{int }{flags = wxRE\_DEFAULT}}
-Compile the string into regular expression, return {\tt TRUE} if ok or {\tt FALSE}
+Compile the string into regular expression, return {\tt TRUE} if ok or {\tt FALSE}
if string has a syntax error.
\membersection{wxRegEx::IsValid}\label{wxregexisvalid}
{\it text}, with the text in {\it replacement} and return number of matches
replaced (maybe $0$ if none found) or $-1$ on error.
-The replacement text may contain back references {\tt \\number} which will be
+The replacement text may contain back references {\tt $\backslash$number} which will be
replaced with the value of the corresponding subexpression in the
-pattern match. {\tt \\0} corresponds to the entire match and {\tt \&} is a
+pattern match. {\tt $\backslash$0} corresponds to the entire match and {\tt \&} is a
synonym for it. Backslash may be used to quote itself or {\tt \&} character.
{\it maxMatches} may be used to limit the number of replacements made, setting