diff --git a/src/util/regex/regex-repeat-matcher.hpp b/src/util/regex/regex-repeat-matcher.hpp
new file mode 100644
index 0000000..9cc0212
--- /dev/null
+++ b/src/util/regex/regex-repeat-matcher.hpp
@@ -0,0 +1,53 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/**
+ * Copyright (C) 2013 Regents of the University of California.
+ * @author: Yingdi Yu <yingdi@cs.ucla.edu>
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_REGEX_REPEAT_MATCHER_HPP
+#define NDN_REGEX_REPEAT_MATCHER_HPP
+
+#include "regex-matcher.hpp"
+
+namespace ndn
+{
+
+class RegexRepeatMatcher : public RegexMatcher
+{
+public:
+  RegexRepeatMatcher(const std::string expr, ptr_lib::shared_ptr<RegexBackrefManager> backRefManager, int indicator);
+    
+  virtual ~RegexRepeatMatcher(){}
+
+  virtual bool 
+  match(const Name & name, const int & offset, const int & len);
+
+protected:
+  /**
+   * @brief Compile the regular expression to generate the more matchers when necessary
+   * @returns true if compiling succeeds
+   */
+  virtual void 
+  compile();
+
+
+private:
+  bool 
+  parseRepetition();
+
+  bool 
+  recursiveMatch (int repeat,
+                  const Name & name,
+                  const int & offset,
+                  const int &len);
+  
+private:
+  int m_indicator;
+  int m_repeatMin;
+  int m_repeatMax;
+};
+
+}//ndn
+
+#endif
