【发布时间】:2010-10-12 06:39:15
【问题描述】:
我有一个字符串输入到我的程序中:
con*.cc
我希望它代表正则表达式 con.*.cc。
如何在 C 程序中执行此操作?有没有我可以使用的类似 sed 的东西?
【问题讨论】:
-
不清楚您在寻找什么。你想让你的 C 程序有一种方法来处理正则表达式吗?某种正则表达式库?顺便说一句,您的正则表达式不正确。您需要转义第二个“。”
我有一个字符串输入到我的程序中:
con*.cc
我希望它代表正则表达式 con.*.cc。
如何在 C 程序中执行此操作?有没有我可以使用的类似 sed 的东西?
【问题讨论】:
This page 描述了
#include <sys/types.h>
#include <regex.h>
它们相当不错且易于使用,但正如@Chickencha 在另一个答案中所说,看起来您只是在查找文件名,而不是进行真正的正则表达式匹配。只是想我会指出 C 确实支持正则表达式,因为没有人支持。
【讨论】:
在您的程序中使用 sed:
【讨论】:
您到底想用那个正则表达式做什么?假设您要对代码中已有的一组字符串进行搜索,则需要使用正则表达式库。 C 本身不支持正则表达式。查阅 gcc 手册 -- here。
【讨论】:
您可以使用PCRE 来匹配正则表达式。实际表达式可以存储为 char 数组(与任何其他字符串一样)。
【讨论】: