【发布时间】:2011-10-21 15:42:06
【问题描述】:
我正在尝试通过使用 regex.h 中的 regcomp() 和 regexec() 来使用正则表达式,并且想知道是否有任何方法可以获取匹配的索引(如果找到)?
如果我的正则表达式只是“m”,而我搜索“home”,我会想要 2。
【问题讨论】:
-
您在传递给
regexec()的regmatch_t *pmatch数组中看到了什么?
我正在尝试通过使用 regex.h 中的 regcomp() 和 regexec() 来使用正则表达式,并且想知道是否有任何方法可以获取匹配的索引(如果找到)?
如果我的正则表达式只是“m”,而我搜索“home”,我会想要 2。
【问题讨论】:
regexec() 的regmatch_t *pmatch 数组中看到了什么?
看看 regexec() 的 pmatch 和 nmatch 参数。来自man page:
regexec() 用于匹配以空字符结尾的字符串 预编译模式缓冲区,preg。 nmatch 和 pmatch 用于 提供有关任何比赛地点的信息。标志可能 是 REG_NOTBOL 和 REG_NOTEOL 之一或两者的按位或 导致下面描述的匹配行为发生变化。
【讨论】: