findstr正则

findstr正则findstr 的正则表达式是用来定义字符串样式的它的元字符有 等 参与运算的对象主要是字母 数字 符号 还有汉字 而且该运算具有特殊的规则 nbsp findstr 中正则表达式用法规则小结 行首行尾规则如 rem bat 表示从行首匹配 rem 从行尾匹配 bat 行首行尾可以是英文 数字 还可以是汉字 nbsp 字符集规则

 findstr的正则表达式是用来定义字符串样式的

它的元字符有 .、*、[-]、\、\<、\>、^、$等。
参与运算的对象主要是字母、数字、符号、还有汉字。而且该运算具有特殊的规则。

 
findstr中正则表达式用法规则小结
● 行首行尾规则

如”^rem”、”bat$” 表示从行首匹配rem、从行尾匹配bat。
○ 行首行尾可以是英文、数字,还可以是汉字。

 
● 字符集规则

如 [}>]、[abc]、[123]、[a-zA-Z]、[0-9] 表示行中含有集里的任意字符即匹配。
注意,这是集合,不是串。如:”[news]”不能理解为查找含有news单词的行,只能是定位含有n e w s 4个字母之一的行。
○ 需要说明的是,该字符集里的集元素可以是字母和数字和一般的半角字符。
如可以是 : } { , . ] [等,但双引号”不被识别,不能是汉字(汉字不是ASCII码)。
○ “[.*]” 集合中出现的 .*,作为普通字符,没有特殊含意。
○ 可以组合使用,如 [aef1-3x-z]表示该字符集是aef和数字1-3和字母x-z等元素的并集.
○ “[ah][1-3]” 表示 2 个字符。






 
● 减法规则
[^abc] 参照帮助信息,本该理解为,匹配不含abc三个字母的行。但在xp系统下,却不被正确解释。

○ “[^echo.]” 实际表示在查找结果中去除为”echo.”字符串的行。
 
● 通配符和重复符规则

即 .*
○ 通配符 . 代表任何一个字符,包括字母、数字、半角符号还有空格,但不包括空行。
○ 重复符 * 代表前面字母的重复(重复次数从0到多次)。如 .* [a-z]* [0-9]* [abc]* a*


 
● 单词前缀后缀定位规则

“\



该单词可以是英文单词和数字,该单词规则不适用于汉字。符号 \ 为转义符。
○ “\

○ “ed\>” 查找文本中,英文单词以ed为后缀的单词 如 called added changed

○ “\

” 用来精确查找单词。这里用来精确查找单词call ,那么calling called 就不被匹配。

○ “\<3389\>” 表示精确查找3389 那么33898、就不被匹配。







 
● 关键字规则 “string”

该string可以是英文单词、汉字、数字、符号以及上面规则的组合.
能够正确解读汉字的只有行首行尾规则,和该规则。

● 转义符 \
把表达式中的特殊字符(元字符)转化为普通字符。但不能对双引号” 和大于号 > 转义。
常见写法
\.、\*、\\、\[、\]、\-、\\<  
如 “\.bat” 把通配符转化为普通的句点,这里表示匹配”.bat”结尾的批处理文件名。也可以写成 “[.]bat”







 
示例1:
dir /a /b /s d:\ | findstr /i “\.bat$”

○ 查找行尾是”.bat”字符串的行,并显示出来。
\是转义符号,使句点.不再是通配符,而是文件拓展名中的点。用于表达式 的 关键字查询,在这里是列举后缀是bat的批处理文件。

dir /a /b /s d:\ | findstr /i “.bat$”

○ 同效于 dir /a /b /s d:\ | findstr /i “bat$”
// 不,有一字符之差

findstr /r /i /n Google d:\bat\wenben.txt | more

○ 使用 Strings 和 [Drive:][Path] FileName […] 在命令字符串中,所有 findstr 命令行选项必须在 Strings 和 [Drive:][Path] FileName […] 之前。
findstr /r /i /n /x /c:”Google news” d:\bat\htm\meinv.txt | more

○ /x 打印完全匹配的行.查找只有“Google news”单词的行。
如果是带空格的字符串 ,要用双引号引起来,而且要用参数/C:”string1 string2″

findstr . 2.txt 或 Findstr “.” 2.txt

○ 从文件2.txt中查找任意字符,不包括空字符或空行。
空字符不是空格。.可以匹配空格
// F:>echo hi pz|findstr “…pz”
// hi pz
// F:>echo hi pz|findstr “….pz”
//





findstr /i /n [g-k] d:\bat\htm\meinv.txt | more

○ 表达式中[g-k],可以是字母a-z 或者数字0-9,不能是汉字。而且要顺序排列,由小到大。



 
示例2

下面的命令实现提取网页的特定行
Findstr /r /i /n %string% %htmfile%
%htmfile% 表示网页文件(文本文件)。

%string% 表示 关键字或字符串表达式。

” 提取
所在行的信息,即标题信息。

” 提取在内加粗的文本


[59]   查找含有数字5或9的行

1[58] 查询含有15或18的行
[@,.] 查找含有符号”@”或逗号”,”或句点”.”的行,定位有该符号任意之一的行。但双引号”不被正确解释。// ?
“^ “}$”   定位行尾是右花括号的行

