AW: How trim: Bug in RegExp engine
    Dave Cragg 
    dcragg at lacscentre.co.uk
       
    Sun Oct 23 06:59:44 EDT 2005
    
    
  
On 23 Oct 2005, at 11:23, Dave Cragg wrote:
>>
>> I assumed that Revolution would do what it promised and didn't  
>> check this.
>>
>> Try
>> answer replaceText("A C","^ *","")
>> I get "C", which obviously is not correct.
>> If I remove the "*", I get "A C"
>>
>
> This may be a bug. (I'm not sure.)
To expand on why I wasn't sure if it was a bug or not.
A regular expression consisting of a single character (or single  
character set) followed by the * (zero or more matches) quantifier  
will always match. Therefore it's not really a useful construction.  
If it always matches, replaceText will presumably always try to  
replace the matched text. But in this case, it has matched an empty  
string, so I guess the engine is confused about where the replacement  
should be made. As far as I know, replaceText always works when the  
above construction is used in combination with another expression  
(e.g yx*, x*y, yx*z), so if it is a bug, I don't think it can be  
considered a serious  one.
>> answer replaceText("A C","^ +","")
The above works because the match can fail, in which case no  
replacement is made.
Cheers
Dave
    
    
More information about the use-livecode
mailing list