alias upto(1) with once()
range:matches(ip) rather than the contrary.