PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
san4es
Отправлено: 13 Июля, 2016 - 10:05:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 200
Дата рег-ции: Март 2008  
Откуда: СПб, Ломоносов


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $str = "0A1A2A3A4";
  3.  
  4. preg_match_all("/A(.+?)A/is", $str, $arr, PREG_PATTERN_ORDER);
  5.  
  6. preg_match_all("/A(.+?)(A|\Z)/is", $str, $arr, PREG_PATTERN_ORDER);
  7.  


находит только 1 и 3

не соображу, как достать 1, 2, 3 и 4 ?

(Отредактировано автором: 13 Июля, 2016 - 10:40:17)

 
 Top
Мелкий Супермодератор
Отправлено: 13 Июля, 2016 - 11:08:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 11888
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 614 раз(а)




Вам нужны lookahead проверки.
A(.+?)(?=A|\Z)
А по соображениям оптимальности выражения, A([^A]++)(?=A|\Z)


-----
PostgreSQL DBA
 
 Top
san4es
Отправлено: 13 Июля, 2016 - 11:11:40
Post Id


Частый гость


Покинул форум
Сообщений всего: 200
Дата рег-ции: Март 2008  
Откуда: СПб, Ломоносов


Помог: 0 раз(а)




Мелкий пишет:
Вам нужны lookahead проверки.
A(.+?)(?=A|\Z)
А по соображениям оптимальности выражения, A([^A]++)(?=A|\Z)


Спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB