| 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 |