2015-06-22 4 views
0

Я пытаюсь получить вложенное число между двумя сокращениями в URL-адресе с помощью регулярного выражения. Код regex, который у меня есть, не работает, я довольно новичок в регулярном выражении и на самом деле не понимаю его.Получить номер из строки

Регулярное выражение:

http:\/\/?www\.?example\.com\/g\/(^\d$)\/\w 

URL-адрес:

http://www.example.com/g/1337/Game-Title 

Попытка получить "1337", которая является PlaceId. Http: // и www. являются необязательными

+0

Какой язык вы используете эти регулярные выражения в? –

ответ

5

Используйте \d+ для соответствия одной или нескольким цифрам.

\b(?:http:\/\/)?(?:www\.)?example\.com\/g\/(\d+)\/\w 

поставил http:// и www. внутри захвата или не caturing группы, а затем сделать его в качестве факультативных, добавив ? квантор рядом с этой группой. Для обоих http и https, было бы (?:https?:\/\/)?

DEMO

+0

Это частично работает, но я хочу работать без http; // OR www. Будучи там. –

+0

Кроме того, '\ w', вероятно, должен быть' \ w + 'или' [aA-zZ0-9 _ \ -] + ' –

+1

@NielsAbildgaard, он просто хочет захватить только эту цифру, поэтому нет проблем. –

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