#!/usr/bin/perl -w use strict; my $grp = qr/\[\d+-\d+\]/; for () { print if /\d+\.\d+\.$grp\.(\d+|$grp)/; } __DATA__ 123.145.[146-149].2 135.168.[10-115].[0-125] 135.168.12.[0-125]