[javascript] Javascript Regexp dynamic generation from variables?

How to construct two regex patterns into one?

For example I have one long pattern and one smaller, I need to put smaller one in front of long one.

var pattern1 = ':\(|:=\(|:-\(';
var pattern2 = ':\(|:=\(|:-\(|:\(|:=\(|:-\('
str.match('/'+pattern1+'|'+pattern2+'/gi');

This doesn't work. When I'm concatenating strings, all slashes are gone.

This question is related to javascript regex dynamic

The answer is


You have to use RegExp:

str.match(new RegExp(pattern1+'|'+pattern2, 'gi'));

When I'm concatenating strings, all slashes are gone.

If you have a backslash in your pattern to escape a special regex character, (like \(), you have to use two backslashes in the string (because \ is the escape character in a string): new RegExp('\\(') would be the same as /\(/.

So your patterns have to become:

var pattern1 = ':\\(|:=\\(|:-\\(';
var pattern2 = ':\\(|:=\\(|:-\\(|:\\(|:=\\(|:-\\(';

Use the below:

var regEx = new RegExp(pattern1+'|'+pattern2, 'gi');

str.match(regEx);

You have to forgo the regex literal and use the object constructor, where you can pass the regex as a string.

var regex = new RegExp(pattern1+'|'+pattern2, 'gi');
str.match(regex);

The RegExp constructor creates a regular expression object for matching text with a pattern.

    var pattern1 = ':\\(|:=\\(|:-\\(';
    var pattern2 = ':\\(|:=\\(|:-\\(|:\\(|:=\\(|:-\\(';
    var regex = new RegExp(pattern1 + '|' + pattern2, 'gi');
    str.match(regex);

Above code works perfectly for me...


Questions with javascript tag:

need to add a class to an element How to make a variable accessible outside a function? Hide Signs that Meteor.js was Used How to create a showdown.js markdown extension Please help me convert this script to a simple image slider Highlight Anchor Links when user manually scrolls? Summing radio input values How to execute an action before close metro app WinJS javascript, for loop defines a dynamic variable name Getting all files in directory with ajax Drag and drop menuitems Is it possible to execute multiple _addItem calls asynchronously using Google Analytics? DevTools failed to load SourceMap: Could not load content for chrome-extension TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined raised when starting react app What does 'x packages are looking for funding' mean when running `npm install`? SyntaxError: Cannot use import statement outside a module SameSite warning Chrome 77 "Uncaught SyntaxError: Cannot use import statement outside a module" when importing ECMAScript 6 Why powershell does not run Angular commands? Typescript: No index signature with a parameter of type 'string' was found on type '{ "A": string; } Uncaught Invariant Violation: Too many re-renders. React limits the number of renders to prevent an infinite loop Push method in React Hooks (useState)? JS file gets a net::ERR_ABORTED 404 (Not Found) React Hooks useState() with Object useState set method not reflecting change immediately Can't perform a React state update on an unmounted component UnhandledPromiseRejectionWarning: This error originated either by throwing inside of an async function without a catch block Can I set state inside a useEffect hook internal/modules/cjs/loader.js:582 throw err How to post query parameters with Axios? How to use componentWillMount() in React Hooks? React Hook Warnings for async function in useEffect: useEffect function must return a cleanup function or nothing FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory in ionic 3 How can I force component to re-render with hooks in React? What is useState() in React? How to call loading function with React useEffect only once Objects are not valid as a React child. If you meant to render a collection of children, use an array instead How to reload current page? Center content vertically on Vuetify Getting all documents from one collection in Firestore ERROR Error: Uncaught (in promise), Cannot match any routes. URL Segment How can I add raw data body to an axios request? Sort Array of object by object field in Angular 6 Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) Axios Delete request with body and headers? Enable CORS in fetch api Vue.js get selected option on @change Bootstrap 4 multiselect dropdown Cross-Origin Read Blocking (CORB) Angular 6: How to set response type as text while making http call

Questions with regex tag:

Why my regexp for hyphenated words doesn't work? grep's at sign caught as whitespace Preg_match backtrack error regex match any single character (one character only) re.sub erroring with "Expected string or bytes-like object" Only numbers. Input number in React Visual Studio Code Search and Replace with Regular Expressions Strip / trim all strings of a dataframe return string with first match Regex How to capture multiple repeated groups? How do I use a regex in a shell script? How to find and replace with regex in excel VSCode regex find & replace submatch math? How can I remove the last character of a string in python? Regex Explanation ^.*$ Best way to verify string is empty or null Check for special characters in string Matching strings with wildcard MSSQL Regular expression Phone Number Validation MVC Swift extract regex matches How do I deal with special characters like \^$.?*|+()[{ in my regex? How would I get everything before a : in a string Python Select columns based on string match - dplyr::select How to validate email id in angularJs using ng-pattern Check if string contains only letters in javascript Reference - What does this regex mean? Apache 2.4 - Request exceeded the limit of 10 internal redirects due to probable configuration error Count the number of Occurrences of a Word in a String How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops Python, remove all non-alphabet chars from string Regex for Mobile Number Validation Regex date validation for yyyy-mm-dd regex match any whitespace Design DFA accepting binary strings divisible by a number 'n' Jquery Value match Regex Splitting string with pipe character ("|") How to use regex in XPath "contains" function How to replace all special character into a string using C# Regex pattern inside SQL Replace function? Check if a string matches a regex in Bash script Regular expression to search multiple strings (Textpad) How do I remove all non-ASCII characters with regex and Notepad++? Replace all non Alpha Numeric characters, New Lines, and multiple White Space with one Space Regex replace uppercase with lowercase letters Regex remove all special characters except numbers? Concrete Javascript Regex for Accented Characters (Diacritics) Java: Replace all ' in a string with \' Email address validation in C# MVC 4 application: with or without using Regex bash, extract string before a colon

Questions with dynamic tag:

Please help me convert this script to a simple image slider Declare an empty two-dimensional array in Javascript? Compiling dynamic HTML strings from database Changing datagridview cell color dynamically What is the difference between dynamic programming and greedy approach? Dynamic variable names in Bash Dynamically Add C# Properties at Runtime How to generate a HTML page dynamically using PHP? Change UITableView height dynamically How to create own dynamic type or dynamic object in C#? MySQL pivot table query with dynamic columns Call static method with reflection C# winforms combobox dynamic autocomplete Adding rows to tbody of a table using jQuery How do I check if a property exists on a dynamic anonymous type in c#? Using braces with dynamic variable names in PHP How to add buttons dynamically to my form? How to dynamically allocate memory space for a string and get that string from user? How to perform runtime type checking in Dart? Modifying CSS class property values on the fly with JavaScript / jQuery How to create a List with a dynamic object type Android - Dynamically Add Views into View Javascript Regexp dynamic generation from variables? Get value of c# dynamic property via string Dynamically adding properties to an ExpandoObject How do you dynamically add elements to a ListView on Android? Add Bean Programmatically to Spring Web App Context create unique id with javascript Deserialize JSON into C# dynamic object? Test if a property is available on a dynamic variable What is the 'dynamic' type in C# 4.0 used for? Static array vs. dynamic array in C++ How do I reflect over the members of dynamic object? Simple dynamic breadcrumb Variable length (Dynamic) Arrays in Java Are parameters in strings.xml possible? What's the difference between eval, exec, and compile? Dynamically create checkbox with JQuery from text input What is the difference between call and apply? JavaScript: how to change form action attribute value based on selection? What is the correct way to write HTML using Javascript? How do I call a dynamically-named method in Javascript? How do I work with dynamic multi-dimensional arrays in C? Dynamic WHERE clause in LINQ Automatically create an Enum based on values in a database lookup table? Dynamic loading of images in WPF Dynamically fill in form values with jQuery Dynamic SQL - EXEC(@SQL) versus EXEC SP_EXECUTESQL(@SQL) WPF Image Dynamically changing Image source during runtime How can I create a dynamically sized array of structs?