[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助批处理findstr命令文本匹配问题

  1. echo "10__0__22000__613"|findstr /i /r /c:"[0-9]__[0-9]__[0-9]__[0-9]">nul&&(echo ok)||(echo no)
复制代码
各位大佬,这句代码错在哪了?如何匹配呢?

  1. echo "10__0__2__6"|findstr /i /r /c:"[0-9]__[0-9]__[0-9]__[0-9]">nul&&(echo ok)||(echo no)
复制代码

TOP

回复 2# idwma


    如何匹配10__0__22000__613呢

TOP

每个数字对应一个[0-9]
bat小白,请多指教!谢谢!

TOP

回复 4# 77七


    这就麻烦了

TOP

回复 5# jun.


   你具体匹配什么?[0-9]* 表示数字重复0次或以上,详细教程板块有教学帖子
bat小白,请多指教!谢谢!

TOP

回复  jun.


   你具体匹配什么?[0-9]* 表示数字重复0次或以上,详细教程板块有教学帖子
77七 发表于 2024-12-5 17:16



    谢谢,问题解决

TOP

本帖最后由 aloha20200628 于 2024-12-5 19:59 编辑

回复 1# jun.

比较准确的匹配模式如下,分隔符之间须有数字才被认可
  1. echo "10__0__2__6"|findstr /i /r /c:"[0-9][0-9]*__[0-9][0-9]*__[0-9][0-9]*__[0-9][0-9]*">nul&&(echo ok)||(echo no)
复制代码
以下匹配模式则认可分隔符之间没有数字,即 “______” 也会被认可...
  1. echo "10__0__2__6"|findstr /i /r /c:"[0-9]*__[0-9]*__[0-9]*__[0-9]*">nul&&(echo ok)||(echo no)
复制代码

TOP

回复 8# aloha20200628


    感谢大佬,解释的非常到位。

TOP

返回列表