|
Subject: Re: [xsl] java Regex call From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 10 Jul 2003 13:55:01 +0100 |
Dave,
> <xsl:analyze-string select="$input" regex="{$regex}">
> <xsl:matching-substring>
> <xsl:for-each select="for $i in (1 to 10) return $i">
> <xsl:if test="not(string-length(regex-group(.)) = 0)">
> <match><xsl:value-of select="regex-group(.)"/> </match>
> </xsl:if>
> </xsl:for-each>
> </xsl:matching-substring>
> <xsl:non-matching-substring>
> <mismatch><xsl:value-of select="."/></mismatch>
> </xsl:non-matching-substring>
> </xsl:analyze-string>
If you just want to get the matches and mismatches in a sequence, then
use:
<xsl:analyze-string select="$input" regex="{$regex}">
<xsl:matching-substring>
<match><xsl:value-of select="." /></match>
</xsl:matching-substring>
<xsl:non-matching-substring>
<mismatch><xsl:value-of select="." /></mismatch>
</xsl:non-matching-substring>
</xsl:analyze-string>
The result in the case you're trying will be:
<match>ABC_PARA</match>
<mismatch>_</mismatch>
<match>_PARA</match>
You should only use regex-group() if you want to get the substrings
within a matching substring that match a particular bracketed
subexpression within the regular expression.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] java Regex call, David Carlisle | Thread | RE: [xsl] java Regex call, David . Pawson |
| Re: [xsl] java Regex call, Jeni Tennison | Date | Re: [xsl] java Regex call, David Carlisle |
| Month |