[Python-ideas] Proposed convenience functions for re module
MRAB
python at mrabarnett.plus.com
Thu Jul 23 02:10:42 CEST 2009
Steven D'Aprano wrote:
> On Thu, 23 Jul 2009 07:38:11 am Mark Dickinson wrote:
>
>> Steven, could you show some examples of real(ish)-world use-cases
>> for one or both of these functions? Preferably including the code
>> that might directly follow a multimatch or multisearch call.
>
> I'm afraid that I don't use regexes anywhere near enough to champion
> this proposal in the face of serious opposition, or even skepticism. If
> this isn't a simple enough "no-brainer", then I'm going to have to pass
> the baton onto somebody else (assuming anyone actually likes this
> idea).
>
> This idea came about from the thread started by Sean Reifschneider,
> proposing adding regexes to strings. I thought (and Sean seemed to
> agree) that these convenience functions would solve his primary
> use-case. So this proposal isn't scratching an itch I have.
>
>
>> It's probably because I haven't used regexes widely enough, but
>> in all the potential examples I can come up with, either
>>
>> (1) the regexes are similar enough that they can be refactored into
>> a single regex (e.g., just concatenated with '|'), or
>>
>> (2) they're distinct enough that each regex needs its own handing,
>> so that the multimatch/multisearch would need to be followed by
>> a multiway 'if/elif/else' anyway; in this case, it seems that little
>> is gained.
>
> These are both reasonable approaches. This proposal isn't supposed to
> solve every multiple-regex-handling problem.
>
> So far support for this has been luke-warm. If anyone really likes this
> idea, please speak up, otherwise I'll let it drop.
>
If you want to try multiple regexes until one matches then the approach
with re.match accepting a tuple of patterns would, it seems to me, to be
the one that requires the smallest change and has the greatest
precedence (like str.startwith).
More information about the Python-ideas
mailing list