加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – ISBN 13的正则表达式

发布时间:2020-12-16 07:57:31 所属栏目:百科 来源:网络整理
导读:大家好,我一直在尝试在我的.xsd中为XML制作正则表达式. 这个表达式应该验证一个ISBN-13号码,但我不能比这更进一步: ISBN (978|979)[ |-][0-9]{1,5}[ |-][0-9]{1,7}[ |-][0-9]{1,7}[0-9]{1} 如果有人填写正确的ISBN13,这是可以的,但是仍然可以制作更长的ISBN
大家好,我一直在尝试在我的.xsd中为XML制作正则表达式.

这个表达式应该验证一个ISBN-13号码,但我不能比这更进一步:

ISBN (978|979)[ |-][0-9]{1,5}[ |-][0-9]{1,7}[ |-][0-9]{1,7}[0-9]{1}

如果有人填写正确的ISBN13,这是可以的,但是仍然可以制作更长的ISBN(例如,仍然可以使第一个数字块长5个,第二个7个数字,第三个也是7个数字长).

我对这个话题很新,我无法解决这个问题,因此我希望有人可以帮助我或解决我的问题.

我知道ISBN 13是由什么组成的,我检查了维基百科和其他网站,但我的实际问题是它自己的正则表达式.

我希望早些时候没有问过,所以如果有人早点提出这个问题,我很抱歉.
jajay07

根据 http://regexlib.com/REDetails.aspx?regexp_id=1747的正则表达式
ISBN(-1(?:(0)|3))?:?x20+(?(1)(?(2)(?:(?=.{13}$)d{1,5}([ -])d{1,7}3d{1,6}3(?:d|x)$)|(?:(?=.{17}$)97(?:8|9)([ -])d{1,5}4d{1,7}4d{1,6}4d$))|(?(.{13}$)(?:d{1,7}5d{1,6}5(?:d|x)$)|(?:(?=.{17}$)97(?:8|9)([ -])d{1,5}6d{1,7}6d{1,6}6d$)))

匹配旧的10位数ISBN和新的13位ISBN.

您可以轻松(可能不是很容易)使用您需要的此正则表达式部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读