我想使用正则表达式来匹配给定字符串的一部分。你看,我输入一个名称的字符串并与正则表达式匹配,所以,我希望这个名称成为整个字符串的一部分,在中间,开始或结束,甚至整个字符串,所以,如何在C中编写我的正则表达式。
scanf("%99s", name);
reti = regcomp(®ex, "\b\w*name\w*\b", 0);
reti = regexec(®ex, "something...", 0, NULL, 0);
答案 0 :(得分:5)
如果您希望C字符串文字包含反斜杠,则需要使用\\
转义:
"\\b\\w*name\\w*\\b"
答案 1 :(得分:0)
确实,转义是一个问题,但也使用name
变量而不是regexec
的普通字符串:
reti = regcomp(®ex, "\\b\\w*name\\w*\\b", 0);
reti = regexec(®ex, name, 0, NULL, 0);