假设我从一个文件中提取了一个很长的字符串:
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
提前感谢您的时间
编辑:忘记添加我们正在搜索的模式是多行的,我对起始行感兴趣
我们需要使用
re.finditer
获取re.Match
对象,而不是字符串本身,这将允许获取有关起始位置的信息。考虑下面的例子:假设我想找到紧跟在新行之前和之后的每两个数字(^ {< CD3>}),然后:输出:
说明:在我获得起始位置后,我只需计算该位置之前的换行数,这与获得行数相同。注意:我假设行号从
0
开始也许是这样的:
相关问题 更多 >
编程相关推荐