How to create JavaScript regexes using string variables?

Yes, use new RegExp(pattern, flags) to create JavaScript regular expressions from string variables. This is essential when you need to build patterns dynamically or when the pattern comes from user input or variables.

Syntax

new RegExp(pattern, flags)

Parameters

pattern: A string containing the regular expression pattern

flags: Optional string specifying flags like 'i' (case-insensitive), 'g' (global), 'm' (multiline)

Basic Example

<!DOCTYPE html>
<html>
<body>
   <script>
      var str = 'HelloWorld'.replace(new RegExp('hello', 'i'), '');
      document.write(str);
   </script>
</body>
</html>
World

Dynamic Pattern from Variables

<!DOCTYPE html>
<html>
<body>
   <script>
      var searchWord = 'JavaScript';
      var text = 'I love JavaScript programming and JavaScript frameworks';
      
      var regex = new RegExp(searchWord, 'gi');
      var matches = text.match(regex);
      
      document.write('Found: ' + matches.length + ' matches<br>');
      document.write('Matches: ' + matches.join(', '));
   </script>
</body>
</html>
Found: 2 matches
Matches: JavaScript, JavaScript

Escaping Special Characters

When using variables, escape special regex characters with double backslashes:

<!DOCTYPE html>
<html>
<body>
   <script>
      var pattern = 'hello\?';  // Escape the ? character
      var text = 'hello? world';
      
      var regex = new RegExp(pattern);
      var result = regex.test(text);
      
      document.write('Pattern found: ' + result);
   </script>
</body>
</html>
Pattern found: true

Comparison: RegExp Constructor vs Literal

Method Syntax Dynamic Patterns Escaping
Literal /pattern/flags No Single backslash
Constructor new RegExp(pattern, flags) Yes Double backslash

Common Use Cases

Use new RegExp() when:

  • Pattern comes from user input or variables
  • Building patterns dynamically
  • Pattern contains backslashes that need escaping

Conclusion

The RegExp constructor enables dynamic regex creation from string variables. Remember to escape special characters with double backslashes when building patterns from strings.

Updated on: 2026-03-15T23:18:59+05:30

199 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements