XPath has a number of basic functions for working with strings:
starts-with(main_string, prefix_string) 
contains(containing_string, contained_string) 
substring(string, offset, length) 
substring-before(string, marker-string) 
substring-after(string, marker-string) 
string-length(string) 
normalize(string) 
translate(string, replaced_text, replacement_text) 
concat(string1, string2, ...) 
The strings these operate on are generally the values of nodes
These may be part of any select expression, but are most commonly used 
in xsl:value-of. 
XPath does not, however, provide full Perl or POSIX regular expressions.
XSLT/XPath 2.0 might add these