You need to pass a parameter to the string in the following line: outfile.write("%s\n" % m.string[m.start():m.end()])
And you need to use m.search, not m.match in the line where you're actually apply the expression to the string m = patt.search(line) --Michael On 12/21/07, Que Prime <[EMAIL PROTECTED]> wrote: > > > I need to pull the highligted data from a similar file and can't seem to get > my script to work: > > Script: > import re > infile = open("filter.txt","r") > outfile = open("out.txt","w") > patt = re.compile(r"~02([\d{10}])") > for line in infile: > m = patt.match(line) > if m: > outfile.write("%s\n") > infile.close() > outfile.close() > > > File: > 200~021111001491~05070 > 200~021111001777~05070 > 200~021111001995~05090 > 200~021111002609~05090 > 200~021111002789~05070 > 200~012~021111004169~0 > 200~021111004247~05090 > 200~021111008623~05090 > 200~021111010957~05090 > 200~02 1111011479~05090 > 200~0199~021111001237~ > 200~021111011600~05090 > 200~012~02 1111022305~0 > 200~021111023546~05090 > 200~021111025427~05090 > > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > > -- Michael Langford Phone: 404-386-0495 Consulting: http://www.RowdyLabs.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor