Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何使用正则表达式匹配字符串的一部分_C_Regex - Fatal编程技术网

C 如何使用正则表达式匹配字符串的一部分

C 如何使用正则表达式匹配字符串的一部分,c,regex,C,Regex,我想使用正则表达式来匹配给定字符串的一部分。你看,我输入了一个名为的字符串,并与正则表达式匹配,因此,我希望这个名为的字符串成为整个字符串的一部分,在中间,开始或结束,甚至是整个字符串,因此,如何用C写正则表达式 scanf("%99s", name); reti = regcomp(&regex, "\b\w*name\w*\b", 0); reti = regexec(&regex, "something...", 0, NULL, 0); 如果希望C字符串文字包含反斜

我想使用正则表达式来匹配给定字符串的一部分。你看,我输入了一个名为的字符串,并与正则表达式匹配,因此,我希望这个名为的字符串成为整个字符串的一部分,在中间,开始或结束,甚至是整个字符串,因此,如何用C写正则表达式

scanf("%99s", name);
reti = regcomp(&regex, "\b\w*name\w*\b", 0);
reti = regexec(&regex, "something...", 0, NULL, 0);  

如果希望C字符串文字包含反斜杠,则需要使用
\\
对其进行转义:

"\\b\\w*name\\w*\\b"

实际上,转义是一个问题,但也使用
name
变量,而不是带有
regexec
的普通字符串:

reti = regcomp(&regex, "\\b\\w*name\\w*\\b", 0);
reti = regexec(&regex, name, 0, NULL, 0); 

你的意思是像“\\b\\w*name\\w*\\b”?绝对正确。和我写的一模一样。对不起,那个“name”是我想要比较的,输入的name字符串是我想要成为regex的一部分的字符串,对不起,我没说清楚。已经编辑好了,谢谢