MINOR: regex: Use native PCRE API.

The pcreposix layer (in the pcre projetc) execute strlen to find
thlength of the string. When we are using the function "regex_exex*2",
the length is used to add a final \0, when pcreposix is executed a
strlen is executed to compute the length.

If we are using a native PCRE api, the length is provided as an
argument, and these operations disappear.

This is useful because PCRE regex are more used than POSIC regex.
diff --git a/src/regex.c b/src/regex.c
index 2292002..dda666d 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -156,7 +156,7 @@
  */
 int regex_exec_match(const struct my_regex *preg, const char *subject,
                      size_t nmatch, regmatch_t pmatch[]) {
-#ifdef USE_PCRE_JIT
+#if defined(USE_PCRE) || defined(USE_PCRE_JIT)
 	int ret;
 	int matches[MAX_MATCH * 3];
 	int enmatch;
@@ -216,7 +216,7 @@
  */
 int regex_exec_match2(const struct my_regex *preg, char *subject, int length,
                       size_t nmatch, regmatch_t pmatch[]) {
-#ifdef USE_PCRE_JIT
+#if defined(USE_PCRE) || defined(USE_PCRE_JIT)
 	int ret;
 	int matches[MAX_MATCH * 3];
 	int enmatch;
@@ -272,7 +272,7 @@
 
 int regex_comp(const char *str, struct my_regex *regex, int cs, int cap, char **err)
 {
-#ifdef USE_PCRE_JIT
+#if defined(USE_PCRE) || defined(USE_PCRE_JIT)
 	int flags = 0;
 	const char *error;
 	int erroffset;
@@ -288,6 +288,7 @@
 		return 0;
 	}
 
+#ifdef USE_PCRE_JIT
 	regex->extra = pcre_study(regex->reg, PCRE_STUDY_JIT_COMPILE, &error);
 	if (!regex->extra) {
 		pcre_free(regex->reg);
@@ -295,6 +296,9 @@
 		return 0;
 	}
 #else
+	regex->extra = NULL;
+#endif
+#else
 	int flags = REG_EXTENDED;
 
 	if (!cs)