Я использую для проверки формата имен в моих приложениях rails. Мне нужно обновить его, чтобы он не принимал что-то вроде mike.jones
/([A-Za-z ',.-]+)/
'Baxter',
'Doe de Sour Jr.',
'Smith-Brown',
"Mathias d'Arras",
"d'Arras",
'King, Jr.',
'Cotton III'
'Baxter2',
'user@gmail',
'#michael',
'tina.fay'
@CAustin Они должны быть действительными
@CarySwoveland Я видел другой ответ. Хотя принятый не работает на рубулярный, он проходит в моем характеристики.
@CarySwoveland Возможно, я скоро изменю ответ. В моей спецификации была проблема.
Затем вам просто нужно переместить .
в конец вашего регулярного выражения (и экранировать его), чтобы вы по-прежнему получали людей с Jr.
в конце их имени:
/([A-Za-z ',-]+\.?)/
И он должен работать нормально. Попробуйте онлайн!
Есть несколько отличные ресурсы онлайн для изучения Regex, если вам интересно.
Это не регулярное выражение по вашей ссылке. Якоря? А как же "Mr. Smith"
? (См. комментарий к вопросу.)
Ответ немного сложен, когда вам нужно учитывать точки, которые встречаются в середине допустимых имен. Судя по вашему описанию, правило таково, что периоды допустимы, если сразу за ними не следуют буквы. Это можно сделать с помощью регулярного выражения:
^(?!.*\.\S)[A-Za-z ',.-]+$
демо: https://regex101.com/r/LkUl38/2
@CarySwoveland Я не уверен, что это правда. Что, если точка, за которой следует запятая, допустима, например?
@AntarrByrd - Похоже, ты не знаешь, чего хочешь. Пожалуйста, отредактируйте свой ответ, указав, в какой категории вы ожидаете, что каждый из них будет в: P.A.
, P.A
, p.a.
, pa.
, p.a.
и PA.
@Addison Да, я понял это. Вот почему я удалил комментарий. Я пока исключим этот пример. Мне трудно понять, что действительно, так как мне не дали четких требований.
Антарр, вам просто нужно сделать предположение о том, что вам нужно, и соответствующим образом сформулировать свой вопрос. Это зависит от вас - мы не хотим об этом слышать. Примеры хороши для того, чтобы помочь читателю понять вопрос, но они не заменяют точное изложение проблемы. Вам нужно начать свой вопрос с чего-то вроде: «Мне нужно проверить имена в моем приложении. Имена могут содержать буквы, пробелы и любые символы ',.-
, при условии, что за каждой точкой (если есть) должен следовать пробел или быть в конце строки».
Как насчет
Mr. Smith
илиJ. K. Rowling
?