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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RegExp: домен 2-ого уровня 
V
    Опции темы
Vitaly333
Дата 15.8.2011, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Нужно написать регэксп, который извлекает из урла доменную часть 2-ого уровня.
Т.е. из http://server24.mail.vkb.ru - должен извлечь только vkb
Если доменное имя состоит из двух слов, разделенных дефисом и первое слово это test, то регэксп должен извлечь только 2-ую часть домена.
Т.е. в случае http://server24.mail.test-vkb.ru должен извлечь тоже только vkb
Я написал такой рэгэксп:
Код

"/^*(?<=test-|\.|//)([a-z0-9-_]*)\.(?=ru|com|net|org)* /"
 
Но он выводит test-vkb все равно. Т.е. срабатывает условие №2 в ретроспективной проверке.
Как сделать так, чтобы при успешности 1-ого условия остальные игнорировались? Или я OR неправильно записываю?
PM MAIL   Вверх
Evghenusi
Дата 16.8.2011, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

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



если у тебя чисто список урл-ов, то:
Код
{[\w]+\.(?:ru|com|net|org)}i

PM WWW   Вверх
x8m6
Дата 16.8.2011, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В остальных случаях (все кроме test-*) мне нужно выводить домен полностью.
PM MAIL   Вверх
Evghenusi
Дата 19.8.2011, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

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



можно вытащить все домены где нет "test-" , но что бы "test-" не запоминалось не знаю как.
может просто вытаскивать все домены, а после проверять нет ли в них "куска" - "test-"?

Добавлено через 7 минут и 15 секунд
решил ещё подумать и осенило.....
Код
{(?:test-)?([\w-]+\.(?:ru|com|net|org))}i

набор строк
Код
http://server24.mail.vkb.ru
http://server24.mail.test-vkb.ru 
http://server24.mail.test.ru 
http://krivet-vkb.ru
http://test-vkb.ru

Всего совпадений 5
Код
1 : vkb.ru
1.1 : vkb.ru
2 : test-vkb.ru
2.1 : vkb.ru
3 : test.ru
3.1 : test.ru
4 : krivet-vkb.ru
4.1 : krivet-vkb.ru
5 : test-vkb.ru
5.1 : vkb.ru



PM WWW   Вверх
Vitaly333
Дата 20.8.2011, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо, работает. +1 в карму.
PM MAIL   Вверх
Evghenusi
Дата 20.8.2011, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

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



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


 




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


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

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