我在mysql中遇到以下错误:
Got error 'invalid repetition count(s)' from regexp
我的查询是:
SELECT * FROM table WHERE some_text_field REGEXP"[A-Za-z0-9]{256}"
但是当我用REGEXP"[A-Za-z0-9]{256}"
及以下替换REGEXP"[A-Za-z0-9]{255}"
时,没有错误。
REGEXP中是否有任何字符限制?为什么当我使用256或更高版本时它不起作用但是当我用255或更低版本替换它时会起作用?
我调查了这个Mysql throwing exception on Regex,但是对于错误发生的原因并没有很好的信息。
答案 0 :(得分:6)
正如Regular Expressions所述:
更准确地说,
a{n}
与n
的{{1}}个实例完全匹配。a
匹配a{n,}
或更多n
个实例。a
匹配a{m,n}
个m
个n
个实例。
a
和m
必须在n
到0
(默认为255)的范围内,包括在内。如果同时提供RE_DUP_MAX
和m
,则n
必须小于或等于m
。