xsl-list
[Top] [All Lists]

Re: java Regex call

2003-07-10 05:55:01
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



<Prev in Thread] Current Thread [Next in Thread>