On Wed, 18 Sep 2013, Jayaprakasam, Kannan wrote:

> When I match a subject that doesn't contain the return value, and I call
> pcre_get_named_substring(m_regexSPCall, sqlStmtUtf8, ovector, matchedCount, 
> "retPort");
> lt doesn't return PCRE_ERROR_NOSUBSTRING but 0. Why does this happen?

This extract from the pcreapi man page explains the reason:

  When any of these functions encounter a substring that is unset, which
  can happen when capturing subpattern number n+1 matches some part of
  the subject, but subpattern n has not been used at all, they return an
  empty string. This can be distinguished from a genuine zero-length
  substring by inspecting the appropriate offset in ovector, which is
  negative for unset substrings.

The error PCRE_ERROR_NOSUBSTRING is given only for non-existent substrings. 

Philip

-- 
Philip Hazel

-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to