diff --git a/lib/util/package-rules/package-patterns.spec.ts b/lib/util/package-rules/package-patterns.spec.ts
index 467191ae45f35f68d63c02b96e413233e5ec817b..fcb614a2d21858e2a85f4b99818a0e618fa6bbb6 100644
--- a/lib/util/package-rules/package-patterns.spec.ts
+++ b/lib/util/package-rules/package-patterns.spec.ts
@@ -42,4 +42,19 @@ describe('util/package-rules/package-patterns', () => {
       expect(result).toBeTrue();
     });
   });
+
+  describe('exclude', () => {
+    it('should exclude packageName', () => {
+      const result = packageNameMatcher.excludes(
+        {
+          depName: 'abc',
+          packageName: 'def',
+        },
+        {
+          excludePackagePatterns: ['def'],
+        },
+      );
+      expect(result).toBeTrue();
+    });
+  });
 });
diff --git a/lib/util/package-rules/package-patterns.ts b/lib/util/package-rules/package-patterns.ts
index 1823d9c888b5897a1eb2cbd589701445d4005ace..bc4f4029ed788bbcbbe29feb56082a1df33438e7 100644
--- a/lib/util/package-rules/package-patterns.ts
+++ b/lib/util/package-rules/package-patterns.ts
@@ -50,9 +50,10 @@ export class PackagePatternsMatcher extends Matcher {
   }
 
   override excludes(
-    { depName }: PackageRuleInputConfig,
-    { excludePackagePatterns }: PackageRule,
+    { depName, packageName }: PackageRuleInputConfig,
+    packageRule: PackageRule,
   ): boolean | null {
+    const { excludePackagePatterns } = packageRule;
     // ignore lockFileMaintenance for backwards compatibility
     if (is.undefined(excludePackagePatterns)) {
       return null;
@@ -61,15 +62,22 @@ export class PackagePatternsMatcher extends Matcher {
       return false;
     }
 
-    let isMatch = false;
-    for (const pattern of excludePackagePatterns) {
-      const packageRegex = regEx(massagePattern(pattern));
-      if (packageRegex.test(depName)) {
-        logger.trace(`${depName} matches against ${String(packageRegex)}`);
-        isMatch = true;
-      }
+    if (
+      is.string(packageName) &&
+      matchPatternsAgainstName(excludePackagePatterns, packageName)
+    ) {
+      return true;
+    }
+
+    if (matchPatternsAgainstName(excludePackagePatterns, depName)) {
+      logger.once.info(
+        { packageRule, packageName, depName },
+        'Use excludeDepPatterns instead of excludePackagePatterns',
+      );
+      return true;
     }
-    return isMatch;
+
+    return false;
   }
 }