diff --git a/src/findUnused.js b/src/findUnused.js
index <HASH>..<HASH> 100644
--- a/src/findUnused.js
+++ b/src/findUnused.js
@@ -8,7 +8,7 @@ export default function findUnused(locale, keysUsed) {
   keysUsed.forEach((keyUsed) => {
     // Dynamic key
     if (keyUsed.includes('*')) {
-      const regExp = new RegExp(keyUsed.replace('*', '(.+)'));
+      const regExp = new RegExp(`^${keyUsed.replace('*', '(.+)')}$`);
 
       Object.keys(locale)
         .forEach((localeKey) => {
diff --git a/src/findUnused.spec.js b/src/findUnused.spec.js
index <HASH>..<HASH> 100644
--- a/src/findUnused.spec.js
+++ b/src/findUnused.spec.js
@@ -52,5 +52,18 @@ describe('#findUnused()', () => {
         },
       ], unused, 'Should report one unused key.');
     });
+
+    it('should do an exact match even with dynamic keys', () => {
+      const missing = findUnused({
+        'bar.key.foo': 'Key 1',
+      }, ['key.*']);
+
+      assert.deepEqual([
+        {
+          key: 'bar.key.foo',
+          type: 'UNUSED',
+        },
+      ], missing, 'Should report one missing key.');
+    });
   });
 });
[findUnused] Do an exact match even with dynamic keys