这只是一个有关正则表达式的小方法,但是还是挺常用的。比如:获取用户的输入后,我们需要提取输入的字符串中的域名或者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
转载于:https://blog.51cto.com/983836259/1731596