diff --git a/packages/next/next-server/lib/router/utils/route-regex.ts b/packages/next/next-server/lib/router/utils/route-regex.ts index 2c0422db00a4..7502f1e87234 100644 --- a/packages/next/next-server/lib/router/utils/route-regex.ts +++ b/packages/next/next-server/lib/router/utils/route-regex.ts @@ -1,5 +1,3 @@ -import escapeRegexp from 'escape-string-regexp' - export function getRouteRegex( normalizedRoute: string ): { @@ -7,7 +5,10 @@ export function getRouteRegex( groups: { [groupName: string]: { pos: number; repeat: boolean } } } { // Escape all characters that could be considered RegEx - const escapedRoute = escapeRegexp(normalizedRoute.replace(/\/$/, '') || '/') + const escapedRoute = (normalizedRoute.replace(/\/$/, '') || '/').replace( + /[|\\{}()[\]^$+*?.-]/g, + '\\$&' + ) const groups: { [groupName: string]: { pos: number; repeat: boolean } } = {} let groupIndex = 1