Hi,

I want to scan a long chunk of multiline text and extract all lines that contain the string gClassMangle (in the form of '__##<classname>' where ## is the length of the class name). I'm was trying to use the following script - the basic idea is to find the first match, get it, then delete everything up to and including it from the text and repeat.

put "__" & tClassLength & gClassName into gClassMangle
put "(\n([^_]*)" & gClassMangle & "([^\n]*)\n)" into tPatter

  repeat forever
    put empty into startMatch
    put empty into endMatch
    if matchChunk(gJumpText, tPattern, startMatach, endMatch) then
      get char startMatch to endMatch of gJumpText
        answer it
      delete char 1 to endMatch of gJumpText
    else
        exit repeat
   end if
end repeat

But it was matching everything from the beginning of the text to the end of the first match. I realized this was because it was doing a greedy match (as regex is), and so didn't just match from the nearest return character (beginning of the line), but from the first return character (beginning of the text).

Is there an elegant way (without having to count back characters and such from endMatch) to get matchChunk to do what I want and do a "non-greedy" match?

Jim

_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to