Re: [xsl] Escaping Curly Braces in Regex

Subject: Re: [xsl] Escaping Curly Braces in Regex
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Thu, 01 Oct 2009 12:16:45 +0200
rowan@xxxxxxxxxxxxxxxxxxxxx wrote:

If in an XSLT 2 regular expression I want to match a literal curly brace,
what do I have to put in the regex?

For example, if my input string is " {some text}"

And I want to match any string that is enclosed in curly braces, with
optional whitespace before and after, I've tried:

matches(., '^\s*{.+}\s*$')
matches(., '^\s*{{.+}}\s*$')
matches(., '^\s*\{.+\}\s*$')
matches(., '^\s*\{{.+\}}\s*$')

There are inside a predicate inside a select attribute in my XSL file. All
are rejected as syntax errors.

What's the right way of doing this?

This matches(. , '^\s*\{[^\}]+\}\s*$') works for me with Saxon and Altova.

--

	Martin Honnen
	http://msmvps.com/blogs/martin_honnen/

Current Thread