X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d290a92376232ed2469b8723453ea086e23c0d0..5c5428f9132822d5d39b02c46dd89464adff9f1f:/docs/latex/wx/regex.tex diff --git a/docs/latex/wx/regex.tex b/docs/latex/wx/regex.tex index 19a98ccf71..6473168c15 100644 --- a/docs/latex/wx/regex.tex +++ b/docs/latex/wx/regex.tex @@ -51,6 +51,7 @@ No base class \wxheading{Data structures} Flags for regex compilation to be used with \helpref{Compile()}{wxregexcompile}: + \begin{verbatim} enum { @@ -79,7 +80,8 @@ 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 \verb|'^'| and \verb|'$'| +to prevent erroneous matches for {\tt '\textasciicircum'} and {\tt '\$'}: + \begin{verbatim} enum { @@ -91,6 +93,31 @@ 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} @@ -99,8 +126,6 @@ enum 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 @@ -116,14 +141,14 @@ dtor not virtual, don't derive from this class \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} \constfunc{bool}{IsValid}{\void} -Return {\tt TRUE} if this is a valid compiled regular expression, {\tt FALSE} +Return {\tt true} if this is a valid compiled regular expression, {\tt false} otherwise. \membersection{wxRegEx::GetMatch}\label{wxregexgetmatch} @@ -138,7 +163,7 @@ May only be called after successful call to \helpref{Matches()}{wxregexmatches} and only if {\tt wxRE\_NOSUB} was {\bf not} used in \helpref{Compile()}{wxregexcompile}. -Returns {\tt FALSE} if no match or if an error occured. +Returns {\tt false} if no match or if an error occured. \constfunc{wxString}{GetMatch}{\param{const wxString\& }{text}, \param{size\_t }{index = 0}} @@ -154,7 +179,7 @@ and only if {\tt wxRE\_NOSUB} was {\bf not} used in \constfunc{bool}{Matches}{\param{const wxChar* }{text}, \param{int }{flags = 0}} Matches the precompiled regular expression against the string {\it text}, -returns {\tt TRUE} if matches and {\tt FALSE} otherwise. +returns {\tt true} if matches and {\tt false} otherwise. Flags may be combination of {\tt wxRE\_NOTBOL} and {\tt wxRE\_NOTEOL}. @@ -168,20 +193,20 @@ Replaces the current regular expression in the string pointed to by {\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 -it to $1$, for example, will only replace first occurence (if any) of the +it to $1$, for example, will only replace first occurrence (if any) of the pattern in the text while default value of $0$ means replace all. \membersection{wxRegEx::ReplaceAll}\label{wxregexreplaceall} \constfunc{int}{ReplaceAll}{\param{wxString* }{text}, \param{const wxString\& }{replacement}} -Replace all occurences: this is actually a synonym for +Replace all occurrences: this is actually a synonym for \helpref{Replace()}{wxregexreplace}. \wxheading{See also} @@ -192,7 +217,7 @@ Replace all occurences: this is actually a synonym for \constfunc{int}{ReplaceFirst}{\param{wxString* }{text}, \param{const wxString\& }{replacement}} -Replace the first occurence. +Replace the first occurrence. \wxheading{See also}