Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Регулярное выражение (http://forum.oszone.net/showthread.php?t=278832)

micolo 06-03-2014 18:12 2319980

Регулярное выражение
 
Доброго времени суток!
Подскажите пожалуйста как из строки "test [number] one" через findstr получить то, что находится в квадратных скобках (number). Что-то никак не осилю регулярку. Спасибо!

Iska 06-03-2014 18:52 2319990

micolo, никак: «findstr.exe» не предназначен для извлечения подстрок — он возвращает строки целиком.

Там всегда есть пробелы вокруг «[…]»? Внутри «[…]» пробелы могут быть?

micolo 06-03-2014 18:58 2319994

Да, внутри могут быть пробелы

Iska 06-03-2014 19:18 2319997

Попробуйте так (помеченное — только для понимания, можете удалить):
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sValue=test [nu mb er] one
set sWithoutLeftOutside=%sValue:*[=%
set sWithoutLeftOutsideAndInside=%sWithoutLeftOutside:*]=%
set sInside=!sWithoutLeftOutside:]%sWithoutLeftOutsideAndInside%=!

echo %sWithoutLeftOutside%
echo %sWithoutLeftOutsideAndInside%

echo %sInside%

endlocal
exit /b 0


Sp01LeR 06-03-2014 20:22 2320026

Ну а на целевой машине совсем нельзя сторонние проги запустить?
Просто выборку number в скобках легко можно осуществить через GREP (порт юниксовых утилит для винды скачать можно тут: http://unxutils.sourceforge.net/UnxUpdates.zip).


micolo 06-03-2014 20:23 2320027

Большое спасибо! То что нужно!


Время: 00:56.

Время: 00:56.
© OSzone.net 2001-