Beispiel #1
0
int main(int ac, char **av)
{
	Resub rs[10];
	char dst[128];
	struct x *tp;

	if (ac == 1) {
		fprintf(stderr, "Usage: %s <string>\n", av[0]);
		return 1;
	}

	for(tp = t; tp->re; tp++)
		tp->p = regcomp9(tp->re);

	for(tp = t; tp->re; tp++){
		printf("%s VIA %s", av[1], tp->re);
		memset(rs, 0, sizeof rs);
		if(regexec9(tp->p, av[1], rs, 10)){
			regsub9(tp->s, dst, sizeof dst, rs, 10);
			printf(" sub %s -> %s", tp->s, dst);
		}
		printf("\n");
	}
	return 0;
}
Beispiel #2
0
int main(int argc, char *argv[])
{
	Resub rs[1];
	Reprog *p;
	char *buf, *q;
	int l = 0;
	if (argc == 1) {
		fprintf(stderr, "Usage: cat in.file | %s <regexp>\n", argv[0]);
		return 0;
	}
	p = regcomp9(argv[1]);
	buf = calloc(BUF_SIZE, 1);
	while (fgets(buf, BUF_SIZE - 1, stdin)) {
		++l;
		for (q = buf; *q; ++q); if (q > buf) *(q-1) = 0;
		memset(rs, 0, sizeof(Resub));
		if (regexec9(p, buf, rs, 1))
			printf("%d:%s\n", l, buf);
	}
	free(buf);
	return 0;
}