在 Python 正则表达式中使用 ^ 匹配行首

2024-02-14

我正在尝试从 Thomson-Reuters Web of Science 中提取出版年份 ISI 风格的数据。 “出版年份”的行看起来像这样(在行的最开头):

PY 2015

对于我正在编写的脚本,我定义了以下正则表达式函数:

import re
f = open('savedrecs.txt')
wosrecords = f.read()

def findyears():
    result = re.findall(r'PY (\d\d\d\d)', wosrecords)
    print result

findyears()

然而,这会产生假阳性结果,因为该模式可能出现在数据的其他位置。

所以,我只想匹配行开头的模式。通常我会使用^为了这个目的,但是r'^PY (\d\d\d\d)'无法匹配我的结果。另一方面,使用\n似乎做我想做的事,但这可能会给我带来进一步的复杂化。


re.findall(r'^PY (\d\d\d\d)', wosrecords, flags=re.MULTILINE)

应该管用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 正则表达式中使用 ^ 匹配行首 的相关文章

随机推荐