xsl-list
[Top] [All Lists]

Re: [xsl] analyze-string help?

2012-06-10 02:00:27
A dash ('-') in the character set wildcard ("[...]") indicates a
character range (as you know).

You've just overlooked that using a '-' literally as a member in such
a set should be written first, after the opening bracket.

   regex="([-A-Za-z0-9 ,./]*) - ([ A-Za-z0-9/]*)"

Otherwise you include the range from space to comma, which just misses the dash.

-W

On 10 June 2012 07:40, Dan Vint <dvint(_at_)dvint(_dot_)com> wrote:

I have the following value in the $title variable without the quotes
"foo-119 Mode Module Batteries - Installation"

I have a series of strings like this where I want to separate the content 
after the last "space dash space" from everything the proceeds that point. So 
I came up with the following:

<xsl:analyze-string select="$title" regex="([A-Za-z0-9 -,./]*) - ([ 
A-Za-z0-9/]*)">
     <xsl:matching-substring>
           <techname><xsl:value-of select="regex-group(1)"/></techname>
           <infoname><xsl:value-of select="regex-group(2)"/></infoname>
    </xsl:matching-substring>
    <xsl:non-matching-substring>
           <xsl:comment>NO MATCH for techname and infoname "<xsl:value-of 
select="$title"/>"</xsl:comment>
    </xsl:non-matching-substring>
</xsl:analyze-string>

I'm getting this output:

       <!--NO MATCH for techname and infoname "foo-119 Mode Module Batteries 
- Installation"-->
<techname>119 Mode Module Batteries</techname>
<infoname>Installation</infoname>

I was expecting all dashes to be captured except for the last one or at least 
the first "space dash space", it looks like the pattern gets the "foo-" and 
flags it as mismatched and then captures the other two strings. Can you help 
me understand what is going on.

thanks
..dan

---------------------------------------------------------------------------
Danny Vint

Panoramic Photography
http://www.dvint.com

voice: 619-938-3610


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--