Regex. Как получить слова после точки с запятой

Я пытаюсь получить все слова (фамилии) только после каждого появления точки с запятой.

(?:.*?;)([a-zA-ZñÑ]+)

Как то так, но не работает

Вот пример строки, которую я хочу отфильтровать с помощью регулярного выражения:

Уолтер Шелтер, Мэри; Джонсон Смит, Роберт; Дикинсон Куин, Пэтти

Вот результат, который я хочу получить:

Walter Johnson Dickinson

Заранее спасибо большое за помощь!

0

Решение

Вы можете использовать это регулярное выражение:

(?:(?<=^)|(?<=; ))\w+

Или этот более короткий:

(?<=; |^)\w+

RegEx Demo

Код:

$s = 'Walter Shelter, Mary; Johnson Smith, Robert; Dickinson Queen Patty';
preg_match_all('/(?<=; |^)\w+/', $s, $m);
print_r($m);

Выход:

Array
(
[0] => Walter
[1] => Johnson
[2] => Dickinson
)
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]