首页 > 解决方案 > 获取字符串的行号

问题描述

假设我从文件中获取了一个很长的字符串:

 lf = open(filename, 'r')
 text = lf.readlines()    
 lf.close()
   

或者

lineList = [line.strip() for line in open(filename)]
text = '\n'.join(lineList)

如何在此字符串中找到特定正则表达式的行号(在本例中为“匹配”的行号):

 regex = re.compile(somepattern)
 for match in re.findall(regex, text):
      continue

提前感谢您的时间

编辑:忘记添加我们正在搜索的模式是多行,我对起跑线感兴趣。

标签: pythonregex

解决方案


也许是这样的:

lf = open(filename, 'r')
text_lines = lf.readlines()    
lf.close()

regex = re.compile(somepattern)
for line_number, line in enumerate(text_lines):
  for match in re.findall(regex, line):
    print('Match found on line %d: %s' % (line_number, match))

推荐阅读