Показать полную графическую версию : [решено] Регулярное выражение
Доброго времени суток!
Подскажите пожалуйста как из строки "test [number] one" через findstr получить то, что находится в квадратных скобках (number). Что-то никак не осилю регулярку. Спасибо!
micolo, никак: «findstr.exe» не предназначен для извлечения подстрок — он возвращает строки целиком.
Там всегда есть пробелы вокруг «[…]»? Внутри «[…]» пробелы могут быть?
Да, внутри могут быть пробелы
Попробуйте так (помеченное — только для понимания, можете удалить):
@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
Ну а на целевой машине совсем нельзя сторонние проги запустить?
Просто выборку number в скобках легко можно осуществить через GREP (порт юниксовых утилит для винды скачать можно тут: http://unxutils.sourceforge.net/UnxUpdates.zip).
http://n70me.host.sk/simg.php
Большое спасибо! То что нужно!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.