On 11/03/2015 05:33 PM, rurpy--- via Python-list wrote: > I consider regexs more fundemental. One need not even be a programmer > to use them: consider grep, sed, a zillion editors, database query > languages, etc.
Grep can use regular expressions (and I do so with it regularly), but it's default mode is certainly not regular expressions, and it is still very powerful. I've never used regular expressions in a database query language; until this moment I didn't know any supported such things in their queries. Good to know. How you would index for regular expressions in queries I don't know. > When there is a mini-language explicitly developed for describing > string patterns, why, except is very simple cases, would one not > take advantage of it? Mainly because the programming language itself often can do it just as cleanly and just as fast (slicing, string methods, etc). I certainly programmed for many years without needing regular expressions in my small projects. In fact, REs are a bit of a pain to use in, say, C or C++, requiring a library. With Python they are much more readily accessible so I use them much more. But honestly it wasn't until college when I learned about finite state automata that I really grasped what regular expressions were and how to use them. > Beyond trivial operations a regex, although > terse (overly perhaps), is still likely to be more understandable > more maintainable than bunch of ad-hoc code. And the relative ease > of expressing complex patterns means one is more likely to create > more specific patterns, resulting in detecting unexpected input > earlier than with ad-hoc code. Maybe, maybe not. Using Python string class methods is probably more clear when such methods are sufficient. -- https://mail.python.org/mailman/listinfo/python-list