]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/regex.tex
Remove use of GetVolumeInformation since it causes long delays on network drives.
[wxWidgets.git] / docs / latex / wx / regex.tex
index 13d8506b208e18178e0caf97c689eef8b6009f56..27c4928c74d152d105b4abda00e724f9f1fe5021 100644 (file)
@@ -6,7 +6,7 @@
 %% Created:     14.07.01
 %% RCS-ID:      $Id$
 %% Copyright:   (c) 2001 Vadim Zeitlin
-%% License:     wxWidgets license
+%% License:     wxWindows license
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \section{\class{wxRegEx}}\label{wxregex}
@@ -98,22 +98,26 @@ is bad because the real email addresses can have more complicated form than
 \begin{verbatim}
 wxString text;
 ...
-wxRegEx reEmail = "([^@]+)@([[:alnum:].-_].)+([[:alnum:]]+)";
+wxRegEx reEmail = wxT("([^@]+)@([[: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?
+    if ( reEmail.GetMatch(email, 3) == wxT("com") ) // .com TLD?
     {
         ...
     }
 }
 
 // or we could do this to hide the email address
-size_t count = reEmail.ReplaceAll(text, "HIDDEN@\\2\\3");
+size_t count = reEmail.ReplaceAll(text, wxT("HIDDEN@\\2\\3"));
 printf("text now contains %u hidden addresses", count);
 \end{verbatim}
 
+\wxheading{Include files}
+
+<wx/regex.h>
+
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{wxRegEx::wxRegEx}\label{wxregexwxregex}
@@ -159,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 occurred.
 
 \constfunc{wxString}{GetMatch}{\param{const wxString\& }{text}, \param{size\_t }{index = 0}}
 
@@ -184,10 +188,24 @@ and only if {\tt wxRE\_NOSUB} was {\bf not} used.
 
 \constfunc{bool}{Matches}{\param{const wxChar* }{text}, \param{int }{flags = 0}}
 
+\constfunc{bool}{Matches}{\param{const wxChar* }{text}, \param{int }{flags}, \param{size\_t }{len}}
+
+\constfunc{bool}{Matches}{\param{const wxString\& }{text}, \param{int }{flags = 0}}
+
 Matches the precompiled regular expression against the string {\it text},
 returns {\tt true} if matches and {\tt false} otherwise.
 
-Flags may be combination of {\tt wxRE\_NOTBOL} and {\tt wxRE\_NOTEOL}.
+{\it Flags} may be combination of {\tt wxRE\_NOTBOL} and {\tt wxRE\_NOTEOL}.
+
+Some regex libraries assume that the text given is null terminated, while
+others require the length be given as a separate parameter. Therefore for
+maximum portability assume that {\it text} cannot contain embedded nulls.
+
+When the {\it Matches(const wxChar *text, int flags = 0)} form is used,
+a {\it wxStrlen()} will be done internally if the regex library requires the
+length. When using {\it Matches()} in a loop
+the {\it Matches(text, flags, len)} form can be used instead, making it
+possible to avoid a {\it wxStrlen()} inside the loop.
 
 May only be called after successful call to \helpref{Compile()}{wxregexcompile}.