Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
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.
Advertisements
