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@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@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@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
_______________________________________________
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

Reply via email to