Compare numeric strings with leading zeros
Lyn Teyla
lyn.teyla at gmail.com
Fri Sep 4 01:40:21 EDT 2015
Thierry Douez wrote:
> put "\Q^5$\E" into myVeryStrongPassword
> if matchText( userTyping, myVeryStrongPassword ) then ...
Here is indeed an example of the danger involved with the use of regular expressions.
It can be easy to miss things at times, which is why I simply cautioned against using it, rather than completely advise against it.
There are many ways to skin a cat, so yes, whilst it *is* possible to utilize Regex to perform certain tasks if done correctly, it's also easy to make mistakes (hence the caution) even for those who are comfortable with Regex.
> Ok, now I'm waiting for what I've missed...
Your revised example was missing a "^" at the beginning and a "$" at the end.
put "^\Q^5$\E$" into myVeryStrongPassword
Here is an example showing the issue:
--------
on mouseUp
local userTyping = "00^5$6"
local myVeryStrongPassword = "^5$"
put stringsAreEqual(userTyping, myVeryStrongPassword) & cr into msg
put stringsAreEqual.err(userTyping, myVeryStrongPassword) & cr after msg
end mouseUp
function stringsAreEqual pString1, pString2
return matchText(pString1, "^\Q" & pString2 & "\E$")
end stringsAreEqual
function stringsAreEqual.err pString1, pString2
return matchText(pString1, "\Q" & pString2 & "\E")
end stringsAreEqual.err
--------
Hope this clarifies things.
Lyn
More information about the use-livecode
mailing list