regex - 正则表达式以匹配批处理脚本中的变量

标签 regex batch-file

@echo off

SET /p var=Enter: 
echo %var% | findstr /r "^[a-z]{2,3}$">nul 2>&1
if errorlevel 1 (echo does not contain) else (echo contains)
pause


我正在尝试验证应包含2个或3个字母的输入。但是我尝试了所有可能的答案,它仅运行if error level 1 (echo does not contain)

有谁可以帮助我吗。非常感谢。

最佳答案

findstr没有完整的REGEX支持。特别是没有{Count}。您必须使用一种解决方法:

echo %var%|findstr /r "^[a-z][a-z]$ ^[a-z][a-z][a-z]$"


搜索^[a-z][a-z]$^[a-z][a-z][a-z]$

(注意:%var%|之间没有空格-这将是字符串的一部分)

关于regex - 正则表达式以匹配批处理脚本中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34524390/

相关文章:

python - 使用正则表达式解析 .srt 文件

batch-file - 如何使用批处理脚本解析 csv 文件?

variables - 如何覆盖批处理变量的字符数限制?

C# 批处理文件未正确运行

JavaScript 正则表达式 : why is alternation not ordered?

平台之间的 C++ 正则表达式差异

c++ - Qt5:使用 QProcess::startDetached 调用 .bat 文件在 System32 中找不到程序

batch-file - 在 Windows 7 中更改屏幕分辨率的批处理文件

python - 在引号之间匹配字符串时出现问题,但如果行以 % 开头则不会出现问题

Python正则表达式查找括号内的所有内容,并预先加上前缀