C 如何使用正则表达式匹配字符串的一部分
我想使用正则表达式来匹配给定字符串的一部分。你看,我输入了一个名为的字符串,并与正则表达式匹配,因此,我希望这个名为的字符串成为整个字符串的一部分,在中间,开始或结束,甚至是整个字符串,因此,如何用C写正则表达式C 如何使用正则表达式匹配字符串的一部分,c,regex,C,Regex,我想使用正则表达式来匹配给定字符串的一部分。你看,我输入了一个名为的字符串,并与正则表达式匹配,因此,我希望这个名为的字符串成为整个字符串的一部分,在中间,开始或结束,甚至是整个字符串,因此,如何用C写正则表达式 scanf("%99s", name); reti = regcomp(®ex, "\b\w*name\w*\b", 0); reti = regexec(®ex, "something...", 0, NULL, 0); 如果希望C字符串文字包含反斜
scanf("%99s", name);
reti = regcomp(®ex, "\b\w*name\w*\b", 0);
reti = regexec(®ex, "something...", 0, NULL, 0);
如果希望C字符串文字包含反斜杠,则需要使用
\\
对其进行转义:
"\\b\\w*name\\w*\\b"
实际上,转义是一个问题,但也使用
name
变量,而不是带有regexec
的普通字符串:
reti = regcomp(®ex, "\\b\\w*name\\w*\\b", 0);
reti = regexec(®ex, name, 0, NULL, 0);
你的意思是像“\\b\\w*name\\w*\\b”?绝对正确。和我写的一模一样。对不起,那个“name”是我想要比较的,输入的name字符串是我想要成为regex的一部分的字符串,对不起,我没说清楚。已经编辑好了,谢谢