regexp mysql函数

时间:2013-01-19 22:36:36

标签: php mysql regex isbn

我有几个用于匹配ISBN 10的PHP正则表达式,但我找不到与MySQL REGEXP兼容的正则表达式,有人可以帮我匹配MySQL中的ISBN 10吗?

我尝试过这个(在PHP中工作但在MySQL中没有)

"^(97(8|9))?\d{9}(\d|X)$"

以下是我运行此正则表达式的一些值:

ISBN10: 0470945176
by Paul D. Kimmel
Publisher: John Wiley & Sons
Copyright year: © 2011

Thomas E. Creighton (Author)
ISBN-10: 0471153028 
Publisher: Wiley-Interscience; 1 edition (April 8, 1999)
2878 pages

1 个答案:

答案 0 :(得分:3)

MySQL正则表达式中不存在\d快捷方式。改为使用[[:digit:]]字符类:

"^(97(8|9))?[[:digit:]]{9}([[:digit:]]|X)$"

sqlfiddle上查看。