当前位置: 首页 > 面试题库 >

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

曹理
2023-03-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)

应该可以,请告诉我是否可以。我没有您的数据。



 类似资料:
  • 问题内容: 我要匹配具有以下格式的日期: 2010-08-27、2010 / 08/27 现在,我对实际可行的日期不是很确定,只是日期格式正确。 请告知正则表达式。 谢谢 问题答案: 您可以使用模块来解析日期: 输出: 因此,捕获将告诉您日期是否匹配: 为了允许使用各种格式,您可以测试所有可能性,或者先解析字段:

  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 我们得到了一些这样的内容:

  • 问题内容: 我在Python中使用什么正则表达式来匹配这样的日期:“ 11/12/98”? 问题答案: 与其使用正则表达式,不如将字符串解析为对象通常更好: 然后,您可以访问日,月和年(以及小时,分钟和秒)作为对象的属性: 要测试用正斜杠分隔的数字序列是否表示有效日期,可以使用一个块。无效的日期将引发: 如果您需要搜索更长的字符串以获取日期,则可以使用正则表达式来搜索以正斜杠分隔的数字: 当然,无

  • 出于某种原因,上面的正则表达式没有捕捉带撇号的名称。 例如:D'STALL先生不匹配。任何关于regex模式的帮助都将不胜感激。 代码所做的是获取输入并用XML标记它。诸如以下内容: 正则表达式与上述段落不匹配。

  • 本文向大家介绍中文正则表达式匹配问题之正则表达式中文匹配使用方法,包括了中文正则表达式匹配问题之正则表达式中文匹配使用方法的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要讲如何使用正则匹配中文字符,中文正则表达式的匹配规则不像其他正则规则一样容易记住,下面一起看看这个中文正则表达式是怎么样的。 \w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 匹配中文字符的正则表达