简体   繁体   中英

javascript regex matching 3 digits and 3 letters

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

eg 100BLA

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

\\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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM