PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'); $n='Привет Женя Привет Вася Привет Коля'; preg_match('/(.+?)\n\r\n(.+)/si',$n,$match); echo $match[1]; echo '<br>'; echo $match[2] ?> третья строка пустая. Был бы построчный режим написал ^$ а при многострочном ?? поймал пока ч с помощью \n\r\n также получается с помощью \n\r Естть ли логическое понимание , что представляет из себя элементы после Вася и перед привет Коля Как выглядит третья строка в символьном представлении. Вот еще вариант PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'); $n='Привет Женя Привет Вася Привет Коля'; preg_match('/(.+)\r\n(.+)/si',$n,$match); echo $match[1]; echo '<br>'; echo $match[2] ?>
Dima4321 могу предположить несколько подходов, один из которых - использование file и работа с массивом строк. другой подход - поиск пустрой строки с помощью регулярки типа '/\n\s*?\n/si'
Про массив строк понятно. Кстати в том случае empty не прокатит, если ты на это намекал. Я хотел четко понять для себя при работе не с массивом а все таки со строкой в строке , применительно к своему примеру. Я опробывал в нескольких регулярках чужих примеров и все работает. Оптимально брать \n\r---это эквивалент пустой строки. В переводе на русский. Начало строки и сразу возврат каретки.
Jampire видишь ли во первых твой непробельный символ можно использовать только так [^\$]+ тогда уж проще [\s]+ а во вторых такая запись совпадет не только с переносом строки но и с двумя тремя и тд. пробелами между словами, что уходит от решения задачи.
Dima4321 Вы сперва перечитайте свой вопрос, а потом утверждайте подходит или нет. Вы какой вопрос задали? Какое представление имеет пустая строка? Вот ее представление '\s+'. Ваши вариации '\r\n' споткнуться на первом же серьезном проекте. Пустая строка может выглядеть и так '\n \n', и так '\r\n \r\n' и даже так '\n\t\t\t\n'. Для таких случаев и придуман псевдокласс \s и противоположный ему \S. Можно еще поиграться на тему \w и \W.
я не занимаюсь серьезными пректами исключительно забавляю детей своим присутствием )) \s+ для меня единственный минус этого представления --это то что попадает строка с двумя пробелами между словами. а так было бы идеально пользоваться ею всегда.
Dima4321 Вы сначала сформулируйте свой вопрос. Зачем вы вообще ищите пустые строки в многострочных данных. Если вам нужно избавиться от пустой строки, то это делается совсем не так.