]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/regex.tex
More docs.
[wxWidgets.git] / docs / latex / wx / regex.tex
index 6b2168fd2a52a4326fa95c36d9dafea1e5dc54a9..27c4928c74d152d105b4abda00e724f9f1fe5021 100644 (file)
@@ -33,7 +33,7 @@ the library.
 On platforms where a system library is available, the default is to use
 the builtin library for Unicode builds, and the system library otherwise.
 It is possible to use the other if preferred by selecting it when building
-the wxWindows.
+the wxWidgets.
 
 \wxheading{Derived from}
 
@@ -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}.