首页 > 代码库 > Java Regex match IP address

Java Regex match IP address

Reference:

[1] https://www.mkyong.com/regular-expressions/how-to-validate-ip-address-with-regular-expression/

import java.util.regex.Matcher;import java.util.regex.Pattern;public class IPAddressValidator{    private Pattern pattern;    private Matcher matcher;    private static final String IPADDRESS_PATTERN =		"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +		"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +		"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +		"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";    public IPAddressValidator(){	  pattern = Pattern.compile(IPADDRESS_PATTERN);    }   /**    * Validate ip address with regular expression    * @param ip ip address for validation    * @return true valid ip address, false invalid ip address    */    public boolean validate(final String ip){	  matcher = pattern.matcher(ip);	  return matcher.matches();    }}

Description

^		#start of the line (		#  start of group #1   [01]?\\d\\d? #    Can be one or two digits. If three digits appear, it must start either 0 or 1		#    e.g ([0-9], [0-9][0-9],[0-1][0-9][0-9])    |		#    ...or   2[0-4]\\d	#    start with 2, follow by 0-4 and end with any digit (2[0-4][0-9])    |           #    ...or   25[0-5]      #    start with 2, follow by 5 and ends with 0-5 (25[0-5]) )		#  end of group #2  \.            #  follow by a dot "."....            # repeat with 3 times (3x)$		#end of the line

Whole combination means, digit from 0 to 255 and follow by a dot “.”, repeat 4 time and ending with no dot “.” Valid IP address format is “0-255.0-255.0-255.0-255”

Java Regex match IP address