|
Subject: Re: [xsl] Escaping Curly Braces in Regex From: "rowan@xxxxxxxxxxxxxxxxxxxxx" <rowan@xxxxxxxxxxxxxxxxxxxxx> Date: Thu, 1 Oct 2009 06:42:56 -0400 |
>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?
Martin Honnen wrote:
>This
> matches(. , '^\s*\{[^\}]+\}\s*$')
>works for me with Saxon and Altova.
Yes, this works in the matches function. I guess the final } was being
matched by my .+, not by the final \}...
But now I need to do this:
<xsl:analyze-string select="." regex="^\s*\{([^\}]+)\}\s*$">
because I need to capture the the string between the braces. In Saxon this
gives me:
XPath syntax error at char 7 on line 43 in {^\s*\{([^}: Invalid character
'^' in expression.
What am I doing wrong this time?
Thanks - Rowan
--------------------------------------------------------------------
mail2web.com Enhanced email for the mobile individual based on Microsoft.
Exchange - http://link.mail2web.com/Personal/EnhancedEmail
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Escaping Curly Braces in , Martin Honnen | Thread | Re: [xsl] Escaping Curly Braces in , Martin Honnen |
| Re: [xsl] Escaping Curly Braces in , Martin Honnen | Date | Re: [xsl] Escaping Curly Braces in , Martin Honnen |
| Month |