#define G 1000 /*混合迭代次数*/
#define M 3 /*族群数*/
#define I 5 /*一个族群中的个体数*/
#define P M*I /*个体总数*/
#define V 5 /*个体基因维数*/
#define N 100 /*族群内更新次数*/
#define MAX 1000.0/*随机最大值*/
#define MIN -1000.0/*随机最小值*/
#define D 2.0 /*蛙跳的最大值*/
#define R (rand()%100)/100.0
模式查找:#define ([A-Z]+)( )([0-9A-Z-(])
替换为:$1=$3
G=1000 /*混合迭代次数*/
M=3 /*族群数*/
I=5 /*一个族群中的个体数*/
P=M*I /*个体总数*/
V=5 /*个体基因维数*/
N=100 /*族群内更新次数*/
MAX=1000.0/*随机最大值*/
MIN=-1000.0/*随机最小值*/
D=2.0 /*蛙跳的最大值*/
R=(rand()%100)/100.0
#$2
G=1000 #混合迭代次数
M=3 #族群数
I=5 #一个族群中的个体数
P=M*I #个体总数
V=5 #个体基因维数
N=100 #族群内更新次数
MAX=1000.0#随机最大值
MIN=-1000.0#随机最小值
D=2.0 #蛙跳的最大值
R=(rand()%100)/100.0
2018_1210_1553
Individal pw[M];/*族群中个体最差*/
Individal pb[M];/*族群中个体最好*/
Individal pg;/*全体中最好*/
Individal group[P];/*整体*/
Individal memeplex[M][I];/*族群*/
模式查找(Individal )(.)(;/*)(.)(*/)
替换为$2#$4
pw[M]#族群中个体最差
pb[M]#族群中个体最好
pg#全体中最好
group[P]#整体
memeplex[M][I]#族群
2018_1211_1616
memeplex[i][0].value = fitness(memeplex[i][0]);
qsort(memeplex[i], I, sizeof(Individal), mycmp);
pw[i] = memeplex[i][0];
pb[i] = memeplex[i][I - 1];
去末尾分号
模式串(.*)([;])
替换为$1
memeplex[i][0].value = fitness(memeplex[i][0])
qsort(memeplex[i], I, sizeof(Individal), mycmp)
pw[i] = memeplex[i][0]
pb[i] = memeplex[i][I - 1]
参考文献:
正则表达式部分替换