РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
126 of 818 menu

Лукап regex

Лукап regex применяется в запросах к базе данных и позволяет отфильтровать записи, у которых значение поля соответствует заданному регулярному выражению. Данный оператор поиска регистрозависимый, то есть учитывает регистр символов при сравнении. Для регистронезависимого поиска используется лукап iregex. В качестве значения передается строка с регулярным выражением, синтаксис которого зависит от используемой базы данных.

Синтаксис

Model.objects.filter(field__regex=r'regex_pattern')

Пример

Давайте найдем все статьи, заголовок которых начинается с буквы "A" (регистр учитывается):

from myapp.models import Article articles = Article.objects.filter(title__regex=r'^A.*') for article in articles: print(article.title)

Результат выполнения кода:

"Article about Django" "Another interesting post"

Пример

Теперь найдем статьи, заголовок которых заканчивается на цифру:

from myapp.models import Article articles = Article.objects.filter(title__regex=r'.*\d$') for article in articles: print(article.title)

Результат выполнения кода:

"Post 2025" "Chapter 7"

Пример

Найдем пользователей, у которых имя начинается с "J" и заканчивается на "n":

from myapp.models import User users = User.objects.filter(username__regex=r'^J.*n$') for user in users: print(user.username)

Результат выполнения кода:

"John" "Jason"

Смотрите также

  • лукап iregex,
    который выполняет поиск по регулярному выражению без учета регистра
  • лукап contains,
    который выполняет поиск по подстроке с учетом регистра
  • лукап icontains,
    который выполняет поиск по подстроке без учета регистра
  • метод filter,
    который применяет условия фильтрации к QuerySet
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить