Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Регулярное выражение

Ответить
Настройки темы
CMD/BAT - [решено] Регулярное выражение

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:12, 06-03-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


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

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

Отправлено: 18:52, 06-03-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:58, 06-03-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Попробуйте так (помеченное — только для понимания, можете удалить):
Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:18, 06-03-2014 | #4


Аватара для Sp01LeR

Пользователь


Сообщения: 60
Благодарности: 13

Профиль | Отправить PM | Цитировать


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


Отправлено: 20:22, 06-03-2014 | #5


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 20:23, 06-03-2014 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Регулярное выражение

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - Регулярное выражение LilLoco Программирование и базы данных 19 04-05-2016 09:36
Debian/Ubuntu - grep регулярное выражение Forpost Общий по Linux 3 25-05-2012 00:50
Регулярное выражение venuko Вебмастеру 11 02-08-2010 18:18
регулярное выражение на пхп. Drem Вебмастеру 13 22-07-2006 00:16
Регулярное выражение benya Вебмастеру 27 26-08-2005 14:34




 
Переход