Re: Ungready Flag on Regex

"Christophe Marchand [email protected]" <[email protected]>
Newsgroups gmane.text.xml.xsl.general.mulberrytech
Message-ID <[email protected]>
That's not the problem. Changing to <xsl:sequence .../> is worse, it 
creates some pseudo-atomic-values instead of text() nodes.

Christophe

Le 22/10/2020 à 23:48, Martin Honnen [email protected] a écrit :
> On 22.10.2020 23:14, Christophe Marchand [email protected] wrote:
>> 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 [email protected]
>> a écrit :
>>>
>>>
>>> On 08.10.2020 16:26, Liam R. E. Quin [email protected] 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>
>>>
>
> I think the issue is your use of text value templates
>
> <xsl:non-matching-substring>{pt:replaceTextArobase(.)}</xsl:non-matching-substring> 
>
> that strips any elements; you need to use
>   <xsl:non-matching-substring>
>     <xsl:sequence select="pt:replaceTextArobase(.)"/>
>   </xsl:non-matching-substring>
> 
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386
or by email: [email protected]
--~--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.