基础算法8:提取出输入字符串中的域名或IP字符串

简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
      * 根据输入的字符串提取出其中的域名字符串或者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  "" ;
     }

测试:

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

测试输出:

www.zifangsky.cn



本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1731596,如需转载请自行联系原作者

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
1月前
|
算法
【优选算法】—— 字符串匹配算法
【优选算法】—— 字符串匹配算法
|
2月前
|
人工智能 算法 测试技术
【动态规划】【字符串】【C++算法】940. 不同的子序列 II
【动态规划】【字符串】【C++算法】940. 不同的子序列 II
|
3月前
|
算法 测试技术 C#
【动态规划】【字符串】C++算法:正则表达式匹配
【动态规划】【字符串】C++算法:正则表达式匹配
|
3月前
|
域名解析 缓存 网络协议
当使用IP地址可以访问应用系统,但通过域名无法访问时
【1月更文挑战第14天】【1月更文挑战第68篇】当使用IP地址可以访问应用系统,但通过域名无法访问时
44 6
|
3月前
|
算法 Java C++
试题 算法训练 最长字符串
试题 算法训练 最长字符串
11 0
|
2月前
|
机器学习/深度学习 算法 C语言
【编码狂想】深度探索C++编程之旅:“数组、字符串、函数与KMP算法解密“
【编码狂想】深度探索C++编程之旅:“数组、字符串、函数与KMP算法解密“
73 0
|
10天前
|
网络协议 Ubuntu Linux
|
16天前
|
算法
【算法学习--字符串】(不含KMP算法)
【算法学习--字符串】(不含KMP算法)
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
23 0
|
2月前
|
算法 测试技术 C++
【字符串】【 LCP】【C++算法】2573找出对应 LCP 矩阵的字符串
【字符串】【 LCP】【C++算法】2573找出对应 LCP 矩阵的字符串