Войти

Показать полную графическую версию : Регулярные выражения для образки URL


ntro123
22-02-2014, 21:06
Добрый вечер, не смог найти как через регулярные обрезать ссылку вида http://site-one.ru/media/pgsysdir/ до вида site-one.ru вот код чтения из файда по строке:

@echo off
setlocal enabledelayedexpansion
set cnt=0
for /f "usebackq tokens=*" %%A IN ("sites.txt") DO (
set /a cnt+=1
set string.!cnt!=%%A
)
@echo on

echo %string.1%

Заранее благодарен!

Iska
22-02-2014, 21:10
Именно через регулярные выражения — никак. В пакетных файлах нет возможностей полноценных регулярных выражений. Используйте портированные из Unix утилиты, если хотите остаться в рамках заданной категории.

Foreigner
22-02-2014, 21:21
ntro123, Именно через регулярные выражения? Штатно из cmd никак. С помощью sed:

echo http://site-one.ru/media/pgsysdir/ | sed -r "s/.*\/\/([^/]*).*/\1/"


Можно просто в цикле взять нужный токен:

for /f "tokens=2 delims=/" %%i in ("http://site-one.ru/media/pgsysdir/") do echo %%i

ntro123
22-02-2014, 21:49
мне без разницы как, циклом или не прямую через РВ, мне главное чтобы получал название сайта без http:// и https:// и без того, что идет после слеша /cat/123.php

Iska
22-02-2014, 21:59
Ну, так пользуйтесь. Код Вам привели.




© OSzone.net 2001-2012