регулярное выражение, чтобы найти LastnameFirstname без пробелов между Python - PullRequest
0 голосов
/ 19 июня 2020

В настоящее время у меня есть несколько имен, которые выглядят так

SmithJohn
smithJohn
O'BrienPeter

оба без пробелов, но с заглавной буквой между ними.

есть ли регулярное выражение для соответствия этим типам имен (но не будут соответствовать таким именам, как Smith, John, Smith John или Smith.John)? кроме того, как я могу разделить фамилию и имя на две разные переменные?

спасибо

Ответы [ 2 ]

1 голос
/ 19 июня 2020

Если все, что вам нужно, это строка с заглавной буквой в середине и строчными буквами вокруг нее, это должно работать нормально: [a-z][A-Z] (убедитесь, что вы используете re.search, а не match). Он отлично обрабатывает «О'БрайенПитер», но может соответствовать таким именам, как «МакКатчон», когда этого не должно быть. Невозможно придумать регулярное выражение или любую программу, которая делает то, что вы хотите, для всех имен (см. Ложь, в которой программисты верят в имена ).

0 голосов
/ 19 июня 2020

Как указывает Брайан, здесь вы должны задать себе вопрос: какие у вас есть гарантии относительно строк, которые вы будете обрабатывать? начала имен? Или что-то вроде «McCutchonBrian» или, в моем случае, «Mallegol-HansenPhilip» тоже нашло свое место? в с. В противном случае вы будете решать проблему, на самом деле это не та проблема, которая у вас есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...