Python 正则表达式验证ISBN
2014-07-31 13:59
267 查看
ISBN-10
ISBN-13
ISBN-10 or ISBN-13
^ (?:ISBN(?:-10)?:?\ )? # Optional ISBN/ISBN-10 identifier. (?= # Basic format pre-checks (lookahead): [0-9X]{10}$ # Require 10 digits/Xs (no separators). | # Or: (?=(?:[0-9]+[-\ ]){3}) # Require 3 separators [-\ 0-9X]{13}$ # out of 13 characters total. ) # End format pre-checks. [0-9]{1,5}[-\ ]? # 1-5 digit group identifier. [0-9]+[-\ ]?[0-9]+[-\ ]? # Publisher and title identifiers. [0-9X] # Check digit. $ eg. 0-596-52068-7 ISBN-10 0-596-52068-7
ISBN-13
^ (?:ISBN(?:-13)?:?\ )? # Optional ISBN/ISBN-13 identifier. (?= # Basic format pre-checks (lookahead): [0-9]{13}$ # Require 4 separators | # Or: (?=(?:[0-9]+[-\ ]){4}) # Require 4 separators [-\ 0-9]{17}$ # out of 17 characters total. ) # End format pre-checks. 97[89][-\ ]? # ISBN-13 prefix. [0-9]{1,5}[-\ ]? # 1-5 digit group identifier. [0-9]+[-\ ]?[0-9]+[-\ ]? # Publisher and title identifier. [0-9] # check digit. $
ISBN-10 or ISBN-13
# ISBN-10 or ISBN-13 ^ (?:ISBN(-1(?:(0)|3))?:?\ )? (?(1) (?(2) # ISBN-10 (?=[0-9X]{10}$|(?=(?:[0-9]+[- ]){3})[- 0-9X]{13}$) [0-9]{1,5}[- ]?[0-9]+[- ]?[0-9]+[- ]?[0-9X] | # ISBN-13 (?=[0-9]{13}$|(?=(?:[0-9]+[- ]){4})[- 0-9]{17}$) 97[89][- ]?[0-9]{1,5}[- ]?[0-9]+[- ]?[0-9]+[- ]?[0-9] ) | # No explicit idntifier; allow ISBN-10 or ISBN-13 (?=[0-9X]{10}$|(?=(?:[0-9]+[- ]){3})[- 0-9X]{13}$|97[89][0-9]{10}$| (?=(?:[0-9]+[- ]){4})[- 0-9]{17}$) (?:97[89][- ]?)?[0-9]{1,5}[- ]?[0-9]+[- ]?[0-9]+[- ]?[0-9X] ) $
相关文章推荐
- Python 正则表达式验证zip code (U.S.邮政编码)
- 检查字符串长度 检查字符串是否为空 用正则表达式验证出版物的ISBN号 用正则表达式验证邮证编码 验证字符串中是否含有汉字
- Python 正则表达式验证十六进制为特定范围
- Python 正则表达式验证操作符
- Python 正则表达式验证十六进制数字
- Python 正则表达式验证Keywords
- Python 正则表达式验证时间
- Python 正则表达式验证带分隔符的数字
- Python 正则表达式验证十进制数字
- Python 正则表达式验证单行注释
- Python 正则表达式验证信用卡号码
- Python 正则表达式验证Social Secury Number
- Python 正则表达式验证U.K.邮政编码
- Python 正则表达式验证密码完整性
- Python 正则表达式验证浮点数
- Python 正则表达式验证Canadian邮政编码
- Python 正则表达式验证是否为素数
- Python 正则表达式验证数字化变量
- Python 正则表达式验证Identifiers
- Python验证Url地址的正则表达式