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

TOP

支持了,学习下

TOP

统计的偏移量是包含结果中统计值所占的偏移量的,如第一行其实没有字符,结果为0:,占了两个偏移量,第二行有个空格, 结果中第二行占了三个偏移量,所以第三行统计的偏移量为2+3等于5

不知道这样理解正解否?

TOP

find "\<XXX\>" xxx.txt查找字符串的时候会将特殊字符(非字母数字)视为合法,如xx.txt内容为:
hello&%$+
hello world
helloworld
执行命令:findstr /i  "\<hello\>" 123.txt
结果为:
hello&%$+
hello world
感觉这两个元字符确实有些不足呀!
1

评分人数

    • xuhuoren: 确实啊,看来在设计的时候没有考虑到这种特 ...技术 + 1

TOP

支持了,我很久到这里看看了。

TOP

感谢出了续集,学习下

TOP

在处理一些字符(比如有时候是中文,没有总结)时,用findstr /r 或findstr /l 试试。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 8# cjiabing


正则表达式简介
http://www.bathome.net/thread-4485-1-1.html

批处理findstr命令正则表达式的基本用法
http://www.bathome.net/thread-24-1-1.html

TOP

我明白了!不在于“\”这个符号,“即使不指定/r,这也是默认行为”也没有错,关键是/c的特性——将字符链接起来,有去正则表达式的效果。

证明:
Findstr ".*" 1.txt
显示所有1.txt中的内容

Findstr /c:".*" 1.txt
什么也不显示,因为1.txt中没有包含“.*”的项。

TOP

回复 7# yyykkkyyyy
  1. echo a    bc|findstr/rc:"a\ *b"
复制代码
这个确实是意料之外的,那本《正则表达式入门经典》信誓旦旦的说“即使不指定/r,这也是默认行为”——其它测试这个说法是没问题的,但在空格这点上确实加了/r才会有结果。

莫非猫腻在“\”这个特殊的转义符?

TOP

其他的不是很难,关键是正则表达式这里最好多点例子。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

我来学习的同时,把我摸索出的一点 /r 应用说一下 :
看到/c 参数 很容易知道——如果希望查找匹配项是含空格的一串字符,而不是分别匹配空格分隔的多项,可以加/c: 如
  1. echo a bc|findstr/c:"a bc"
复制代码
可是必须空格数也要准确一致,如果希望能匹配字符串中含不定数目的空格呢?/r 就发挥作用了
  1. echo a    bc|findstr/rc:"a\ *b"
复制代码
1

评分人数

TOP

本帖最后由 doupip 于 2011-12-23 10:31 编辑

楼主辛苦~
  1. /v,未知;
复制代码
/v参数也是一个通用项.英文表达是invert-match 即反选,反转匹配模式  =select non-matching
在linux中的许多命令中也适用,只不过linux中是严格区分大小分,此参数用的是-V
  1. /c,case,意为“把几个字加起来”;引申为“全部字匹配”;
复制代码
/c:string     Uses specified string as a literal search string.  如果要用英文单词来帮助记忆的话,我觉得是character string更合适.
1

评分人数

TOP

非常棒,好好学习。
赞成“拿来主义”,但是鄙视“伸手党”

TOP

好文,顶一个!

TOP

返回列表