1

希望快速回答​​这个问题我有一个字符串,我正在尝试匹配前两个数字

var str = "aasd10aaaa";

之后我想确保前两位数字之后的每个字符都是字母字符 az

这是我到目前为止所拥有的

var str = "aasd10aaaa";    
var testIt = /[0-9]{2}[a-z]+/i
var test = testIt.test(str)

但是,如果我的字符串是

var str = "aasd101aaa"; 

但是,当我测试上面的字符串时,它仍然返回 true,即使它不应该因为我只希望 reg ex 匹配前两位数字;在前两位数字之后,它应该都是字母字符。我是 reg ex 的新手,不知道;一如既往地感谢任何帮助

4

2 回答 2

7
var testIt = /^[^0-9]*?[0-9]{2}[a-zA-Z]+$/;

[^0-9]*?任何不包含数字的东西。
[0-9]{2}两位数。
[a-zA-Z]+检查两位数字后的字符是否都是单词字符。

于 2013-05-07T02:30:37.533 回答
3

你需要这个:

var testIt = /(?:\D)\d{2}[a-z]+/i

\D表示不是数字,如果你只是限制到a-z,那么使用[a-z]

(?:\D)表示匹配非数字字符,但不匹配组。

于 2013-05-07T02:22:59.510 回答