c - 在 C 中执行正则表达式

标签 c regex

我想在 C 中执行正则表达式。假设我有以下文本:

  thecapital([x], implies(maincity(y),x))

程序必须输出如下:

   implies(maincity(y),x))

谁能建议我该如何进行?

最佳答案

将输入字符串thecapital([x], implies(maincity(y),x))转换为输出字符串implies(maincity(y),x)) 你可以使用下面的简单函数:

const char *
transform(const char *expr) {
  return expr + 16;
}

它不使用正则表达式,但另一方面它却快如闪电。或者也许你没有清楚地提出你的问题。比如你没有用文字描述应该做什么改造。仅举一个例子是不够的。

那么你真正想做什么:?

  • 跳过输入字符串的前16个字符
  • 返回第一个空格字符后的所有内容
  • 返回最后一个空格字符之后的所有内容
  • 返回以第二个 i 开头的参数的后缀
  • 返回 "implies(maincity(y),x))"
  • 将第二个参数返回给括号中的术语,后跟一个额外的右括号

对于您的一个示例,我建议的简单函数可以满足所有这些要求。但当然,如果有任何其他输入,它就会无可救药地失败。

关于c - 在 C 中执行正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233044/

相关文章:

c - 我是否正确使用 malloc?

c - 从结构体构建 LinkedList

c - 按座位顺序对飞机座位及其乘客进行排序

c++ - boost 正则表达式排除一个字符

regex - 我怎样才能让我的比赛在vim中不贪婪?

c++ - 使用另一个线程停止 scanf 等待输入

c - 不知道如何处理 C 中的重复小数

python - 如何用正则表达式同时搜索两个可能的引号?

c# - 在 C# 中拆分字符串

python - 使用正则表达式抓取 HTML 表单