Forum Webscript.Ru

Программирование => Регулярные выражения => Тема начата: serg128 от 28 Января 2008, 13:27:56

Название: regexp, или как разбить выражение через разделитель?
Отправлено: serg128 от 28 Января 2008, 13:27:56
Народ, задача такая:
есть регулярное выражение:
eregi("((^gw)-(gw..$))|((^msc)-(msc..$))|((^stp)-(stp..$))|((^hlr)-(hlr..$))", $id, $Pok)
т.е. входная строка $id у меня имеет вид gw-gwXX или msc-mscXX или stp-stpXX или hlr-hlrXX, где ХХ - любые символы.
Из входной строки мне надо получить массив из 2х элементов: gw и gwXX.
Из описания ф-ции eregi, я вычитал, что последний параметр (масив $Pok) для этого и предназначен. Но на самом деле, в этом массиве куча левой информации появляется. Подскажите, как правильно?
Название: regexp, или как разбить выражение через разделитель?
Отправлено: serg128 от 29 Января 2008, 12:53:57
Цитировать

preg_match(\'/^(GW|MSC|STP|HLR)-(\\1..)$/i\', $id, $Pok)

И никаких проблем!