invalid regex 🟨 JavaScript

SyntaxError: Invalid regular expression: /x/: Unterminated group

A regex pattern has invalid syntax — unbalanced parentheses/brackets or unescaped special characters.

Seen on: JavaScript

Meaning

Building a RegExp from user input without escaping characters like ( [ * + ? breaks the pattern. Lookbehind isn’t supported in very old browsers.

Common causes

  • Unescaped special characters from user input
  • Unbalanced () or []
  • Lookbehind in old Safari versions

⚡ Quick fix

  1. Escape input: s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
  2. Test patterns in a regex tester
  3. Avoid lookbehind if supporting old Safari

Detailed fix by platform

JavaScript

  1. javascript
    const safe = term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    const re = new RegExp(safe, 'i');

How to diagnose

  1. Pattern — Which part is reported?
  2. Source — Built from user input?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.