如何使用正则表达式确定一个文件是否包含 ISBN 系列?在 linux/unix 上。
那么使用 Perl 怎么样?
谢谢
ISBN 没有简单的正则表达式,因为断字是可变的(请参阅断字说明)。您可以做的是从字符串中删除所有连字符或空格,然后检查它的长度是 10 位还是 13 位(或以 anx
或 an结尾的 9 位X
)。但是,这不处理 ISBN 的验证,因为最后一个数字(或字母,如果是[xX]
)是验证 ISBN 有效的校验和。
如果您正在使用 Perl,您想要做的就是使用该Business::ISBN
模块,它可以为您省去所有这些麻烦。