【问题标题】:C regex get index of matchC 正则表达式获取匹配索引
【发布时间】:2011-10-21 15:42:06
【问题描述】:

我正在尝试通过使用 regex.h 中的 regcomp() 和 regexec() 来使用正则表达式,并且想知道是否有任何方法可以获取匹配的索引(如果找到)?

如果我的正则表达式只是“m”,而我搜索“home”,我会想要 2。

【问题讨论】:

  • 您在传递给regexec()regmatch_t *pmatch 数组中看到了什么?

标签: c regex


【解决方案1】:

看看 regexec() 的 pmatch 和 nmatch 参数。来自man page

regexec() 用于匹配以空字符结尾的字符串 预编译模式缓冲区,preg。 nmatch 和 pmatch 用于 提供有关任何比赛地点的信息。标志可能 是 REG_NOTBOL 和 REG_NOTEOL 之一或两者的按位或 导致下面描述的匹配行为发生变化。

【讨论】:

  • 谢谢,我确实看过手册页,但错过了那一点。
  • 呃,我试过了,有点不明白如何使用nmatch和pmatch。无论我是否得到匹配,无论它在哪里,它们似乎都是一样的。另外,我真的不知道如何处理 regmatch_t 或 size_t 类型的东西。
猜你喜欢
  • 1970-01-01
  • 2018-06-22
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多