import repattern = re.compile("<(d{4,5})>")for i, line in enumerate(open('test.txt')): for match in re.finditer(pattern, line): print 'Found on line %s: %s' % (i+1, match.group())关于正则表达式的几点注意事项:
- 如果您不想将数字与尖括号匹配,而只需要数字本身,则不需要
?
在末尾和外部(...)
- 它与尖括号之间的4位或5位数字匹配
更新: 重要的是要了解正则表达式中的 匹配 和 捕获 可能完全不同。我上面的代码段中的正则表达式与 带有
尖括号的模式匹配,但是我要求仅捕获内部编号, 而不带 尖括号。
在python中可以找到更多有关正则表达式的信息:
正则表达式HOWTO



