msgbox("Can't find the student.", 1, 1);
msgbox(PAK, 2, 1); msgbox("Delete OK!\tPress any key to continue...", 1, 1); //wgetch(my_win);
b_asksave = 1;
--len;
if (len == 0)
{
msgbox(
"Delete OK!\tThe data is empty now!\tPress any key to continue...",
1, 1);
wgetch(my_win);
return 0;
}
有上面一段代码,void msgbox(char* ch, int line, int bold, int getch)因为增加了最后一个参数,导致项目里所有msgbox都要修改.
现在我要把类似msgbox(PAK, 2, 1);都改成msgbox(PAK, 2, 1,0);最后增加一个,0参数我这样写错了: (?=)msgbox\((.*?)(\d)(\);)
替换成: $0$1,0$2
string result = reg.Replace(yourStr, "$0, 0");
有点疑惑,(?=\);)正确,但是写成(?<=\);)就错了,(?<=不是匹配右边的吗
(?<=expression) 是逆序环视,是对所在位置左侧加的一个条件限定也就是说(?<=\);)是查找左侧是否为“);”,而(?=\);)是查找右侧是否为“);”
可以参考我的博客关于环视的讨论