先转两个链接:
1. 关于正则表达式:
http://deerchao.net/tutorials/regex/regex.htm
2. 关于VS里的扩展(在替换时如何引用查找时被匹配到的原字符串):
http://blog.csdn.net/yacper/article/details/4768300
举个例子:把所有linux风格的变量名,全部改为匈牙利命名法。
如:把 "pThread_" 替换成 "m_pThread"
查找:
{[a-z0-9A-Z]*}_{[^a-z0-9A-Z]}
替换:
m_\1\2
解释:
{[a-z0-9A-Z]*}
表示匹配所有数字或英文单词的任何长度组合,加上 {} 表示被结果引用。
{[^a-z0-9A-Z]}
表示匹配所有不是数字或英文单词的任何字符,这个作为终止条件,是为了避开类似 "MAX_BUFFER" 这样的常量。
\1
和查找中的 "{}" 配合,表示查找中第1个被引用的匹配串,"\2"类似。