Regex for strings utility

Steve Holden sholden at holdenweb.com
Tue Jul 17 21:25:59 CEST 2001


rhys tucker" <rhystucker at yahoo.com> wrote in message
news:1103_995396879 at pan...
> I'm trying to write a script which operates like the Unix 'strings'
utility but I'm having difficulties with the regex.
>
> #!/usr/bin/env python
>
> # strings program
>
> import sys, re
>
> f = open(sys.argv[1])
> line = f.readline()
> pattern = ([\040-\126\s]{4,})
>
> while line:
> # regular expression to match strings >=4 chars goes here
> matches = findall(pattern, line)
> for match in matches;
> print match
> line = f.readline()
>
>
>
> I'm getting a Syntax Error: Invalid Token at the closing brace to the
pattern.
>
Try

pattern = "([\040-\126\s]{4,})"

for a start.  I notice you import re, but don't use it anywhere - your
findall() call could be re.findall(), perhaps?

I'm not a regex guru, but I have my doubts that the pattern will match what
you want it to. Perhaps the effbot or one of his proxies could advise...

regards
 Steve

--
http://www.holdenweb.com/








More information about the Python-list mailing list