正则表达式编号范围1-17

Ili*_*eev 4 regex numbers range

有人能告诉我如何匹配1到17之间的数字与正则表达式:

我试过[1-9] | 1 [0-7],但是由于第一部分,它在18中匹配8.

有任何想法吗?我不想要有前导零.

编辑:

问题是我正在尝试验证英国邮政编码,例如:

KW1-17(它可能是KW1,KW2直到KW17)......这只是外部部分.邮政编码可能是KW15 1BM或KW151BM,所以我不能只使用锚来匹配整个字符串......它变得更加复杂.

Tim*_*ker 10

你需要在正则表达式周围放置锚点,否则它将匹配子串:

^(?:[2-9]|1[0-7]?)$
Run Code Online (Sandbox Code Playgroud)

我也冒昧地让你的正则表达式更有效率:

两个正则表达式的比较