Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django、MySQL和regex:不支持重新语法?_Python_Mysql_Regex_Django - Fatal编程技术网

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:]]+$
在哪里

  • ^
    -字符串的开头
  • [^[:space:]+
    -1个或多个字符(除空格外)
  • /
    -一个
    /
    符号
  • [0-9]+
    -1位或更多数字
  • /
    -a
    /
  • [^[:space:]+
    -1个或多个字符(除空格外)
  • $
    -字符串结束

如果使用MySQL REGEXP操作符处理
^\S+\/\d+\/\S+$
,则它将不起作用。您将需要类似于
^[^[:space:]+/[0-9]+/[^[:space:]+$
的内容是的,这完全正确。