Подскажите пожалуйста, никак не могу понять Почему обрабатывается последняя точка в регулярном выражении Код (PHP): preg_match("/([^\s]+)\s+([^\s.])[^\s.]*(?:\s|\.)([^\s.])[^\s.]*/",$income_str,$out_arr); print_r($out_arr); Сама строка "фамилия и.о." Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
Re: Почему обрабатывается последняя точка в регулярном выраж наоборот же. необрабатывается получается Добавлено спустя 1 минуту 28 секунд: Re: Почему обрабатывается последняя точка в регулярном выражении вообще чтото наворотили. какая изначальная задача регулярки? что на входе и что хотели сматчить?
Re: Почему обрабатывается последняя точка в регулярном выраж Есть файл(ну это не важно) там должны подходить под такие типы строк: фамилия имя отчество фамилия и о фамилия и.о. Проверял работу данного РВ на строке "фамилия и.о."- работает. Но почему обр-ся посл. точка сам не пойму, так как РВ составил не я.
Код (PHP): /^\S+?\s\S+?[\s\.]\S+\.?$/ Добавлено спустя 55 секунд:Re: Почему обрабатывается последняя точка в регулярном выраженииа ваша регулярка матчит и когда только фамилия. и когда есть слово после отчества даже... некорректная в общем