That is nice to know! I was thinking I would speed up the longer text processing. You just did me a favor and save me a lot of time plus made it easier and faster by not using regex for text processing.
I still appreciate the info others gave because I know I will use regex from time to time. John Balgenorth On Aug 11, 2014, at 5:22 AM, Peter M. Brigham <pmb...@gmail.com> wrote: > I have very occasionally tried regex and can see that it is very powerful, > but to me it's also extremely opaque and I've never climbed far up the rather > steep learning curve. Partly this is because I've found that essentially all > of the stuff I would need regex for is do-able in native LC, whose string > manipulation capabilities are marvelous -- and much more intuitive for me. > Plus, LC is much faster than regex when chewing through very large data sets, > as long as you remember to "repeat for each…" > > My two cents. > > -- Peter > > Peter M. Brigham > pmb...@gmail.com > http://home.comcast.net/~pmbrig > > Just wondering... when someone asks you, 'A penny for your thoughts' > and you put your two cents in, what happens to the other penny? > > > On Aug 9, 2014, at 11:29 PM, JB wrote: > >> Thanks for the info about regex. I bookmarked >> the website and will be using your advice. I am >> pretty new to regex and even though I’ve spent >> a lot of time researching it you have helped me >> tremendously. >> >> John Balgenorth >> >> >> On Aug 9, 2014, at 8:15 PM, Kay C Lan <lan.kc.macm...@gmail.com> wrote: >> >>> On Sun, Aug 10, 2014 at 9:08 AM, JB <sund...@pacifier.com> wrote: >>>> One of the things I am interested in seeing more handlers >>>> and examples is regex. It seems to be a very powerful >>>> tool with very few LiveCode examples. >>> >>> The matchChunk and matchText functions are pretty straight forward to >>> use, it's building the regex that can be difficult if you don't live >>> with it regularly. If what you really need is examples of regex then I >>> highly recommend this online regex builder: >>> >>> http://regex101.com/#pcre >>> >>> The thing I like about it is that you can choose the 'Flavor' of regex >>> it uses, so unlike other online regex builders that use Javascript, >>> you can choose the same library that Livecode uses: PCRE. So if it >>> works on this site it should work in LC. >>> >>> Even better, if you click on the Community tab at the top of the page >>> it will present you with a list of 100s and 100s of community provided >>> examples of regex, explains what they do, and it's as simple as copy >>> and paste into your matchChunk or matchText function to test in LC. >>> >>> I will warn you though of one gotcha that is easy to trip on if you're >>> an occasional user of regex + LC. The standard matchText function >>> looks like this: >>> >>> matchTex(yourDataVar,"regex(capturethis)expression",yourCapturedVar) >>> >>> so any matches within () will be placed in your variable place holder. >>> >>> In regex the | character is used as OR >>> >>> so you might be looking for lowercase jpg file names, but you want >>> just the name, not the extension: >>> >>> ([a-z]+)\.jpg will work, but not if you also have some with a jpeg >>> extension. >>> >>> ([a-z]+.jpeg will work for those, so these could be combined with the >>> | identifier: >>> >>> ([a-z]+)\.jpg|([a-z]+)\.jpeg >>> >>> Now I appreciate the regex experts will point out there is a much >>> better way to solve this problem than using |, but the point of this >>> is, if you use | in your regex, and place it in matchText or >>> matchChunk, you no longer have a single placeholder, so your matchText >>> function has to be amended accordingly: >>> >>> matchText(yourDataVar,"([a-z]+)\.jpg|([a-z]+)\.jpeg",myJpgFile,myJpegFile) >>> >>> It is easy, when copying regex off such sites listed above, or >>> building your own, and you know you are only finding x number of data >>> bites, to assume that that is how many capture variables you need, but >>> if OR is used, then you can easily end up needing double or triple the >>> number of variables. >>> >>> Rule of thumb, always count the number of capturing () in the regex >>> and ensure you have the same number of allocated capturing variables. >>> >>> HTH >>> >>> _______________________________________________ >>> 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 > _______________________________________________ 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