Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярные выражение 
:(
    Опции темы
Mushu
Дата 21.5.2009, 13:19 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Хотел узнать в ereg выра женни можно вставлять условие?

сама задача выглядит след образом:
"Пропускать любое предложение ^(-- [любые символы]) кроме тех строк которые начинаться -- error ......................

Как это моно реализовать ? 

Это сообщение отредактировал(а) Mushu - 21.5.2009, 13:20
PM MAIL   Вверх
enof
Дата 21.5.2009, 13:33 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(Mushu @  21.5.2009,  14:19 Найти цитируемый пост)
Пропускать любое предложение ^(-- [любые символы]) кроме тех строк которые начинаться -- error ......................

это русский язык?
Нормально опишите задачу.

Добавлено через 36 секунд
и еще, вместо eregi лучше использовать preg-функции
PM MAIL ICQ Skype   Вверх
Mushu
Дата 21.5.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Ок задача состоит в том чтоб пропускать любую строку кроме строки которая начинаться "-- error "
PM MAIL   Вверх
skyboy
Дата 21.5.2009, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



а строчки, начинающиеся с "--error" удалять?
Код

^--error

или наоборот - оставить только строки с --error?
Код

^([^-]|-[^-]|--[^e]|--e[^r]|--er[^r]|--err[^o]|--erro[^r])

PM MAIL   Вверх
Mushu
Дата 21.5.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



строчки, начинающиеся с "--error" не пропускать

Добавлено @ 14:37
такое выражение не проходит 

так пропускает
Код

$prov_str = "-- error qwewqewqeqwewq";

    
    if(ereg("^(^-- error)", $prov_str))
    {
      echo " ураа error не прошел";
    }


как инвертировать выражение чтоб он не пропускал строчки, начинающиеся с "--error" 

Строчки могут начинаться с :
1 "-- цыфры"
2 "-- символу"
3 "-- error"

Это сообщение отредактировал(а) Mushu - 21.5.2009, 14:56
PM MAIL   Вверх
enof
Дата 21.5.2009, 14:57 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Код

if(!preg_match("#^-- error#", $str))
{
    //Error не прошел
}


Добавлено через 1 минуту и 26 секунд
Цитата(Mushu @  21.5.2009,  15:36 Найти цитируемый пост)
не пропускал строчки, начинающиеся с "--error" 

Цитата(Mushu @  21.5.2009,  15:36 Найти цитируемый пост)
Строчки могут начинаться с :
3 "-- error"

С головой все в порядке?

Это сообщение отредактировал(а) enof - 21.5.2009, 14:57
PM MAIL ICQ Skype   Вверх
Mushu
Дата 21.5.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



в смысле  ?
PM MAIL   Вверх
enof
Дата 21.5.2009, 16:08 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



моя твоя не понимать.
то -- error нельзя, то можно
PM MAIL ICQ Skype   Вверх
Mushu
Дата 21.5.2009, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



сори не правильно сформулирвол.


Скажите плиз как разбить строку " бл3455алалалалал at C:\usr\www\lib\Class\DebugSql\DebugSql.php line 302  блалал2345алалал "
на две подстроки 
str = "C:\usr\www\lib\Class\DebugSql\DebugSql.php"   и
str = "302"

с помошью preg_split()  ?
PM MAIL   Вверх
enof
Дата 21.5.2009, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



причем тут preg_split?
Код

preg_match("#at (.*) line \((\d+)\)#U", $str, $out);
print_r($out);

PM MAIL ICQ Skype   Вверх
Mushu
Дата 21.5.2009, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



СПС большое изучаю дальше
PM MAIL   Вверх
Mushu
Дата 22.5.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



А как всё таки с помощью рег. выражений, не пропускать строку, в которой есть слово "error" , оно может быть на любой позицией   ?
PM MAIL   Вверх
Mushu
Дата 22.5.2009, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 20.7.2004

Репутация: -2
Всего: -5



Это выражение пропускает -- error 

Код

if(!preg_match("#^-- error#", $str))
{
    //Error не прошел
}


Добавлено через 3 минуты и 51 секунду
А вот в 
Код

$prov_str = "-- error qwewqewqeqwewq";
    
    if(ereg("^(^-- error)", $prov_str))
    {
      echo " ураа error не прошел";
    }


Все работает.  а как реализовать в preg_match и за что отвечает данный символ "#" ?
PM MAIL   Вверх
enof
Дата 22.5.2009, 15:02 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Вы вообще русский язык изучали?
Цитата(Mushu @  22.5.2009,  14:05 Найти цитируемый пост)
^(^-- error)

что означает сие выражение?
Цитата(Mushu @  22.5.2009,  14:05 Найти цитируемый пост)
Это выражение пропускает -- error 

Ошибся я, восклицательный знак самому не убрать?
Цитата(Mushu @  22.5.2009,  14:05 Найти цитируемый пост)
за что отвечает данный символ "#" ? 

граница шаблона.
Нафига вообще регулярные выражения? Обычные строковые функции не подходят?
Не проще ли так написать:
Код

if(strpos($str, "-- error") === 0)
{
    //-- error найден
}

а не торчать на форуме несколько дней с тупыми вопросами?
PM MAIL ICQ Skype   Вверх
skyboy
Дата 22.5.2009, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



enof, спокойнее, пожалуйста.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.