求正则表达式

如图所示,一文本文件每行包含书名、ISBN编号、以及价格,顺序不定,中间以一制表符相隔。对一行字符串,求正则表达式,分别匹配书名、价格以及ISBN。
求正则表达式

最佳答案

import re
str = "学C语言 987-7-115-477330-9 69.6"
list = str.split()
for i in list:
if re.search('\d{3}-\d-\d{3}-\d{6}-\d',i):
print('编号:',i)
elif re.search(u"[\u4e00-\u9fa5]+", i):
print('书名:', i)
else:
print('价格',i)

5年前 评论
讨论数量: 2

初步观察 可以使用float类型转换区分出价格 然后用-分割 如果每个元素都能使用int进行转换那么就是ISBN编码 不能的就是名称 可以试试

5年前 评论

import re
str = "学C语言 987-7-115-477330-9 69.6"
list = str.split()
for i in list:
if re.search('\d{3}-\d-\d{3}-\d{6}-\d',i):
print('编号:',i)
elif re.search(u"[\u4e00-\u9fa5]+", i):
print('书名:', i)
else:
print('价格',i)

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!