你的这个正则,范围是1-99,而不是 1-199/1\d|[1-9]\d?/ 这个正则中, | 表示或者,也就是可以分成 1\d 和 [1-9]\d? 两个正则的合集。而 [1-9]\d? 这个正则实际是包括了 1\d 的内容, 所以你的正则,实际可以简化为 /[1-9]\d?/