diff --git a/packages/styled-components/src/sheet/Rehydration.js b/packages/styled-components/src/sheet/Rehydration.js
index <HASH>..<HASH> 100644
--- a/packages/styled-components/src/sheet/Rehydration.js
+++ b/packages/styled-components/src/sheet/Rehydration.js
@@ -5,7 +5,7 @@ import { getIdForGroup, setGroupForId } from './GroupIDAllocator';
 import type { Sheet } from './types';
 
 const SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}="${SC_VERSION}"]`;
-const RULE_RE = /(?:\s*)?(.*?){((?:{[^}]*}|(?!{).*?)*?)}/g;
+const RULE_RE = /(?:\s*)?(.*?){((?:{[^}]*}|(?!{).*?)*)}/g;
 const MARKER_RE = new RegExp(`^${SC_ATTR}\\.g(\\d+)\\[id="([\\w\\d-]+)"\\]`);
 
 export const outputSheet = (sheet: Sheet) => {
adjust rehydration regex to handle deeply-nested MQs (#<I>)

fixes #<I>