Доброго времени суток!
Никак не могу понять как написать регулярное выражение для строки, чтобы:
1) Пустая строка была валидной;
2) Строка не содержала знака "." (точка) и цифр, а только литеры и пробел;
3) Строка содержала не более двух словосочетаний (ФИО), разделенных запятой или точкой с запятой.
Т.е. "", "Иванов Иван Иванович", "Иванов Иван, Петров Петр" и "Иванов Иван; Петров Петр" - это валидные строки, а "Иванов И. А.", "Иванов Иван, Петров Петр, Сидоров Сидор" - нет.
Написал такое выражение (как смог, в регулярках я очень не силен), но оно не работает.
^$|[a-zA-z\s]*[^.]$|[a-zA-z\s]*[^.][;,][a-zA-z\s]*[^.]
Подскажите пожалуйста как писать регулярные выражения, чтобы они проверяли строку полностью, т.е. строка либо соответствует РВ, либо нет.
П.С. "a-zA-Z" я заменю, в будущем, на русский язык, пока тестирую с английскими словосочетаниями.