regex help
johnzenger at gmail.com
johnzenger at gmail.com
Tue May 16 12:00:36 EDT 2006
Why not use split instead of regular expressions?
>>> ln = "32 32 23 9 9 - 9 9 - 9 11 1 10"
>>> ln.split()
['32', '32', '23', '9', '9', '-', '9', '9', '-', '9', '11', '1', '10']
Much simpler, yes? Just find the line that comes after a line that
begins with "TIGER," split it, and pick the number you want out of the
resulting list.
Lance Hoffmeyer wrote:
> I have the following table and I am trying to match percentage the 2nd column on the 2nd Tiger line (9.0).
>
> I have tried both of the following. I expected both to match but neither did? Is there a modifier
> I am missing? What changes do I need to make these match? I need to keep the structure of the regex
> the same.
>
> TIGER.append(re.search("TIGER\s{10}.*?(?:(\d{1,3}\.\d)\s+){2}", target_table).group(1))
> TIGER.append(re.search("^TIGER.*?(?:(\d{1,3}\.\d)\s+){2}", target_table).group(1))
>
>
> BASE - TOTAL TIGER 268 268 173 95 101 - 101 57 - 57 78 2 76 268 192 76 230 21
>
> DOG 79 79 44 35 31 - 31 17 - 17 25 1 24 79 55 24 75 1
> 29.5 29.5 25.4 36.8 30.7 - 30.7 29.8 - 29.8 32.1 50.0 31.6 29.5 28.6 31.6 32.6 4.8
>
> CAT 46 46 28 18 20 - 20 7 - 7 14 - 14 46 32 14 39 4
> 17.2 17.2 16.2 18.9 19.8 - 19.8 12.3 - 12.3 17.9 - 18.4 17.2 16.7 18.4 17.0 19.0
>
> LAMB 32 32 23 9 10 - 10 8 - 8 12 - 12 32 20 12 28 1
> 11.9 11.9 13.3 9.5 9.9 - 9.9 14.0 - 14.0 15.4 - 15.8 11.9 10.4 15.8 12.2 4.8
>
> TRIPOD 32 32 23 9 9 - 9 9 - 9 11 1 10 32 22 10 28 3
> 11.9 11.9 13.3 9.5 8.9 - 8.9 15.8 - 15.8 14.1 50.0 13.2 11.9 11.5 13.2 12.2 14.3
>
> TIGER 24 24 16 8 5 - 5 10 - 10 7 - 7 24 17 7 18 2
> 9.0 9.0 9.2 8.4 5.0 - 5.0 17.5 - 17.5 9.0 - 9.2 9.0 8.9 9.2 7.8 9.5
More information about the Python-list
mailing list