有人能告诉我如何匹配1到17之间的数字与正则表达式:
我试过[1-9] | 1 [0-7],但是由于第一部分,它与18中的8匹配.
有任何想法吗?我不希望有前导零.
编辑:
问题是我正在尝试验证英国邮政编码,例如:
KW1-17(它可能是KW1,KW2到KW17)……这只是外部部分.邮政编码可能是KW15 1BM或KW151BM,所以我不能只使用锚点来匹配整个字符串……它变得更加复杂.
你需要在正则表达式周围放置锚点,否则它将匹配子串:
^(?:[2-9]|1[0-7]?)$
我也冒昧地让你的正则表达式更有效率: