24

如何匹配字符串中恰好包含“3个数字和3个字母”的单词?

例如 100BLA

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

2 回答 2

37

\d匹配一个数字

[a-zA-Z]匹配一个字母

{3}是恰好匹配 3 次重复的量词

^锚点以匹配字符串的开头

$锚点以匹配字符串的结尾

因此,如果您使用所有这些新知识,您将得到这样的正则表达式:

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

更新:

由于在我写完答案后输入示例发生了变化,因此更新如下:

如果您的单词是较大字符串的一部分,则不需要锚点^$而是必须使用单词边界 \b

\b\d{3}[a-zA-Z]{3}\b
于 2013-04-29T09:59:36.693 回答
5

初始(不完整)

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

编辑 1(不完整)

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

编辑 2(正确)

var regex = /\b[0-9]{3}[A-Za-z]{3}\b/; // used \b at start and end for whole word boundary
于 2013-04-29T10:01:06.073 回答