Python Django、MySQL和regex:不支持重新语法?
复杂的语法,如:Python Django、MySQL和regex:不支持重新语法?,python,mysql,regex,django,Python,Mysql,Regex,Django,复杂的语法,如: Model.objects.filter(url__iregex=r'^\S+\/\d+\/\S+$') 不起作用。但如果我留下了字符串中应该转义的部分,unscaped会返回元素: Model.objects.filter(url__iregex=r'^http://www.c') 我做错了什么,或者Django中的MySQL不支持正则表达式?表达式需要使用MySQL正则表达式语法: ^[^[:space:]]+/[0-9]+/[^[:space:]]+$ 在哪里 ^
Model.objects.filter(url__iregex=r'^\S+\/\d+\/\S+$')
不起作用。但如果我留下了字符串中应该转义的部分,unscaped会返回元素:
Model.objects.filter(url__iregex=r'^http://www.c')
我做错了什么,或者Django中的MySQL不支持正则表达式?表达式需要使用MySQL正则表达式语法:
^[^[:space:]]+/[0-9]+/[^[:space:]]+$
在哪里
-字符串的开头^
-1个或多个字符(除空格外)[^[:space:]+
-一个/
符号/
-1位或更多数字[0-9]+
-a/
/
-1个或多个字符(除空格外)[^[:space:]+
-字符串结束$
如果使用MySQL REGEXP操作符处理
^\S+\/\d+\/\S+$
,则它将不起作用。您将需要类似于^[^[:space:]+/[0-9]+/[^[:space:]+$
的内容是的,这完全正确。