У меня есть одна таблица, которая выглядит следующим образом:Regex Match для доменного имени в Django модели
class Tld(models.Model):
domainNm = models.CharField(validators=[ RegexValidator('^[0-9]^[a-z]','yourdomain.com only','Invalid Entry')], max_length=40)
dtCreated = models.DateField()
для domainNm - Я хочу, чтобы проверить на любой записи, которая выглядит как:
- domain.com
- 1domain.com
- domain1.com
Он должен следовать следующим образом: <domainname>.[com|biz|net]
и т. Д. И быть буквенно-цифровым.
Как это сделать на уровне модели модели django?
Благодаря
Это недопустимое регулярное выражение. **^** соответствует началу строки. Нет смысла иметь его там дважды, если не разделять ** | **. В любом случае, неясно, что вы хотите совместить. Вы пытаетесь удостовериться, что строка начинается с буквенно-цифрового символа или что все это буквенно-цифровое с точками и, возможно, «http: //» в начале или что? Пожалуйста, постарайтесь быть конкретными и дайте примеры того, что вы хотите, чтобы регулярное выражение совпало и что вы хотите его отклонить. –
См. Обновленный вопрос. Извините за недоразумение – CodeTalk
Итак, вы сейчас говорите, что вы * не * хотите совпадать, если он начинается с «www» или «http: //», вы все еще хотите совместить, если какой-либо из них предшествует домену? Кроме того, вы хотите ограничить его одной точкой, или вы также хотите совместить, если есть субдомены? Регулярное выражение '^ [a-z0-9] + \. (Com | biz | net) $' будет проверять, что строка находится в форме, которую вы описали в пересмотренном вопросе, но я не уверен, что это вы действительно хотеть. Должны ли 'http: // domain.com' и/или' subdomain.domain.com' соответствовать или терпеть неудачу? –