Subject: Re: 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/
|