复杂的语法如:
Model.objects.filter(url__iregex=r'^\S+\/\d+\/\S+$')
不起作用。但是我留下了应该转义的部分字符串,未转义的部分会返回元素:
Model.objects.filter(url__iregex=r'^http://www.c')
我做错了什么,或者 Django 中的 MySQL 不支持正则表达式?
最佳答案
您需要对表达式使用 MySQL REGEXP 语法:
^[^[:space:]]+/[0-9]+/[^[:space:]]+$
在哪里
^
- 字符串的开始[^[:space:]]+
- 1 个或多个空格以外的字符/
-/
符号[0-9]+
- 1 个或多个数字/
- 一个/
[^[:space:]]+
- 1 个或多个空格以外的字符$
- 字符串结尾。
关于python - Django、MySQL 和正则表达式 : not supporting re syntax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35999123/