Я пытаюсь использовать split()()() preg_split() также является опцией, если ваш ответ работает с ним), чтобы разделить строку на 2 или более \r\n
. Мое текущее усилие:Регулярное выражение с несколькими символами новой строки в последовательности
split("(\r\n){2,}",$nb);
Проблемы с этим он соответствует каждый раз, когда есть 2 или 3 \r\n
«s, затем идет дальше и находит следующую. Это неэффективно с 4 или более \r\n
.
Мне нужно, чтобы все экземпляры двух или более \r\n
обрабатывались так же, как два \r\n
. Например, мне нужен
Hello\r\n\r\nMy\r\n\r\n\r\n\r\n\r\n\r\nName is\r\nShadow
стать
array('Hello','My','Name is\r\nShadow');
Да, потому что pcre работает «жадно» по умолчанию. I.e. {2,} пытается сопоставить как можно больше символов, в то время как split() остановит сопоставление шаблонов, как только оно будет выполнено. – chendral
Он не делал этого только с этим, но я нашел флаг PREG_SPLIT_NO_EMPTY, который выполняет то же самое для моих целей. –
@chendral: Хм ... @ Ответ Гумбо, похоже, указывает на другое. – Tomalak