正则表达式 匹配一个两位数字

比如,11可以,34可以;
1不行,123不行.
如果是123,一般的写法\d\d,会匹配12,
所以怎样写,让123不匹配?

第1个回答  2015-10-14
\b\d{2}\b
\b代表词边界追问

输入两个数字可以匹配,但是用这12dfdfdf111sdfdf12sdfsdf就咩有匹配...

追答

可使用正则表达式的“环视”实现,表达式如下:
(?<![\d])\d{2}(?=[^\d])

(?<![\d]) : 正后顾,匹配前面不是数字
(?=[^\d]) : 正前瞻,匹配后面不是数字

本回答被提问者采纳
第2个回答  2015-10-13
var reg = /^\d{2}$/;

追问

不好意思,我没表达清楚:
比如有"12dfdfdf111sdfdf12sdfsdf",如何匹配其中的两处12

追答var url = "12www111dsf15sdf13";
var reg = /([^\d]|^)(\d{2})(?!\d)/g;
while(reg.exec(url)) console.log(RegExp.$2)

 

相似回答