diff --git a/src/arg.c b/src/arg.c
index a071738..e609ac5 100644
--- a/src/arg.c
+++ b/src/arg.c
@@ -34,6 +34,7 @@
 	[ARGT_SRV]  = "server",
 	[ARGT_USR]  = "user list",
 	[ARGT_MAP]  = "map",
+	[ARGT_REG]  = "regex",
 	/* Unassigned types must never happen. Better crash during parsing if they do. */
 };
 
@@ -173,6 +174,7 @@
 		case ARGT_TAB:
 		case ARGT_SRV:
 		case ARGT_USR:
+		case ARGT_REG:
 			/* These argument types need to be stored as strings during
 			 * parsing then resolved later.
 			 */
diff --git a/src/haproxy.c b/src/haproxy.c
index 31447bf..60a0ca2 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -1086,6 +1086,13 @@
 			p->data.str.str = NULL;
 			p->unresolved = 0;
 		}
+		else if (p->type == ARGT_REG) {
+			if (p->data.reg) {
+				regex_free(p->data.reg);
+				free(p->data.reg);
+				p->data.reg = NULL;
+			}
+		}
 		p++;
 	}
 
diff --git a/src/sample.c b/src/sample.c
index 377c4c8..8fe341f 100644
--- a/src/sample.c
+++ b/src/sample.c
@@ -983,13 +983,16 @@
 	const char *ctx, *where;
 	const char *conv_ctx, *conv_pre, *conv_pos;
 	struct userlist *ul;
+	struct my_regex *reg;
 	struct arg *arg;
 	int cfgerr = 0;
+	int rflags;
 
 	list_for_each_entry_safe(cur, bak, &p->conf.args.list, list) {
 		struct proxy *px;
 		struct server *srv;
 		char *pname, *sname;
+		char *err;
 
 		arg = cur->arg;
 
@@ -1004,7 +1007,7 @@
 		where = "in";
 		ctx = "sample fetch keyword";
 		switch (cur->ctx) {
-		case ARGC_STK:where = "in stick rule in"; break;
+		case ARGC_STK: where = "in stick rule in"; break;
 		case ARGC_TRK: where = "in tracking rule in"; break;
 		case ARGC_LOG: where = "in log-format string in"; break;
 		case ARGC_HRQ: where = "in http-request header format string in"; break;
@@ -1175,6 +1178,45 @@
 			arg->unresolved = 0;
 			arg->data.usr = ul;
 			break;
+
+		case ARGT_REG:
+			if (!arg->data.str.len) {
+				Alert("parsing [%s:%d] : missing regex in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+				      cur->file, cur->line,
+				      cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+				cfgerr++;
+				continue;
+			}
+
+			reg = calloc(1, sizeof(*reg));
+			if (!reg) {
+				Alert("parsing [%s:%d] : not enough memory to build regex in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+				      cur->file, cur->line,
+				      cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+				cfgerr++;
+				continue;
+			}
+
+			rflags = 0;
+			rflags |= (arg->type_flags & ARGF_REG_ICASE) ? REG_ICASE : 0;
+			err = NULL;
+
+			if (!regex_comp(arg->data.str.str, reg, rflags, 1 /* capture substr */, &err)) {
+				Alert("parsing [%s:%d] : error in regex '%s' in arg %d of %s%s%s%s '%s' %s proxy '%s' : %s.\n",
+				      cur->file, cur->line,
+				      arg->data.str.str,
+				      cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id, err);
+				cfgerr++;
+				continue;
+			}
+
+			free(arg->data.str.str);
+			arg->data.str.str = NULL;
+			arg->unresolved = 0;
+			arg->data.reg = reg;
+			break;
+
+
 		}
 
 		LIST_DEL(&cur->list);
