为什么我获得成功但空的正则表达式匹配?

jac*_*hab 0 regex

我在寻找模式(.*)\\1上的文字blabl用regexec().我获得了成功但regmatch_t结构中的空匹配.究竟有什么匹配?

Mne*_*quo 5

正则表达式.*可以成功匹配一串零字符,或者相邻字符之间没有任何内容.

因此,您的模式匹配parens中的零个字符,然后紧跟零个字符.

因此,如果你的正则表达式是/f(.*)\1/匹配'f'和第一个'o'之间的字符串"foo".

您可以尝试使用.+而不是.*,因为匹配一个或多个而不是零或更多.(使用.+你应该匹配'foo'中的'oo')