Я выполнил полнотекстовое индексирование для столбца в моей базе данных mysql. Я хочу использовать возможность фильтрации регулярных выражений. Я предположил, что эти два будут эквивалентны.
>>> sum([bool(re.findall(r'\w+',p.abstract)) for p in Publication.objects.all()])
8467
>>> Publication.objects.filter(abstract__regex=r"\w+").count()
7974
Если перейти к еще более сложным регулярным выражениям, я получу гораздо более разнообразные результаты. Например, \W{2}
возвращает 13 и 8039 соответственно. Что мне здесь не хватает? Ясно, что моя интерпретация __regex неверна.
EDIT:
http://dev.mysql.com/doc/refman/5.1/en/regexp.html
Чтобы расширить ответ Гарета. Mysql имеет свой собственный набор правил экранирования. Например, [[:alpha:]]
является mysql говорят для \w