diff --git a/lib/types/string.js b/lib/types/string.js
index bfaedae8e44ce33b1a65a66922f5b04912a7e8a3..a9b318e2e6f3a52cbcea52694919a02d38b86666 100644
Binary files a/lib/types/string.js and b/lib/types/string.js differ
diff --git a/package.json b/package.json
index 8ae5abcd652db32196d7bac6f176b725102d9a44..59e3275f848a891bda4247bdd0397be0422c4d92 100644
--- a/package.json
+++ b/package.json
@@ -19,6 +19,7 @@
   },
   "dependencies": {
     "deref": "^0.2.5",
-    "faker": "^2.0.1"
+    "faker": "^2.0.1",
+    "randexp": "^0.4.0"
   }
 }
diff --git a/spec/core/types/strings.json b/spec/core/types/strings.json
index f2fdc4759e851adeca99ec74423386fa49058c0e..5ca6bcf53f670277c73eff2e894ac7c8b31fb169 100644
--- a/spec/core/types/strings.json
+++ b/spec/core/types/strings.json
@@ -18,6 +18,14 @@
           "maxLength": 30
         },
         "valid": true
+      },
+      {
+        "description": "should handle pattern",
+        "schema": {
+          "type": "string",
+          "pattern": "\\w+@\\w+\\.\\w+"
+        },
+        "valid": true
       }
     ]
   }