这只是一个有关正则表达式的小方法,但是还是挺常用的。比如:获取用户的输入后,我们需要提取输入的字符串中的域名或者IP,进行后续的联网查询,这时候这个方法就有用了。下面直接上代码:

/**
	 * 根据输入的字符串提取出其中的域名字符串或者IP字符串,如:www.zifangsky.cn
	 * 
	 * @param str 输入的包含域名的字符串
	 * @return 域名或IP字符串
	 * */
	public static String getDomainString(String str){
		String reg = "[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+";
		Pattern pattern = Pattern.compile(reg);
		Matcher matcher = pattern.matcher(str);
		if(matcher.find()){
			return matcher.group();
		}
		return "";	
	}

测试:

public static void main(String[] args){
		System.out.println(StringUtil.getDomainString("http://www.zifangsky.cn/2015/10/hello-world/"));
	}

测试输出:

www.zifangsky.cn