Hello people, I have a doubt about the function implementation switch_regex_match_partial, and used that function in my code to do a search of possible expressions that can have a complete match, so with each number obtained reach a complete match. The strange thing is that when looking for an expression that is "$ 12 .^*", return on switch_regex_partial is SWITCH_STATUS_FALSE. I think there should be partial, because there is possibility for a match. Looking at the function code, I implemented the simple patch, as follows: index 88152f9..38c527c 100644 --- a/src/switch_regex.c +++ b/src/switch_regex.c @@ -215,7 +215,7 @@ SWITCH_DECLARE(switch_status_t) switch_regex_match_partial(const char *target, c if (match_count > 0) { *partial = 0; return SWITCH_STATUS_SUCCESS; - } else if (match_count == PCRE_ERROR_PARTIAL) { + } else if (match_count == PCRE_ERROR_PARTIAL || match_count == PCRE_ERROR_BADPARTIAL) { /* yes it is already set, but the code is clearer this way */ *partial = 1; return SWITCH_STATUS_SUCCESS; Thus a ERROR_PARTIAL and BAD_PARTIAL are regarded as PARTIAL.