Regular expressions
Christian Gollwitzer
auriocus at gmx.de
Wed Nov 4 02:21:45 EST 2015
Am 04.11.15 um 04:48 schrieb Steven D'Aprano:
> On Wednesday 04 November 2015 11:33, rurpy at yahoo.com wrote:
>
>>> Not quite. Core language concepts like ifs, loops, functions,
>>> variables, slicing, etc are the socket wrenches of the programmer's
>>> toolbox. Regexs are like an electric impact socket wrench. You can do
>>> the same work without it, but in many cases it's slower. But you have to
>>> learn the other hand tools first in order to really use the electric
>>> driver properly (understanding torques, direction of threads, etc), lest
>>> you wonder why you're breaking off so many bolts with the torque of the
>>> impact drive.
>>
>> I consider regexs more fundemental
>
> I'm sure that there are people who consider the International Space Station
> more fundamental than the lever, the wedge and the hammer, but they would be
> wrong too.
>
> Given primitives for branching, loops and variables, you can build support
> for regexes. Given regexes, how would you build support for variables?
>
> Of course, you could easily prove me wrong.
You *know* that they are not equivalent, I assume? regexes are
equivalent to finite state machines, which are less powerful than Turing
machines, and even less powerful than stack machines. You can't even
construct a regexp which validates, if parentheses are balanced.
What rurpy meant, was that regexes can surface to a computer user
earlier than variables and branches; a user who does not go into the
depth to actually program the machine, might still encounter them in a
text editor or database engine. Even some web forms allow some limited
form, like e.g. the DVD rental here or Google.
Christian
More information about the Python-list
mailing list