And a script to create the regex from a word list. My apologies if this
stuff turns out useless - but you can get absorbed in this mince...
on mouseUp
-- string to search * SHOULD MATCH
put "The purple dinosaur inadvertently stepped on the cat." & return &
"The white dog howled." into tString
-- DUFF string to search ** SHOULD NOT MATCH
put "The purple dinosaur inadvertently stepped on the cat." & return &
"The white dinosaur howled." into tString2
-- words to find
put "cat,dinosaur,dog" into tWords
-- build the pattern to match the words
put "(" into tWordsPattern
repeat for each item tWord in tWords
put tWord & "|" after tWordsPattern
end repeat
put ")" into char -1 of tWordsPattern
-- build the whole damn regex
put num of items in tWords into tTotalWords
put 0 into tCurrentWord
put "(?is)" into tRegex
repeat for each item tWord in tWords
add 1 to tCurrentWord
put "\b" after tRegex
if tCurrentWord > 1 then
put "(?!" after tRegex
repeat with i = 1 to tCurrentWord - 1
put "\" & i & "|" after tRegex
end repeat
delete char -1 of tRegex
put ")" after tRegex
end if
put tWordsPattern & "\b" after tRegex
if tCurrentWord < tTotalWords then
put ".*" after tRegex
end if
end repeat
-- test our regex against the 2 test strings
put matchText(tString, tRegex) & return & matchText(tString2, tRegex)
end mouseUp
John Craig wrote:
I still think it's working ok - someone slap me if I'm wrong.
The (?! is looking ahead and saying 'you can't begin with.
(?!\1) - you can't begin with the first match
(?!\1|\2) - you can't begin with the 1st or second match
JC
J. Landman Gay wrote:
Sorry if this comes through twice, I'm having trouble sending to the
list.
I need a matchtext/regex that will tell me if all supplied words
exist in a block of text, regardless of their order, and ignoring
carriage returns.
For example, see if all these words: dog dinosaur cat
exist in this text:
"The purple dinosaur inadvertently stepped on the cat.<cr>
The white dog howled."
Should return true. Is there such a thing?
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution