早教吧作业答案频道 -->数学-->
求高手帮忙写一个参考文献的正则表达式,格斯如下作者,作者,作者.文章标题.杂志名称.2009;11(4):102-107.作者.文章标题.杂志名称.2009;11(4):24-28.(标点均为英文标点,作者为一个或多个,年不超过
题目详情
求高手帮忙写一个参考文献的正则表达式,格斯如下
作者,作者,作者.文章标题.杂志名称.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
# 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
看了 求高手帮忙写一个参考文献的正...的网友还看了以下:
英语没考好家长写80字意见英语考试没考好老师让写意见80-100字。。。不知道咋写。。。在线等我老 2020-05-13 …
英语好一点的人请进吧!英语考试考得很差、、老师叫我们写一份英语的检查、、、但是明天就要交叻、我还有 2020-05-13 …
我是一名兰州的准中考生,马上就要中考了(英语是18号)我押了一片中考英语作文,希望英语擅长的大神们 2020-06-10 …
关于肥胖的英语作文有没有哪位小伙伴帮帮忙帮忙写一篇关于肥胖的考研英语作文?我2014年一月份考研, 2020-06-19 …
英语作文,谁帮我写下.让我参考.初一的英语作文2篇帮我写下让我参考:《Mywinterhliday 2020-07-22 …
假如你是林惠,你的同学刘芳期末考试英语没考好,请你写封信安慰她.1.安慰刘芳.2.邀请她假期一起参 2020-07-24 …
英语课要做报告,还必须是笑话,超无语'''请高手帮我翻译一下(高1水平):一个英语不太好的中国人到英 2020-11-06 …
谁能帮我写一封英文信呢本人想写信给加拿大歌星艾薇儿和哈利波特里赫敏的扮演者艾玛,但是苦于英文水平有限 2020-12-01 …
英语课要做报告,还必须是笑话,超无语'''请高手帮我翻译一下(高1水平):一个英语不太好的中国人到英 2020-12-27 …
十万火急,大家谁能帮我写封英语感谢信啊考试题目为,用英语写封感谢信,写一份感谢信感谢你的朋友susa 2021-01-15 …