xsl-list
[Top] [All Lists]

[xsl] Special characters in regex expression

2014-07-23 09:54:57
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>