2014-12-16 2 views
2

Я работаю над пакетным файлом, который должен будет спросить пользователей о версии. Версия должна иметь форму /d+/d+/d+, bu Я ожидаю, что кто-то ошибется или намеренно даст плохую информацию. Вместо того, чтобы файл попытался использовать этот неправильный шаблон, мне было интересно, можно ли каким-то образом установить шаблон для ввода. Я не считаю, что пакет принимает рег-экс. Но есть ли какой-то способ, возможно, существующая утилита, чтобы протестировать ввод по шаблону.Batch - принять ввод по шаблону specificc

ответ

1

Команда FINDSTR может выполнять основные регулярные выражения.

Примеры:

ECHO Test | FINDSTR /R /C:"[0-9]" 
--> Empty/null output since it doesn't match the expression. 

ECHO 132 | FINDSTR /R /C:"[0-9]" 
--> 132 

Чтобы использовать в качестве подтверждения, что-то подобное может быть сделано:

FOR /F "usebackq tokens=* delims=" %%A IN (`ECHO "%InputValue%" ^| FINDSTR /R /C:"[0-9]"`) DO SET Result=%%A 
IF NOT "%Result%"=="" (
    ECHO Matched the pattern. 
) ELSE (
    ECHO Did not match the pattern. 
) 
Смежные вопросы