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

findstr "\<\\.*\." a.txt.这句并不准确,\<类似于[ ->]*,和^不同。
另外微软的自带翻译确实不咋地,典型的例子一个是r开关,另一个是对\的解释...

TOP

本帖最后由 zm900612 于 2011-6-14 16:26 编辑

12# 601997526


^代表匹配句首,与/b作用相同,只是^是匹配单条关键词而/b是匹配所有关键词。所以findstr /rc:"^\\ \\"等于findstr /bc:"\ \"

而\<代表匹配词首,而什么叫做词呢,按我的理解,它是两个分隔符之间的字符串,这个分隔符可以是除了数字和大小写之外的所有单字节字符,按照findstr中字符的实际大小来排列,是指字符顺序中从空格到>之间的字符(剩下的单字节字符都是数字和字母),所以findstr /rc:"\<\\ \\"等于findstr /rc:"[ ->]*\\ \\"。不过按这个观点来看,\<应该存在误把汉字当做分隔符的bug(因为findstr是以匹配字节的方式来进行搜索,所以应该会把ansi中的宽字节当成两个字节来匹配)。

^和\<的区别在这题中没有体现出来,但是举一个简单的例子可能就可以讲清楚了:
  1. @prompt 命令:
  2. findstr /rc:"^/rc" %~nx0
  3. pause>nul
  4. findstr /brc:"/rc" %~nx0
  5. pause>nul
  6. findstr /rc:"\</rc" %~nx0
  7. pause>nul
  8. findstr /rc:"[ ->]*/rc" %~nx0
  9. pause>nul
复制代码

TOP

返回列表