2012/12/4 Nick Mellor <thebalance...@gmail.com>:
> I love the way you guys can write a line of code that does the same as 20 of 
> mine :)
> I can turn up the heat on your regex by feeding it a null description or 
> multiple white space (both in the original file.) I'm sure you'd adjust, but 
> at the cost of a more complex regex.
> Meanwhile takewith and dropwith are behaving themselves impeccably but my 
> while loop has fallen over.
>
> Best,
> Nick
>> [...]
> --

Hi,
well, for what is it worth, both cases could be addressed quite
easily, with little added complexity - e.g.: make the description part
optional, allow multiple whitespace and enforce word boundary after
the product name in order to get rid of the trailing whitespace in it:

>>> re.findall(r"(?m)^([A-Z\s]+\b)(?:\s+(.*))?$", "CAPSICUM RED fresh from 
>>> QLD\nCAPSICUM    RED   fresh from    Queensland\nCAPSICUM RED")
[('CAPSICUM RED', 'fresh from QLD'), ('CAPSICUM    RED', 'fresh from
 Queensland'), ('CAPSICUM RED', '')]
>>>

However, it's certainly preferable to use a solution you are more
comfortable with, e.g. the itertools one...

regards,
   vbr
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to