DJANGO - Как использовать Regex для авторского формата Thesis?
У меня есть одно поле CharField для автора/ов, но я хочу, чтобы ввод следовал определенному формату. Например:
- Круз, Р. (только для одного автора)
- Круз, Р. и Грей, А. (для двух автора)
- Круз, Р. и др. (для трех или более авторов)
Вот мой код в forms.py для проверки формата, но он, похоже, не работает правильно, особенно когда я добавляю этот знак '|' для или условия:
def clean_author(self):
pattern = '[A-Za-z][,][A-Z]{1}[.] | [A-Za-z][,][A-Z]{1}[.][and][A-Za-z][,][A-Z]{1}[.] | [A-Za-z][,][A-Z]{1,2}[.][" et. al."]'
get_author = self.cleaned_data['author']
if not re.search(pattern, get_author):
raise ValidationError("Invalid author format has been detected")
return get_author
Кроме того, мой шаблон не принимает пробел между фамилией + , и инициалом имени. Я новичок в regex, поэтому у меня не так много знаний по этому вопросу.