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.