SELECT
'8 / 10 Valle Seti'
REGEXP
'([1-9][0-9]|[2-9][0-9]) (Valle Seti)'这在mysql中返回1。那件事怎么可能?我只指定了两个大于10的数字,后面跟着一个单词,但这是匹配一个数字,然后是一个斜杠,然后是一个两位数字。我是不是漏掉了什么?
发布于 2012-10-09 13:07:00
您的正则表达式匹配
'10 Valle Seti'从…
'8 / 10 Valle Seti'要强制正则表达式在字符串末尾开始和结束,请将其更改为
REGEXP
'^([1-9][0-9]|[2-9][0-9]) (Valle Seti)$'发布于 2012-10-09 13:07:36
因为它在字符串(即10 Valle Seti)上找到了匹配项,所以尝试添加assert beginning和end字符
SELECT
'8 / 10 Valle Seti'
REGEXP
'(^[1-9][0-9]|[2-9][0-9]) (Valle Seti)$'请参阅SQLFiddle Demo
https://stackoverflow.com/questions/12793088
复制相似问题