如果有一个文本(实际上是很多文本),其中某处是一个 ISBN,我必须找到它。
我知道:我的 ISBN-13 将以“978”开头,后跟 10 位数字。
我不知道:有多少“-”(减号)以及它们是否在正确的位置。
我的代码只会找到没有任何减号的 ISBN:
regex=r'978[0-9]{10}'
pattern = re.compile(regex, re.UNICODE)
for match in pattern.findall(mytext):
print(match)
但是我怎样才能找到这样的 ISBN:
- 978-123-456-789-0
- 978-1234-567890
- 9781234567890
- ETC...
这可以用一个正则表达式模式吗?
谢谢!