Всем привет. Помогите с регуляркой.
требуется вырезать из текста ненужные строки оставляя нужное.
Конкретный пример:
Строка: [BRAND] Наклейка на стекло "полоса", цвет синий
Применяю регулярку: /] (.*), цвет/
Получается все как надо: Наклейка на стекло "полоса"
Но если у меня текст: [BRAND] Наклейка на стекло "полоса"
То результат пустой.
Как сделать чтобы работало в обоих случаях. Т.е. чтобы вырезалось до ", цвет" либо до конца строки если не нашлось совпадения с ", цвет"?
1. phpcode83 - 05 Августа, 2015 - 10:11:29 - перейти к сообщению
2. DeepVarvar - 05 Августа, 2015 - 10:37:25 - перейти к сообщению
А не проще ли через strpos/strrpos?
3. Мелкий - 05 Августа, 2015 - 10:39:04 - перейти к сообщению
phpcode83 пишет:
вырезалось до ", цвет" либо до конца строки
(?:, цвет|$)
4. phpcode83 - 05 Августа, 2015 - 11:01:21 - перейти к сообщению
DeepVarvar пишет:
А не проще ли через strpos/strrpos?
Не, это больше кода. Да и тем более у меня регулярка задается не в коде а в свойстве. Для разных разделов разные регулярки применяются.
(Добавление)
Мелкий пишет:
(?:, цвет|$)
Спасибо, а как это применить полностью в регулярном выражении?