Re: [xsl] Ungready Flag on Regex

Subject: Re: [xsl] Ungready Flag on Regex
From: "Christophe Marchand cmarchand@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 8 Oct 2020 16:28:13 -0000
Thanks ! Regex will always strange to me...

XMLPrague really must be in presential mode. I have too many beers to drink with you !

Christophe

Le 08/10/2020 C 16:54, Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx a C)critB :


On 08.10.2020 16:26, Liam R. E. Quin liam@xxxxxxxxxxxxxxxx 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">
B <doc>
B B B <xsl:analyze-string
B B B B B select="'Comments are delimited by **/* */** or prefixed by **//**'"
B B B B B regex="\*\*(.*?)\*\*">
B B B B B <xsl:matching-substring>
B B B B B B B <b>
B B B B B B B B B <xsl:value-of select="regex-group(1)"/>
B B B B B B B </b>
B B B B B </xsl:matching-substring>
B B B B B <xsl:non-matching-substring>
B B B B B B B <xsl:value-of select="."/>
B B B B B </xsl:non-matching-substring>
B B B </xsl:analyze-string>
B </doc>
</xsl:template>

Current Thread