XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition (611 page)

replace($input, “

([0-9]+)([A-Z]+)([0-9]+)$”, “$1-$2-$3”)

If you run this with the input string
23MAR2008
, the result will be
23-MAR-2008
. (Note the use of an anchored regex here to match and replace the entire string.)

If the
$
sign is followed by more than one digit, for example
($823)
, the system will try to locate the 823rd matching subexpression. If the regex doesn't contain that many subexpressions, it will assume that the
3
is an ordinary character and will look for the 82nd subexpression. If that still fails, it will look for the 8th subexpression. If that fails yet again, it will replace the
$8
by a zero-length string, so the final output will be
(23)
.

Other books

Breaking Gods by Viola Grace
Snowballs in Hell by Eve Langlais
Desert Gift by Sally John
Abduction by Varian Krylov
Trust the Focus by Megan Erickson
A Tiger in Eden by Chris Flynn
Forever Changed by Tiffany King
The Last Good Knight by Tiffany Reisz