4

I use this regex

str = "asd34rgr888gfd98";
var p = str.match(/\d{2}/);
alert(p[0]);

butI not understood how can use variable as quantificator, that is how write this:

 var number = 2;
 var p = str.match(/\d{number}/);

P.S. I see this page JavaScript regex pattern concatenate with variable but not understood how use example from these posts, in my case.

3 Answers 3

10

You need to build your regex as a string and pass it to the RegExp constructor:

var regexString = '\\d{' + number + '}';
var regex = new RegExp(regexString);
var p = str.match(regex);

Notice that when building a regex via a string, you need to add some extra escape characters to escape the string as well as the regex.

Sign up to request clarification or add additional context in comments.

Comments

4
var number = "2"
var p = new RegExp("\\d{" + number + "}");

Comments

4

This should work:

var str = "asd34rgr888gfd98";
number = 3;
p = str.match(new RegExp('\\d{' + number + '}'));

alert(p[0]);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.