Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для paha444
9 / 9 / 4
Регистрация: 04.08.2013
Сообщений: 161

Написать регулярку

24.12.2017, 14:47. Показов 756. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть строки:
Шорты мужские яркие AG-0003993 Горчичный
Брюки мужские однотонные AG-0004026 Грифельный
Пиджак мужской , классический AG-0000169 Черный

и т.д.

нужно найти и заменить код AG-0003993,AG-0004026,AG-0000169 на запятую ","

Добавлено через 2 часа 25 минут
В общем сделал сам
PHP
1
preg_replace("/\s((AG-|AG|№AG-)[0-9]{1,10})\s|\s(\d{0,10}KG\d{0,10})\s/", ', цвет ' , $item['name']);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.12.2017, 14:47
Ответы с готовыми решениями:

Написать регулярку
Всем привет. Нужно составить регулярку из такой строки "{youtube}bBhF2l5E9-s|980|400|0{/youtube}" На выходе нужно получить массив: ...

Написать регулярку
Нужно написать регулярку <a class="otherFilmImg tooltipsy" href="http://site.ru/serial/52-bratya" title="Братья"...

Не получается написать регулярку
неполучаеться написать регулярку для сбора картинок на mail.ru нужно взять только...

2
8 / 8 / 3
Регистрация: 02.06.2014
Сообщений: 55
25.12.2017, 02:13
PHP
1
$output_string = preg_replace("/([А-яа-я\s.,]+)(\w+-\d+\s+)([А-яа-я\s]+)/ig", "$1, $3" , $input_string);
Добавлено через 2 минуты
или так, этот захватывает пробел перед AG-0003993
PHP
1
$output_string = preg_replace("/([А-яа-я\s.,]+)(\s\w{2}-\d{7}\s+)([А-яа-я\s]+)/ig", "$1, $3" , $input_string);
Добавлено через 2 минуты
а вот ещё более правильный и быстрый вариант
PHP
1
$output_string = preg_replace("/(\s\w{2}-\d{7}\s+)/ig", ", " , $input_string);
1
 Аватар для paha444
9 / 9 / 4
Регистрация: 04.08.2013
Сообщений: 161
25.12.2017, 11:02  [ТС]
Я сделал так:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$data = array(
0=>'Туника женская летняя, тонкая 426KG003 Акварель темная',
1=>'Шорты мужские яркие AG-3369 Горчичный',
2=>'Брюки мужские однотонные AG-0004026 Грифельный',
3=>'Пиджак мужской , классический AG-0000169 Черный',
4=>'Брюки классические прямые AG0003327 Темно-синий',
5=>'Пиджак мужской в клетку №AG-0002966 Серый',
6=>'Кофта спортивная женская с капюшоном AG-0002585',
 
7=>'Шорты мужские яркиеAG-3369 Горчичный',
8=>'Рубашка женская пастельные оттенки 544KG001-3 Молочно-мятный',
 
9=>'Шапка короткая A0004689 Грифельно-серый',
 
10=>'Шорты мужские яркие цвет AG-3369 Горчичный'
 
 
);
 
 
$patterns = array ("/(\s|)цвет\s/",
                   "/(\s|)((AG-|AG|№AG-|A0)[0-9]{1,10})\s|\s(\d{0,10}KG[0-9-]{0,10})\s/",
                   "/(\s|)((AG-|AG|№AG-|A0)[0-9]{1,10})$|\s(\d{0,10}KG[0-9-]{0,10})$/");
$replace = array ("",", цвет ", "");
 
 
foreach($data as $value){
    
    echo preg_replace($patterns, $replace, $value);
    
    echo '<br>';
 
}
за ваш ответ спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2017, 11:02
Помогаю со студенческими работами здесь

как правильно написать регулярку
есть строка $text=&quot;заказ на сумму 2000 готов к отправке. номер заказа 123648976346&quot; как правильно написать регулярку чтобы получить...

Немогу написать регулярку для cURL
Есть html строка: &lt;a href=&quot;showthread.php?t=111&quot; id=&quot;thread_title_111&quot; style=&quot;font-weight:bold&quot;&gt;Текст&lt;/a&gt; Помогите выдрать слово...

Как написать регулярку для вырезания следующего
Здравствуйте, нужно из ответных заголовков сервера вырезать следующее. Вот что приходит: HTTP/1.1 302 Found Date: Sun, 12 Oct 2014...

Помогите написать регулярку
буквы (a-z) цыфры (0-15) Разрешенные специальные символы .-_()

Доработать регулярку
Всем привет. Нужно вырезать строку с её начала до первых следующих символов &quot;. -&quot; или &quot;.-&quot; или &quot;. –&quot; или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru