Программирование > Регулярные выражения
СНОВА ВОПРОСЫ
Abram:
Итак за выходные накопилось несколько вопросов:
1.Есть выражение: /(B1)(B2)(B3)/s, где в скобках стоят выражения. Есть ли такая функция которая находит выражение /(B1)(B2)(B3)/s и вкидает в масив куски В1, В2, В3. Или как это можно сделать по-другому?
2.Есть выражение: /(B1)(B2)(B3)/s. Как ему сказать, чтобы возвращало только кусок В1 и В3(без В2).
Пробовал писать /(B1)(?:B2)(B3)/s - не получается
3.Как в регах организовуется вевтление? Например у меня такая задача:
В прайсе может указываться оптовая цена а может и не указываться:
1.
РОЗН ОПТ
12.5 12.1
11.5 11.0
HTML код -
12,5
11.5
12.1
11.0
2.
РОЗН ОПТ
12.5 12.1
11.5
HTML код -
12,5
11.5
12.1
Как правильно вырезать данные?
4.Может кто знает ссылки на книги и руководства по регулярным вырежаниям? Все что встречал в сети - небольшие статейки и мало примеров. Хочется нырять глубже.
Yukko:
--- Цитировать ---Abram:
Есть ли такая функция которая находит выражение
--- Конец цитаты ---
а чем [p]preg_match[/p] не устраивает?
--- Цитировать ---Abram:
Есть выражение: /(B1)(B2)(B3)/s. Как ему сказать, чтобы возвращало только кусок В1 и В3(без В2).
--- Конец цитаты ---
Код!!! Где Код???!!! Я тебе уже раз доказал, что ищет, еще раз доказать?
--- Цитировать ---Abram:
3.Как в регах организовуется вевтление?
--- Конец цитаты ---
читай статьи там я описал как пользоваться альтернативами. И примеры там тоже есть...
Abram:
1.
--- Цитировать ---а чем preg_match не устраивает?
--- Конец цитаты ---
Обьясните пожалуйста с примером:
есть выражение: /(\\d*)([abc]*)([A]*)/
и есть таблица с полями П1 П2 П3
В результате работы скрипта я должен получить в базу:
П1 - (\\d)*
П2 - ([abc]*)
П3 - [A]*)
где в поля пишутся елементы исходного выражения записаного выше.
2.
Опять пример:
$a="SFSSHSDHDF23dfgGJFJFGJFJF";
Выражение которое вырезает 23dfg:
/(\\d*)([a-z]*).
Нужно сделать так чтобы в результате не учитывались символы [a-z]*, тоесть только цифры(Мне нужны цифры которые удовлетворяют этот шаблон)
Я писал (\\d*)(?:[a-z]*), но возвращает всю строку $a Как правильно?
Yukko:
$a="SFSSHSDHDF23dfgGJFJFGJFJF";
preg_match("/^[A-Z]*(\\d*)(?:[a-z]*)[A-Z]*$/", $a, $matches);
print_r($matches);
Ты в строке ищешь? вот и получается, что тебе строку надо описать, а потом в ней кусок найти.
Abram:
А как сделать для первого случая с базой данных?
Навигация
Перейти к полной версии