diff --git a/lib/worker.js b/lib/worker.js
index 6680c156a06d5f4304b875e6c4f06a5c63dacac5..d36bd18b48d94a238fb2f39a78f7b1b010d54a4e 100644
--- a/lib/worker.js
+++ b/lib/worker.js
@@ -84,11 +84,13 @@ function assignDepConfigs(inputConfig, deps) {
       // Exit after first match
       returnDep.config.packages.forEach((packageConfig) => {
         if (!packageRuleApplied) {
-          const packageRegex = new RegExp(packageConfig.packageName);
+          const pattern = packageConfig.packagePattern || `^${packageConfig.packageName}$`;
+          const packageRegex = new RegExp(pattern);
           if (dep.depName.match(packageRegex)) {
             packageRuleApplied = true;
             Object.assign(returnDep.config, packageConfig);
             delete returnDep.config.packageName;
+            delete returnDep.config.packagePattern;
           }
         }
       });
diff --git a/test/__snapshots__/worker.spec.js.snap b/test/__snapshots__/worker.spec.js.snap
index 225e196e1b96dd10c6f4e325cbe93d9dca486141..8fe51724e719808cf4050c1f56614fdd38e8066c 100644
--- a/test/__snapshots__/worker.spec.js.snap
+++ b/test/__snapshots__/worker.spec.js.snap
@@ -42,6 +42,38 @@ Array [
 ]
 `;
 
+exports[`worker assignDepConfigs(inputConfig, deps) handles non-regex package name 1`] = `
+Array [
+  Object {
+    "config": Object {
+      "foo": "bar",
+      "labels": Array [
+        "eslint",
+      ],
+    },
+    "depName": "eslint",
+  },
+  Object {
+    "config": Object {
+      "foo": "bar",
+    },
+    "depName": "eslint-foo",
+  },
+  Object {
+    "config": Object {
+      "foo": "bar",
+    },
+    "depName": "a",
+  },
+  Object {
+    "config": Object {
+      "foo": "bar",
+    },
+    "depName": "also-eslint",
+  },
+]
+`;
+
 exports[`worker assignDepConfigs(inputConfig, deps) handles package config 1`] = `
 Array [
   Object {
@@ -56,7 +88,7 @@ Array [
 ]
 `;
 
-exports[`worker assignDepConfigs(inputConfig, deps) handles regex package config 1`] = `
+exports[`worker assignDepConfigs(inputConfig, deps) handles regex package pattern 1`] = `
 Array [
   Object {
     "config": Object {
@@ -94,6 +126,41 @@ Array [
 ]
 `;
 
+exports[`worker assignDepConfigs(inputConfig, deps) handles regex wildcard package pattern 1`] = `
+Array [
+  Object {
+    "config": Object {
+      "foo": "bar",
+      "labels": Array [
+        "eslint",
+      ],
+    },
+    "depName": "eslint",
+  },
+  Object {
+    "config": Object {
+      "foo": "bar",
+      "labels": Array [
+        "eslint",
+      ],
+    },
+    "depName": "eslint-foo",
+  },
+  Object {
+    "config": Object {
+      "foo": "bar",
+    },
+    "depName": "a",
+  },
+  Object {
+    "config": Object {
+      "foo": "bar",
+    },
+    "depName": "also-eslint",
+  },
+]
+`;
+
 exports[`worker assignDepConfigs(inputConfig, deps) handles string deps 1`] = `
 Array [
   Object {
diff --git a/test/worker.spec.js b/test/worker.spec.js
index c64bc51ba1ca4340dfd80b0cc8dd0b6a38ee2bd2..c82f0026e98f7b2edc3459c05b867629b674cb12 100644
--- a/test/worker.spec.js
+++ b/test/worker.spec.js
@@ -206,10 +206,52 @@ describe('worker', () => {
       const updatedDeps = worker.assignDepConfigs(config, deps);
       expect(updatedDeps).toMatchSnapshot();
     });
-    it('handles regex package config', () => {
+    it('handles regex package pattern', () => {
       config.foo = 'bar';
       config.packages = [{
-        packageName: 'eslint.*',
+        packagePattern: 'eslint',
+        labels: ['eslint'],
+      }];
+      deps.push({
+        depName: 'eslint',
+      });
+      deps.push({
+        depName: 'eslint-foo',
+      });
+      deps.push({
+        depName: 'a',
+      });
+      deps.push({
+        depName: 'also-eslint',
+      });
+      const updatedDeps = worker.assignDepConfigs(config, deps);
+      expect(updatedDeps).toMatchSnapshot();
+    });
+    it('handles regex wildcard package pattern', () => {
+      config.foo = 'bar';
+      config.packages = [{
+        packagePattern: '^eslint',
+        labels: ['eslint'],
+      }];
+      deps.push({
+        depName: 'eslint',
+      });
+      deps.push({
+        depName: 'eslint-foo',
+      });
+      deps.push({
+        depName: 'a',
+      });
+      deps.push({
+        depName: 'also-eslint',
+      });
+      const updatedDeps = worker.assignDepConfigs(config, deps);
+      expect(updatedDeps).toMatchSnapshot();
+    });
+    it('handles non-regex package name', () => {
+      config.foo = 'bar';
+      config.packages = [{
+        packageName: 'eslint',
         labels: ['eslint'],
       }];
       deps.push({