Regex trouble

Rhodri James rhodri at wildebst.demon.co.uk
Fri Sep 25 00:31:39 CEST 2009


On Thu, 24 Sep 2009 19:45:37 +0100, Simon Forman <sajmikins at gmail.com>  
wrote:

> FWIW this problem is too simple (IMHO) for regular expressions.
> Simply carve off the first three digits and check against sets of the
> prefixes you're interested in:
>
>
> #any number starting with these prefixes is not long distance
> local_prefixes = set(['832', '877', '888', '713', '866', '011', '001',
> '281', '800'])
>
> long_distance= {}
> for key1, value1 in x.iteritems():
>     if key1 == 'dest':
>         if value1[:3] not in local_prefixes:
>             long_distance[key1] = value1

You need to allow for the potential leading 1, which can be done with
a bit of straightforward string slicing but still puts REs more
sensibly in the running.

-- 
Rhodri James *-* Wildebeest Herder to the Masses



More information about the Python-list mailing list