“[}>]$”   定位行尾是右花括号或者大于号的行. 使用行首或行尾进行综合定位时必须加双引号才能被正确解释。
“[^echo.]” 减法规则,在查找结果中去除含有”echo.”字符串的行,而且有严格规定,该行仅仅只有字符串”echo.”不能再含有其它字   符,甚至不能有空格。否则视为无效。但是可以使用多个减法规则,用来去除多行。
“[^echo.][^add][^call]” 减法规则,查找去除含有echo. 或者add 或者call单词的行。
“[.*]” 如果在字符集内插入通配符和重复符号将视为普通字符,没有通配和重复的含义。
“[abcl][^echo.]” 减法规则也可以与字符集规则联合使用。
“[abcl][^echo.][^add][^call]”











@echo off

title 循环测试正则表达式用法
: begin
cls
set /p string=输入关键字或字符串表达式
set htmfile=d:\bat\htm\meinv.htm
echo.
Findstr /r /i /n %string% %htmfile%|more
echo.
pause&&goto begin








rem Q键退出more

rem 参数/R 强调以正则表达式规则来解读字符串。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222608.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:23
下一篇 2026年3月17日 下午3:24


相关推荐

  • excel自学第1天_excel制作项目时间进度表_excel表头

    excel自学第1天_excel制作项目时间进度表_excel表头一 前言本节课使用 excel 制作项目进度表 二 操作步骤 F4 重复上一步操作字体选择微软雅黑 看起来商务一些 字号 10 或 11 行高 15 35 25 左右比较舒服 斜线表头制作方法 需要换行的地方安装 alt 回车 使其换行 单击单元格 右键 设置单元格格式 边框 第一行再前面加几个空格进行调整三 效果图

    2026年3月17日
    1
  • rpm卸载多个有依赖的rpm包[通俗易懂]

    rpm卸载多个有依赖的rpm包[通俗易懂][root@devOOo_3.1.0_src]#rpm-qlibxml2[root@devOOo_3.1.0_src]#rpm-qalibxml2*[root@dev~]#rpm-qa|greplibxml2libxml2-python-2.6.26-2.1.12libxml2-devel-2.6.26-2.1.12libxml2-2.6.26libxm…

    2026年2月14日
    5
  • 3.1 代价函数[通俗易懂]

    3.1 代价函数[通俗易懂]3.1代价函数(costfunction)    代价函数有助于将最可能的线性函数与我们的数据相拟合。在线性回归中,我们有一个这样的数据集,m表示训练集样本数,而我们的假设函数,也就是我们用来进行预测的函数,是图中所示的线性函数形式。    接下来,我们引入一些术语,Ɵ0和Ɵ1,这些Ɵi我们将它称作为模型参数,我们要做的就是如何去选择这两个参数。对于不同的Ɵ0和Ɵ1,我们会得到不同

    2022年4月30日
    50
  • TargetScan 数据库简介

    TargetScan 数据库简介TargetScan 是一个 miRNA 靶基因预测的网站 包括了人 小鼠 果蝇 线虫 斑马鱼共 5 个物种的 miRNA 靶基因结果 人 TargetScanHu 小鼠 TargetScanMo 果蝇 TargetScanFl 线虫 TargetScanWo 斑马鱼 TargetScanFi 以 human 为例 进行说明 网址如下 http w

    2026年3月26日
    2
  • 最全的 MCP协议的 Stdio 机制代码实战

    最全的 MCP协议的 Stdio 机制代码实战

    2026年3月12日
    2
  • 使用frp配置内网访问(穿透)教程(超详细,简单)

    使用frp配置内网访问(穿透)教程(超详细,简单)1Frp 介绍 frp 是一个开源 简洁易用 高性能的内网穿透和反向代理软件 支持 tcp udp http https 等协议 frp 项目官网是 https github com fatedier frp frp 工作原理服务端运行 监听一个主端口 等待客户端的连接 客户端连接到服务端的主端口 同时告诉服务端要监听的端口和转发类型 服务端 fork 新的进程监听客户端指定的端口 外网用户连接到客户端指定的端口 服务端通过和客户端的连接将数据转发到客户端 客户端进程再将数据转发到本地服务

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号