批处理 - 接受特定模式的输入

时间:2014-12-16 15:56:43

标签: batch-file pattern-matching

我正在处理一个需要向用户询问版本的批处理文件。该版本应该采用/d+/d+/d+的形式,我期待有人会输入错误或故意给出错误的输入。而不是让文件尝试使用这个不正确的模式,我想知道是否有一些方法我可以为输入设置模式。我不相信批次接受reg-ex。但是,是否存在某种方式,即现有的实用程序,可以针对模式测试输入

1 个答案:

答案 0 :(得分: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.
)