[笔记] 软件中的正则表达式和通配符匹配

时间:2023-01-14 05:35:13

[笔记] 软件中的正则表达式和通配符匹配

★ 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