4 ms·
I created this instead: https://regexper.com/#((%5B0-9%5D%5C.)%7C(%5B1-9%5D%5B0-9%5D%5C.)%7C(1%5B0-9%5D%5B0-9%5D%5C.)%7C(2%5B0-5%5D%5B0-5%5D%5C.))%7B3%7D((%5B0-
by grok2 9y ago
I created this instead: https://regexper.com/#((%5B0-9%5D%5C.)%7C(%5B1-9%5D%5B0-9%5D%5C.)%7C(1%5B0-9%5D%5B0-9%5D%5C.)%7C(2%5B0-5%5D%5B0-5%5D%5C.))%7B3%7D((%5B0-9%5D)%7C(%5B1-9%5D%5B0-9%5D)%7C(1%5B0-9%5D%5B0-9%5D)%7C(2%5B0-5%5D%5B0-5%5D))(%24) https://regexper.com/#((%5B0-9%5D%5C.)%7C(%5B1-9%5D%5B0-9%5D...
The repetition count seems to be displayed off-by-one though.
- reificator 9y agoOn mobile so can't (easily) test it, but doesn't this produce a false negative for `246.{snip}`, for example?
- grok2 9y agoYes, you are right...the following better? https://regexper.com/#((%5B0-9%5D%5C.)%7C(%5B1-9%5D%5B0-9%5D%5C.)%7C(1%5B0-9%5D%5B0-9%5D%5C.)%7C(2%5B0-4%5D%5B0-9%5D%5C.)%7C(25%5B0-5%5D%5C.))%7B3%7D((%5B0-9%5D)%7C(%5B1-9%5D%5B0-9%5D)%7C(1%5B0-9%5D%5B0-9%5D)%7C(2%5B0-4%5D%5B0-9%5D)%7C(25%5B0-5%5D))(%24) https://regexper.com/#((%5B0-9%5D%5C.)%7C(%5B1-9%5D%5B0-9%5D...
- emj 9y agoDoes not match: 10.1 -> 10.0.0.1
- grok2 9y agoIn IPv4 addresses, as far as I know, this is not done -- it is only IPv6 addresses that use the double colon to indicate a sequence of zeros.
- tzs 9y agoWhere are you seeing a double colon? He write "10.1", not "10::1". IPv4 addresses, according to POSIX, can be written in 4 forms: A1.A2.A3.A4 A1.A2.B A1.C D where Ai is an 8 bit number, B is a 16 bit number, C is a 24 bit number, and D is a 32 bit number. "10.1" is A1.C form. See the inet_addr man page if you are on Unix or a Unix-like system.
- grok2 9y agoI referred to the double colon as something I saw used with IPv6 to indicate a sequence of 0's. I wasn't aware that inet_aton supported all these forms and the regex I provide won't parse them. It seems like inet_aton supports specifying the numbers in octal and hex too.
- emj 9y agoGreat explanation thank you! The 24 bit and 16 bit variants are highly useable but they are often overlooked by regexps, biggest problem is web apps. Being able to use octal and hex is even less common.