早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求高手帮忙写一个参考文献的正则表达式,格斯如下作者,作者,作者.文章标题.杂志名称.2009;11(4):102-107.作者.文章标题.杂志名称.2009;11(4):24-28.(标点均为英文标点,作者为一个或多个,年不超过

题目详情
求高手帮忙写一个参考文献的正则表达式,格斯如下
作者,作者,作者.文章标题.杂志名称.2009;11(4):102-107.
作者.文章标题.杂志名称.2009;11(4):24-28.
(标点均为英文标点,作者为一个或多个,年不超过四位,括号里的数字不超过两位)
▼优质解答
答案和解析
#!python2.7
# encoding:utf-8
import re
# 正则表达式定义
patt = re.compile(r'''
P.)\.
P.)\.
P.)\.
P\d{4});
P\d+)
\((?P\d{1,2})\):
P\d+-\d+)\.
''',re.X|re.I|re.U)
# 待解析的数据
content = '''
作者,作者,作者.文章标题.杂志名称.2009;11(4):102-107.
作者.文章标题.杂志名称.2009;11(4):24-28.
'''
def parserline(ln):
''' 解析一行数据 '''
m = patt.match(ln)
if m:
m = m.groupdict()
m['authors'] = m['authors'].split(',')
return m
def showdict(d):
''' 将字典数据作为字符串返回,以便打印 '''
return '\n'.join([
'%10s:%s'%(k,v if not isinstance(v,(list,))
else ('[%s]'%','.join(v))
)
for k,v in d.items()])
for ln in content.splitlines():
m = parserline(ln)
if m:
print showdict(m)
print '----'
执行结果如下
>pythonw -u "baidu.py"
title:文章标题
year:2009
period:4
month:11
magazine:杂志名称
authors:[作者,作者,作者]
pages:102-107
----
title:文章标题
year:2009
period:4
month:11
magazine:杂志名称
authors:[作者]
pages:24-28
----
>Exit code:0 Time:0.503
看了 求高手帮忙写一个参考文献的正...的网友还看了以下:

解释句中加点的词:(1)穷且益紧,不坠青云之志穷:(2)《齐谐》者,志怪者也。志:(3)适莽苍者,  2020-06-29 …

2012年春节旅游黄金周期间,近200名由往年受资助的贫困大学生、沃帆赛志愿者和三亚快乐志愿者联盟  2020-07-10 …

(1)新闻再播4位白俄罗斯登山家计划7月攀登新疆慕士塔格峰2013-06-1014:25:03来源:  2020-11-04 …

在2013年12月5日第28个“国际志愿者日”到来之际,某市要求各级学校要开展符合学生特点的志愿服务  2020-11-06 …

志愿者作为奥运会的重要组成部分,2008年北京奥运会的志愿者向世界展示了中国志愿者的形象。他们有属于  2020-11-23 …

现将甲乙丙丁4名志愿者全部安排到ABC三个工作岗位上要求每个工作岗位都有志愿者,并且志愿者甲不能到A  2020-11-30 …

4.马克思成为共产主义者的标志是()。A.中学毕业时立志为人类谋福利B.大学毕业论文所体现的精神C.  2020-12-16 …

某高校从5名男大学生志愿者和4名女大学生志愿者中选出3名派到3所学校支教(每所学校一名志愿者),要求  2021-01-02 …

1.愚蠢者2.聪明者3.劳动者4.懒惰者5.有志者6.无为者7.求知者8.勤奋者9.闲聊者10.自满  2021-01-05 …

急求一篇英语作文假如自己在暑假期间,成为奥运会的志愿者在2008北京奥运会上做为一名志愿者的心得体会  2021-01-22 …