So, playing around a bit more I discovered “a.*” does not return words that “start with”, but rather words that “contain” the letter. So that explains “apple, banana”. What isn’t clear to me is I get the exact same result using “a.” with no asterisk, but if I search for “y.” it returns nothing rather than cherry. Consequentially I realize my confusion is due to a limitation of what these characters mean to regex. Can anyone clarify for me what the “.” and “*” are doing to change the filter?
Thanks > On Mar 7, 2022, at 11:05 AM, Mark Smith <marksmith...@gmail.com> wrote: > > I am not an expert in regex or filtering by any means so Quentin’s message > prompted me to take a closer look. I started with the dictionary entry for > filter and I found this simple example: > filter items of "apple,banana,cherry" with regex pattern "b.*" > > Since we are not specifying a destination, the result is going into the “it" > variable. I tried that and got the expected result “banana”. Next I tried > “c.*” and got cherry and “d.*’ and got nothing. All good. Finally I tried > “a.*” and got “apple, banana”. I was a bit surprised by that. Does anyone > know why “a.*” breaks the pattern of returning a single item? Does it have > something to do with the item being in the first position in the string? > > BTW, I did try putting the result into a variable and displaying that (… into > temp; put temp) and got the same result. > > Also, I thought I might try a few experiments using “without regex pattern” > and using “a.*” as the argument returned “cherry” so at least whatever it is > doing it is consistent. > > Mark > > >> On Mar 7, 2022, at 8:58 AM, Quentin Long via use-livecode >> <use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>> wrote: >> >> sez j. landman gay: >>> Interesting idea. There are 25 letters on each board, some are always >>> repeats. I think I'd need >>> a good regex so I wouldn't have to run the filter command multiple times. >>> How's your regex? >> >> I see you've already implemented something, but just for grins, here's my >> thought re: the One True Regex for this situation: >> AbsentChars is the name of a variable which contains all the letters that >> *aren't* on the board. My first attempt at the regex is… >> filter lines of WordList without "*[AbsentChars]*" >> However, that will remove all words that contain at least one letter in the >> specific character string "absentchars", which is not what I want. So, bring >> out the "do" keyword… >> do ("filter lines of WordList without" && quote & "*" & AbsentChars & "*" & >> quote) >> >> "Bewitched" + "Charlie's Angels" - Charlie = "At Arm's Length" Read the >> webcomic at [ http://www.atarmslength.net <http://www.atarmslength.net/> ]! >> If you like "At Arm's Length", support it at [ >> http://www.patreon.com/DarkwingDude <http://www.patreon.com/DarkwingDude> ]. >> _______________________________________________ >> use-livecode mailing list >> use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com> >> Please visit this url to subscribe, unsubscribe and manage your subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode