String regex = "^([A-Za-z]+://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // User. + "(([0-9]{1,3}\\.){3}[0-9]{1,3}" // IP. + "|" // Allows either IP or domain. + "([0-9A-Za-z_!~*'()-]+\\.)*" // Tertiary domain(s) - www. + "([0-9A-Za-z][0-9A-Za-z-]{0,61})?[0-9A-Za-z]\\." // Second level domain. + "[a-z]{2,6})" // First level domain- .com or .museum. + "(:[0-9]{1,5})?" // Port number - :80 + "((/?)|" // A slash isn't required if there is no file name + "(/[0-9A-Za-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; // Page name.