我有一个字符串输入到我的程序的形式:
骗子*.cc
我希望它代表正则表达式 con.*.cc。
如何在 C 程序中执行此操作?我可以使用类似 sed 的东西吗?
您可以使用PCRE来匹配正则表达式。实际表达式可以存储为 char 数组(与任何其他字符串一样)。
你到底想用那个正则表达式做什么?假设您想要对代码中已有的一组字符串进行搜索,您将需要使用正则表达式库。C 本身不支持正则表达式。查阅 gcc 手册 -此处。
此页面描述了 <regex.h> 标头,它实现了对 C 的 POSIX 正则表达式支持。要使用它,您只需执行以下操作:
#include <sys/types.h>
#include <regex.h>
它们相当不错且易于使用,但正如@Chickencha 在另一个答案中所说,看起来您只是在查找文件名,而不是进行真正的正则表达式匹配。只是想我会指出 C 确实支持正则表达式,因为没有人支持。
在您的程序中使用 sed: