Windows shell 正则表达式功能
@echo off&setlocal
rem some testing
for %%i in (
"User1234"
"AAA111"
"AAA"
"111"
"aaa"
"a"
"1"
"me & you"
"1 + 1"
""
) do (
call:differentiate "%%~i"
)
goto:eof
:differentiate "string"
set "String=%~1"
setlocal enabledelayedexpansion
echo("!string!"|findstr "^.[0-9][0-9]*.$" >nul&& echo "!string!": only numbers || echo "!string!": NOT all numbers
echo("!string!"|findstr "^.[a-z][a-z]*.$" >nul&& echo "!string!": only letters || echo "!string!": NOT all letters
echo(
endlocal
goto:eof
..输出是:
“User1234”:并非所有数字
“User1234”:并非所有字母
“AAA111”:并非所有数字
“AAA111”:不是所有字母
“AAA”:并非所有数字
“AAA”:只有字母
“111”:只有数字
“111”:不是所有字母
“aaa”:不是所有数字
“aaa”:只有字母
“a”:不是所有数字
“a”:只有字母
“1”:只有数字
“1”:不是所有字母
“我和你”:不是所有的数字
“我和你”:不是所有的字母
“1 + 1”:不是所有数字
“1 + 1”:不是所有字母
"": 不是所有的数字
“”:不是所有的字母