Python Regex函数,用于遍历文件中的每一行,并提取具有特定单词的整行
我正在用python编写一个正则表达式代码,以搜索文件中的每一行正则表达式模式,并提取所需的模式文件中的几行如下所示Python Regex函数,用于遍历文件中的每一行,并提取具有特定单词的整行,python,regex,Python,Regex,我正在用python编写一个正则表达式代码,以搜索文件中的每一行正则表达式模式,并提取所需的模式文件中的几行如下所示 利兹·科普兰 2018年4月1日星期一 没有。留歌()听了评论 我想从文件中提取标题和标题 -每个标题的行中都有Liz Copeland,行尾有5个选项卡,输出应如下所示 利兹·科普兰 -每个标题都有一个制表符,后跟5个制表符分隔的列标题,输出如下 没有。留歌()听了评论 我已经编写了一个函数来提取正则表达式行 title=re.compile(r'([^.?!]*[.?\s
利兹·科普兰
2018年4月1日星期一
没有。留歌()听了评论
我想从文件中提取标题和标题
-每个标题的行中都有Liz Copeland,行尾有5个选项卡,输出应如下所示
利兹·科普兰
-每个标题都有一个制表符,后跟5个制表符分隔的列标题,输出如下
没有。留歌()听了评论
我已经编写了一个函数来提取正则表达式行
title=re.compile(r'([^.?!]*[.?\s!]Liz Copeland[^.?!]*[.?\s!])\t')
header=re.compile(r'\t\w+。\t.+)
打开(文件)为f时:
对于f中的行:
m_show=重新匹配(标题、行)
m_页眉=重新匹配(页眉,行)
上面的代码并不是用匹配的模式提取所有的行,而是给了我不想要的结果
请帮我查一下密码。提前感谢使用以下正则表达式如何:
.*?Liz Copeland.+?\(\d{1,2}[ap]m-\d{1,2}[ap]m\)\s+$
演示:
它将Liz Copeland所在的整行与结尾空格相匹配要获得标题,您可以在单词边界之间匹配名称
Liz Copeland
,并在字符串末尾匹配5个制表符:
.*?\bLiz Copeland\b.*\t{5}
要匹配标题,可以使用:
\tNo\.\tArtist\tSong\tAlbum \(Label\)\tComment\b
并不是说最后一行“购买44661劳伦特·加尼尔”这个红脸男人像示例数据中的前几行一样漏掉了括号中的内容。你可以尝试一些类似Regex的方法来完美地获得标题。标题的正则表达式应该只匹配“No.Artister Song Album(Label)Comment”,它匹配其他行too@anonymous13您可以这样匹配它,我已经更新了答案。我尝试了\t\w+。\t\w+\t\w+\t\w+\s(\w+)\t\w+$作为标题行,效果很好。谢谢匿名13:你能把答案标为正确并投赞成票吗?非常感谢。