Reputation: 1169
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
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
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}$
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