DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

Finding Line Number When Matching Text

03.06.2006
| 10705 views |
  • submit to reddit
        I use python to do some text analysis.
I load all the text file into a string and match it with
a regexp. Now I want to know the line number of a match.
I can use the line number to lookup inside the text.
(in this case using EditPlus)
src = open('2.htm').read()
pattern = '<P>([^<]+)<SUP>'  # or anything else
for m in re.finditer(pattern, src):
	start = m.start()
	lineno = src.count('\n', 0, start) + 1
	offset = start - src.rfind('\n', 0, start)
	word = m.group(1)
	print "2.htm(%s,%s): %s" % (lineno, offset, word)
Editplus allow me to double click at the output printed
and jump to the exact position using the given lineno, offset.