Non-greedy regex captures

SyntaxEditor for Windows Forms Forum

Posted 16 years ago by Marianne
For switching from HTML to VBScript, I have a lookahead defined like this (it's similar to the one in your sample but account for additional spaces between the operators):
script {LineTerminatorWhitespaceMacro}* language {LineTerminatorWhitespaceMacro}* = {LineTerminatorWhitespaceMacro}* \" (VBS | VBScript)
This will work with the first line but not the second:

<script language = "VBScript">
<script id = "MyID" language = "VBScript">
With standard regex I would use something like:
script .*? language which would handle all characters up to the first occurrence of the word language. But in looking over the docs I don't see a way to implement a non-greedy capture. If this isn't available then what alternative regex construct can I use to achieve the same result? Thanks.

------------------------------- Marianne

Comments (3)

Posted 16 years ago by Actipro Software Support - Cleveland, OH, USA
Hi Marianne,

Our regex engine doesn't currently support non-greedy regex captures. That's one of the few remaining features that the .NET engine has that ours doesn't. I can add it to the TODO list for you though.

Actipro Software Support

Posted 9 years ago by Jon Heaton

Is this supported in the latest version (2012.1.0302)?

Posted 9 years ago by Actipro Software Support - Cleveland, OH, USA

Hi Jon,

Sorry but there haven't been any changes related to that.

Actipro Software Support

The latest build of this product (v21.1.1) was released 1 month ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.