Официальный сайт студ.городка НГТУ
Программирование и БД » Регулярные выражения + ПЫХ = вопрос 

#1  27.09.06 18:35

Регулярные выражения + ПЫХ = вопрос

<?php
$d="INSERT INTO PlaceholderInfo(PlaceholderInfoID, MsgClassName, Placeholder, Description, Sample, ListPrefix, UserArc,

DateArc )
VALUES (5,'Trouble Ticket Notification','Ticket_Level_Description','General ticketinfo : Description of ticket Support

Level','Front Level of Support',NULL,0,0);";
ereg ('VALUES\s\([\d]+,'([\w\s\d]+\)','[\w\s\d]+','([\w\s\d\:]+)', $d, $regs);
echo "$regs[1] $regs[0]";
//echo $d;
?>

Кто-нить может объяснить, почему эта [censored] не работает? Регулярное выражение абсолютно корректно, проверено в Espresso. Цель - вытащить второй и четвертый параметр строки вальюз. Думается, дело в экранировании, но сам допереть никак не могу.

Offline

#2  27.09.06 22:04

Re: Регулярные выражения + ПЫХ = вопрос

Укроп написал(а):

что именно не работает ?
регексп или вставка скл?

Это не я бляяя...

Offline

#3  27.09.06 22:22

Re: Регулярные выражения + ПЫХ = вопрос

ereg неправильно воспринимает регулярное выражение

Offline

#4  28.09.06 07:39

Re: Регулярные выражения + ПЫХ = вопрос

Как, неправильно?

К тебе подходят, говорят "Я тут программу поставил для тренировки печати с десятью пальцами. Она не работает. Что нужно делать чтобы она работала?" Твоя первая реакция: Как, она не работает?

Offline

#5  28.09.06 12:34

Re: Регулярные выражения + ПЫХ = вопрос

ну это видимо не тот случай

сидит один программист, что-то пишет. подходит другой и спрашивает:  что пишешь? первый отвечает:  щас компильну и посмотрим...

Offline

#6  28.09.06 14:30

Re: Регулярные выражения + ПЫХ = вопрос

что непонятно еще?

Есть правильно регулярное выражение, есть функция, которой передается в качестве параметров само выражение, строка к которой прикладывать и массив куда спихивать результаты. После вычисления ereg возвращает пустые значения. А по идее должна возвращать два элемента из строки. Остальной код корректный. Значит, вероятно, проблема в том, как передается регулярное выражение в функцию. Отюда и вопрос - что не так. Еще разжевывать?

Offline

#7  28.09.06 20:10

Re: Регулярные выражения + ПЫХ = вопрос

С кавычками в ereg() разберись.

Offline

#8  29.09.06 00:46

Maq
Профиль

Re: Регулярные выражения + ПЫХ = вопрос

ereg ('VALUES\s\([\d]+','([\w\s\d]+\)','[\w\s\d]+','([\w\s\d\:]+)', $d, $regs);
вроде как пропущено

Offline

#9  29.09.06 18:41

Re: Регулярные выражения + ПЫХ = вопрос

о, кстати да. Щаз посмотрим, мб из-за этого.

Offline

#10  17.10.06 13:31

Re: Регулярные выражения + ПЫХ = вопрос

В общем, на случай если еще кто-то споткнется на этом же. Делюсь опытом. Проблема в исходном коде в самой функции ereg. Она не поддерживает параметры \w, \s, \d. Выход - использовать ф-ю preg-match или видоизменить выражение так, чтобы оно не содержало оначенных символов. Ниже - два верных варианта соответственно.

preg_match('%VALUES\s\(\d+,\'([\w\s\d]+)\',\'[\w\s\d]+\',\'([\w\s\d\:]+)%', $d, $regs);

ereg ("VALUES[^\']+\'([^\']+).{3}[^\']+.{3}([^\']+)", $d, $regs);

Offline

Программирование и БД » Регулярные выражения + ПЫХ = вопрос 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.018 сек.
Выполнено 11 запросов.