Newbie Regex confusion

Brian Milby brian at milby7.com
Wed Aug 1 13:24:18 EDT 2018


Don’t have time to test right now but something along these lines:

\b[0-9] ?(yr|yo|year)

\b is a word break
? Means 0 or 1 of previous char (space)
| is alternate separator

Thanks,
Brian
On Aug 1, 2018, 11:58 AM -0500, Stephen MacLean via use-livecode <use-livecode at lists.runrev.com>, wrote:
> Hi David,
>
> While no expert on Regex, there are some online tools and libraries that you can use to work out the appropriate regex before putting it into your LC script.
>
> Some sites I use:
>
> https://www.regextester.com
>
> https://regex101.com
>
> https://www.rexegg.com/regex-quickstart.html
>
> and
>
> http://www.regexlib.com
>
> which has a lot of pre-built regex codes and examples. Most work without issue when putting them into LCS.
>
> You can also take a look, if you haven’t already, at an example that I made using LCS and LCB, rsIsValid: https://forums.livecode.com/viewtopic.php?t=26653
>
> HTH!
>
> Steve MacLean
>
> > On Aug 1, 2018, at 12:34 PM, David V Glasgow via use-livecode <use-livecode at lists.runrev.com> wrote:
> >
> >
> > I am just dipping my toes in the shallows of regex, and have already stubbed my toe on a rock. Well two, actually.
> >
> > I am looking to identify the lines of a field (that contain lots of words and symbols with no particular structure or separator ) finding age related terms, which can be in a variety of forms. I made a list of the terms that I want to use.
> >
> > First problem:
> >
> > I use the following filter line
> >
> > filter lines of it with regex pattern i
> >
> > … where i is a keyword lifted from my list. Oddly, where i is just ordinary characters, it works fine. However if it includes a wildcard symbol, it chokes with “execution error at line 9 (matchChunk: error in pattern expression), char 1”. For example, if i = child* (intending to match child, childlike, childhood, childish etc). I know that’s a bad example, because just ‘child' will do the trick. However, there seems to be some voodoo needed to put a regex expression into a variable, is that right?
> >
> > Second problem is the sheer brain ache from trying to work out how to efficiently match lines containing 8 yo, 8 yr, 8yr, 8yo, 8 year and 8year, but not 18 year, 38yo etc etc.
> >
> > The simplest way would be to include all variants in the keyword list. However, that means more sweeps through the repeat loop. And it wouldn’t solve the problem of excluding 18 yo, 28 yo matching, unless I can construct a regex expression which will test the absence of any number between 1 and 9 immediately before the actual string I am finding.
> >
> > Am I on a wild goose chase here?
> >
> >
> >
> >
> > Best Wishes,
> > David Glasgow
> >
> >
> > <http://www.i-psych.co.uk/> <https://twitter.com/iPsychApps>
> >
> > <https://twitter.com/iPsychApps> <http://uk.linkedin.com/in/davidvglasgow>
> > <http://uk.linkedin.com/in/davidvglasgow>
> > _______________________________________________
> > use-livecode mailing list
> > use-livecode at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



More information about the use-livecode mailing list