Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
3年前关闭。
我试图从c中的单词字符串中提取一个小的子字符串。我使用以下代码在用python编写的先前程序中做到了:
该代码提取
我想知道如何在C语言中使用正则表达式执行相同的操作
我如何将这段代码转换为完全相同的C代码?
您可能需要在上面调整您的正则表达式字符串。
之后,您可以执行任意多次:
使用
有关更多详细信息,请参见手册页regex(3)。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
3年前关闭。
我试图从c中的单词字符串中提取一个小的子字符串。我使用以下代码在用python编写的先前程序中做到了:
out_block = "".join(re.findall(r'.FT off(.*?).FT on',finaltext,re.DOTALL))
该代码提取
.FT off
和.FT on
之间的所有字符,并将其作为字符串传递给out_block
。我想知道如何在C语言中使用正则表达式执行相同的操作
我如何将这段代码转换为完全相同的C代码?
最佳答案
基本上,您可以这样做:
#include <sys/types.h>
#include <regex.h>
regex_t finder;
if (0 != regcomp(&finder, "regex-string", 0)) { error handling }
您可能需要在上面调整您的正则表达式字符串。
之后,您可以执行任意多次:
regmatch_t match[N_MATCH];
if (0 == regexec(&finder, "haystack", N_MATCH, match, 0)) {
process matches
} else {
no match
}
使用
regfree
清理并使用regcomp
获取错误消息(在regerror
中)。有关更多详细信息,请参见手册页regex(3)。
关于c - 使用正则表达式提取C语言字符串中的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40824839/