Can someone tell me how to match a number between 1-17 with a regex:
I tried [1-9]|1[0-7] but it matches 8 in the 18 for example because of the first part.
Any ideas? I don't want to have leading zeros.
edited:
The problem is I'm trying to validate a UK postcode like to start with:
KW1-17 (it could be KW1, KW2 up to KW17) ... and this is just the outward part. The postcode may be KW15 1BM or KW151BM so I can't just use anchors to match the whole string ... it becomes more complicated.
You need to put anchors around the regex or it will match substrings:
^(?:[2-9]|1[0-7]?)$
I've also taken the liberty to make your regex a bit more efficient:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With