求正则表达式

如图所示,一文本文件每行包含书名、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)

1周前
讨论数量: 2

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

2周前

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)

1周前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档:

官方入门教程,从这里开始你的 Python 之旅,将长久维护
《A Byte of Python》的中文译本,由社区维护,每年更新
Python 日常使用的最佳实践,高级 Python 开发者必知必会的知识
Pymotw.com 的中文翻译,实例讲解 Python 3 标准库,简单易懂