作为白盒测试人员,SourceInsight软件是看代码利器,source是支持正则表达式(后简称RE)搜索的,在网上随便搜搜帖子也不少,所以拿来主义一下,去次取精简单整合就会变成自己的技能了
1.搜索常用命令
RE中的主要概念就是一堆通配符。通配符可以分为两类,一种是表示内容的,一种是表示数量的。
表示内容的如:
. 表示任意字符
[abc] 任何在[]之内的字符
[^abc] 任何不在[]之内的字符,^表示不在[]之内
还有一些就是转义字符了如\t(tab), \s(space), \w(tab or space)
表示数量的如:
* 表示大于等于0个
+ 表示大于0个,也就是至少有1个
其它如:
^ 表示行起始,注意不要把这个^和[]里的^搞混了。
$ 表示行的结束
要说明的是,不同的工具对RE的支持不太一样,比如强一点的工具支持的通配符可能会多一点,转义字符的定义也可能不一样等等。
举个例子理解一下吧:
.* 这条RE可以匹配任意的字符串序列,因为.表示任意字符,*表示大于等于0个,连起来理解就是“任意个任意字符”
[abc]