Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Не придумать регулярку


Автор: коммунизм 3.5.2012, 00:40
Добрый день.
Есть некая строка:
" 123 456789 abc @#$% "

Хочу обнаружить все вхождения, ограниченные пробелами:
"123"
"123 456789"
"123 456789 abc"
"123 456789 abc @#$%"
"456789"
"456789 abc"
"456789 abc @#$%"
"abc"
"abc @#$%"
"@#$%"

Голоса в голове намекают на рекурсивный шаблон, но ничего конкретного не сообщают...

Автор: ksnk 3.5.2012, 00:59
Разбить сроку на подстроки по пробелам?

explode? preg_split?

Автор: коммунизм 3.5.2012, 06:18
Цитата(ksnk @  3.5.2012,  00:59 Найти цитируемый пост)
Разбить сроку на подстроки по пробелам?

explode? preg_split?


Никак нет. explode или preg_split просто порежут строку на четыре части, а как же эти фрагменты:
"123 456789"
"123 456789 abc"
"123 456789 abc @#$%"
"456789 abc"
"456789 abc @#$%"
"abc @#$%"

По условию, в исходной строке они тоже окружены пробелами  smile

Автор: ksnk 3.5.2012, 07:33
регулярка так не умеет smile Она сделана для другого. Остается только разбить на слова и в 2 вложенных цикла по начальному слову и по подолжению - перебирать композиции.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)