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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярное выражение 
V
    Опции темы
ohuel
Дата 15.3.2009, 09:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



есть строка

word, word, word word, word and word
PM MAIL   Вверх
Shark
Дата 15.3.2009, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а че надо сделать то?

Добавлено @ 09:39
Из правил:
Очень желательно в новом сообщении указывать следующее: — Среду/язык разработки; — Фрагменты неработающего кода; — Чётко, полно и кратко обрисовать проблему. Помните, что телепатов здесь нет, и на вопрос «Я написал программу, а она не работает» никто Вам ответить не сможет. 


Это сообщение отредактировал(а) Shark - 15.3.2009, 09:39


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
ohuel
Дата 15.3.2009, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



есть строка

word, word, word, word 1=and word


регулярка (\,\s\w+)+\s(1=or|1=and) захватывает строку вместе с 1=and

word, word, word, word 1=and word

как делать чтобы регулярка захватывала строку ДО 1=and ?

word, word, word, word 1=and word


зы - на enter случайно нажал
PM MAIL   Вверх
iAnthony
Дата 15.3.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



чтобы последнее или твое не захватывало, поставь в ней ?:. Т.е. будет (?:1=or|1=and)

Это сообщение отредактировал(а) iAnthony - 15.3.2009, 12:10
PM MAIL   Вверх
ohuel
Дата 15.3.2009, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вместо ?: ?=

Это сообщение отредактировал(а) ohuel - 15.3.2009, 13:57
PM MAIL   Вверх
ohuel
Дата 15.3.2009, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



как кстати выделить все символы кроме СЛОВА and ?

[^(and)]+ НЕ выделяет не только and но и буквы d в словах word

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


Опытный
**


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

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



Код

$str = "word, word, word, word 1=and word";
preg_match_all('#(?:(\w+),\s)#', $str, $arr_matches);
echo "<pre>"; print_r($arr_matches);

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


Новичок



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

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



это работает не так как надо


вот вроде работает (\,\s\w+)+\s(?=1=or|1=and)
PM MAIL   Вверх
enof
Дата 15.3.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(ohuel @  15.3.2009,  12:47 Найти цитируемый пост)
вместо ?: ?=

вы знаете смысл этих комбинаций? сомневаюсь.

Код

$str = "word, word, word, word 1=and word";
preg_match_all('#(?:(?<=,\s|^)(\w+),?\s(?<!1=and))#', $str, $arr_matches);
echo "<pre>"; print_r($arr_matches);

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


Новичок



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

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



Цитата

вы знаете смысл этих комбинаций? сомневаюсь.

знаю ...

(\,\s\w+)+\s(?=1=or|1=and) - работает

(?:(?<=,\s|^)(\w+),?\s(?<!1=and)) - не работает
(куды кстати делось 1=or ?)

ты хоть проверяешь свой код прежде чем выкладывать ?
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.

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


 




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


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

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