Почему регулярное выражение не работает в php?
Добрый день, переношу часть кода на сервер. Столкнулся с проблемой что php не обрабатывает регулярку так же как и javascript.
В js было: var test = 'Петров С.В.'; var array = test.split(/^\s*([А-ЯЁ]\S+)\s+([А-ЯЁ])\s*\.\s*([А-ЯЁ])\s*\.\s*([\s\S]*?)\s*$/); alert(array); На сайте https://regexr.com/ эта регулярка тоже отрабатывает. Но вот когда я переношу ее в php на функцию preg_split() http://php.net/manual/ru/function.preg-split.php не работает $test = 'Петров С.В.'; $array = preg_split('/^\s*([А-ЯЁ]\S+)\s+([А-ЯЁ])\s*\.\s*([А-ЯЁ])\s*\.\s*([\s\S]*?)\s*$/', $test); print_r($array); Может кто понимает что не так? :-? |
А что просто разбить по пробелу, удалив крайние нельзя?
|
laimas,
Нет, там могут быть просто слова какие нибудь, а не фамилии. Эта регулярка именно отлавливает, слово пробел буква точка пробел буква точка. Ну или как то так, давно она писалась, возможно даже на этом форуме. |
Цитата:
|
Часовой пояс GMT +3, время: 06:57. |