Регулярное выражение не оператор - PullRequest
0 голосов
/ 02 июня 2010

Мне нужно использовать регулярное выражение для извлечения значения из домена URL, который исключит все, кроме хоста (например, wordpress) и типа домена (например, .com). URL-адреса являются динамическими и содержат 2-3 значения для каждого результата (www.example.com или example.org). Я пытаюсь использовать это выражение, но я получаю только первую букву каждого элемента, который пытаюсь исключить:

Expresssion

(?!wordpress|com|www)(\w+|\d+)

Строка

example.wordpress.com

Результаты

  1. пример
  2. ordpress
  3. ом
  4. Желаемый результат

пример

Любая помощь будет принята с благодарностью

Ответы [ 3 ]

3 голосов
/ 03 июня 2010

Прикрепите ваше регулярное выражение:

\b(?!wordpress|com|www)(\w+|\d+)\b

Вы также можете подумать, действительно ли (\w+|\d+) имеет в виду то, что вы имеете в виду. \w уже включает цифры. Кроме того, в URL допускаются другие символы, такие как -. Вам нужно справиться с этим?

0 голосов
/ 03 июня 2010

Это так, что вы только после того, что после доменной части ??

(/\/(?!\/).*?\/(.*)/).exec("http://www.google.com/sdfsdf/fdsff")[1]
// returns sdfsdf/fdsff
0 голосов
/ 03 июня 2010

Если бы я делал подобные вещи, я бы использовал формат URL: что угодно (точка) Домен 2-го уровня (точка) Домен 1-го уровня:

^(?<level3>.*)[.]?(?<level2>.+)[.](?<level1>.+)$

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...