xsl-list
[Top] [All Lists]

Re: [xsl] Special characters in regex expression

2014-07-23 14:55:32



Exclamation mark is not a special character in XPath regular
expressions, and there does not need to be (and must not be)
escaped.
Negative lookaheads are not supported in the XPath regular
expression dialect.
You can't assume that all regular expression
dialects are the same.
Michael
Kay
Saxonica
 
Dear All,



I am using xsl:analyze-string to retrieve and replace punctuation,

however, I got the following error:



 Error in regular expression: net.sf.saxon.trans.XPathException:
Syntax

error at char 6 in regular expression: Escape character '!' not
allowed.



How should I escape and match '?' and '!' ? I am also using a
negative

look-ahead, why isn't that working?



Here is a sample from my code, thanks,



Gabor





<xsl:template match="//TEI:p//text()[ not

       
((parent::TEI:note)|(parent::TEI:hi)|(parent::TEI:date))]">

 <xsl:analyze-string select="."
regex="(\.|\!|\?)(?!\)|\.|\d|\w)">

           

           
<xsl:matching-substring>


               


               
<xsl:element name="seg"


namespace="http://www.tei-c.org/ns/1.0";><xsl:value-of

select="."/></xsl:element>

          
</xsl:matching-substring>

           
<xsl:non-matching-substring>


               
<xsl:value-of select="."/>

           
</xsl:non-matching-substring>

       
</xsl:analyze-string>


--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>