xsl-list
[Top] [All Lists]

Re: [xsl] Ungready Flag on Regex

2020-10-22 16:14:10
For sure, regex are strange to me, even if I think they are really usefull.

So, when a regex king give me the right regex to do exactly what I want, I take this regex, and I adapt it to other similar use-cases.

My first problem was with comments, and I've adapted it to other kind of markers :

**bold**
$$code$$
@@link@@

The first two are Ok, but I can not make it run for the third case.

I join the XSL, a XSpec file, I have one scenario that fails. If someone could :

1. give me the solution
2. explain me why it was failing
3. explain me why the solution works

it would be really a good thing.

In France, we now have a curfew at 9pm. There a lot of beer that can not be sold ; i may have a barrel for the guy who help me !

Best regards,
Christophe

Le 08/10/2020 à 16:54, Imsieke, Gerrit, le-tex gerrit(_dot_)imsieke(_at_)le-tex(_dot_)de a écrit :


On 08.10.2020 16:26, Liam R. E. Quin liam(_at_)fromoldbooks(_dot_)org wrote:
You want [^*]*?

Thinking of the brilliant potential for misunderstanding that this answer entails.

Christophe: I don't understand why you are asking me whether I want [^*]*.

Jokes aside, I think you need the non-greedy question mark modifier, but not on [^*]*. You use it to make .* non-greedy. Otherwise it will stop at the first '*' that it encounters.

This works:

<xsl:template name="xsl:initial-template">
  <doc>
    <xsl:analyze-string
      select="'Comments are delimited by **/* */** or prefixed by **//**'"
      regex="\*\*(.*?)\*\*">
      <xsl:matching-substring>
        <b>
          <xsl:value-of select="regex-group(1)"/>
        </b>
      </xsl:matching-substring>
      <xsl:non-matching-substring>
        <xsl:value-of select="."/>
      </xsl:non-matching-substring>
    </xsl:analyze-string>
  </doc>
</xsl:template>

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

Attachment: format-text.xsl
Description: XML document

Attachment: format-text.xspec
Description: XML document

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