Can I specify regex group to return float or int instead of string?

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Thu Feb 25 18:20:44 CET 2010


On Thu, 25 Feb 2010 09:00:07 -0800, Jeremy wrote:

> On Feb 25, 9:41 am, Steven D'Aprano <st... at REMOVE-THIS-
> cybersource.com.au> wrote:
>> On Thu, 25 Feb 2010 07:48:44 -0800, Jeremy wrote:
>> > I have a regular expression that searches for some numbers and puts
>> > them into a dictionary, i.e.
>>
>> > '(?P<integer>\d+)\s+(?P<float>\d+\.\d+)'
>>
>> > Is it possible to have the results of the matches returned as int or
>> > float objects instead of strings?
>>
>> No. Just convert the match with int() or float() before storing it in
>> the dictionary. That is, instead of:
>>
>> d[key] = match
>>
>> use
>>
>> d[key] = float(match)
>>
>> or similar.
> 
> I was afraid that was the only option.  Oh well, thought I'd ask anyway.


Why "afraid"? What's the problem with calling int or float on the match?




-- 
Steven



More information about the Python-list mailing list