2015-02-04 2 views
0

У меня есть это регулярное выражениеRegex домен матча имя без WWW и сохранить website.com цела

^(?:http(?:s)?://)?(?:www(?:[0-9]+)?\.) 

сдирать WWW и HTTP (S): // часть любого доменного имени и дать только домен имя. Он работает с:

Но при использовании доменного имени, начинающиеся с буквы ж это полосы ш от

  • сайт .com => ebsite.com

Любые идеи о том, как сделать это лучше? Пожалуйста, проверьте его с помощью этого набора данных http://regexr.com/3abl2

Благодарности

+0

'(? Ы)?' Можно записать более просто как '' с –

ответ

0
  • Отбросьте часть (?:[0-9]+)?.) из регулярных выражений

  • Добавить дополнительный квантор ? к www. Соответствует нулю или один www

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

^(?:http(?:s)?:\/\/)?(?:www)? 

Regex Demo

+0

Листья из 'Http: //? Example.com'. Проверьте это здесь http://www.regexr.com/3abl2 – ralphowino

+0

В 'example.com' нет' www' или 'http'', чтобы удалить их – nu11p01n73R

+0

означает' http: // example.com' – ralphowino

0

Я думаю, что вы хотите что-то вроде этого:

^(?:https?:\/\/)?(?:www\.)?(.*)$ 

Пожалуйста see this Regex Demo примеры и объяснение.

UPDATE Похоже, вы также хотите, чтобы опустить www0, www1 и т.д.? Тогда вы хотите:

^(?:https?:\/\/)?(?:www[0-9]*\.)?(.*)$ 

Please see updated demo here.

Смежные вопросы