InTry
InTry

Reputation: 1169

javascript regex matching 3 digits and 3 letters

How to match word in string that contain exactly "3 digits and 3 letters"?

e.g. 100BLA

var regex = ?;
var string = "word word 100BLA word";
desiredString = string .match(regex);

Upvotes: 23

Views: 71656

Answers (2)

Maria Ioannidou
Maria Ioannidou

Reputation: 1564

INITIAL (incomplete)

var regex = /[0-9]{3}[A-Za-z]{3}/;

EDIT 1 (incomplete)

var regex = /[0-9]{3}[A-Za-z]{3}\b/; // used \b for word boundary

EDIT 2 (correct)

var regex = /\b[0-9]{3}[A-Za-z]{3}\b/; // used \b at start and end for whole word boundary

Upvotes: 5

stema
stema

Reputation: 92986

\d matches a digit

[a-zA-Z] matches a letter

{3} is the quantifier that matches exactly 3 repetitions

^ Anchor to match the start of the string

$ Anchor to match the end of the string

So if you use all this new knowledge, you will come to a regex like this:

^\d{3}[a-zA-Z]{3}$

Update:

Since the input example has changed after I wrote my answer, here the update:

If your word is part of a larger string, you don't need the anchors ^ and $ instead you have to use word boundaries \b.

\b\d{3}[a-zA-Z]{3}\b

Upvotes: 39

Related Questions