[笔记] 软件中的正则表达式和通配符匹配
★ SourceInsight(简称SI)
♦ 在.cpp和.h文件中搜索数字字符串: "[0-9]+"
快捷键Ctrl+Shift+F,启动”Search Files”界面,如下图:
在 File Name:
下面的输入框里,输入“.cpp | .h”(不要双引号),如图,然后回车,就可以选中所有.cpp和.h文件了。
这里用到的是通配符匹配。
然后,在Find:
右边的输入框里面输入:"[0-9]+"
。因为要搜索的是字符串,所以这里要使用双引号。
要记得把右边Options
中的Use Regular Expressions
勾上。
然后点击最右边的Search
就可以了。
"[0-9]+"
可以搜索出:”1024”,”1”,”1234567890”等至少长度为1的字符串,也就是不包括空字符串""
和" "
。
需要注意的是,"[0-9]{4,}"
像这种搜索最小长度为4的数字字符串的正则表达式,在SI中不支持。也许是SI版本老旧的问题,也可能是SI对{4,}
这种大括号语法不支持。
★ Notepad++(简称NPP)
♦ 搜索手机号码: \b1[0-9]{10}\b
\b
是边界,这样就不会搜到某个长数字中的1开头的11位数字了。 1[0-9]{10}
是找1开头,后面跟10个数字的字符串。虽然这不一定是手机号码,但是可以从众多数据中筛选出符合这个要求的,减少人工查找的工作量。
BTW:搜索手机号码的一个用途,用于检查手机输出log中有没有敏感信息泄露。
选中“查找模式”中的“正则表达式”。
NPP对正则表达式支持的还是不错的。
♦ 搜索IMEI:\b[0-9]{15}\b
在Android dumpstate的log中,搜索IMEI。IMEI是一个15个数字的字符串。
例如,搜索结果:(注:真实IMEI的后六位替换成111111了。)
Line 333655: _id:222 name:SOGOU_UUID value:352562078111111 package:android
Line 333872: _id:175 name:bd_setting_i value:352562078111111 package:android
Line 333892: _id:221 name:sogou_push_device_id value:352562078111111 package:android