Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - >Thread Next - Re: [xsl] Escaping Curly Braces in Regex Re: [xsl] Escaping Curly Braces in RegexTo: xsl-list@-----.------------.--- Date: 10/1/2009 10:43:00 AM >rowan@s... 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 --~------------------------------------------------------------------ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ or e-mail: <mailto:xsl-list-unsubscribe@l...> --~-- | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
