java用正则表达式获取url的域名
2020-05-24 23:38
148 查看
下载代码
代码
package org.suyuesheng.spring7.util; import org.junit.Test; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public class GetDomainName { private String url; private int index; /** * 获取网络的根域名 * @param url * @return */ public static String getDomainName(String url){ String pattern = "/(?!/)"; Pattern compile = Pattern.compile(pattern); Matcher matcher = compile.matcher(url); ArrayList<Integer> list = new ArrayList<>(); while (matcher.find()){ list.add(m 56c atcher.start()); } return url.substring(0, list.get(1)+1); } /** *根据 index 来返回几级域名<br/> * 如果 index为0,则返回顶级域名,如http://localhost:8080/。<br/> * 如果index大于url所包含的最大域名级数就返回url<br/> * @param url * @param index 域名的级别,0为顶级域名,以此类推。 * @return */ public static String getDomainName(String url,int index){ String pattern = "/(?!/)"; Pattern compile = Pattern.compile(pattern); Matcher matcher = compile.matcher(url); ArrayList<Integer> list = new ArrayList<>(); while (matcher.find()){ list.add(matcher.start()); } try{ //如果index大于url所包含的最大域名级数就返回url //这里面list的size减一就是这个url的最大级数,因为list包含一个/是url中http://的/。所以不应该算数 if(index>=list.size()-1){ return url; }else if (index<0){ return null; }else { return url.substring(0, list.get(index+1)+1); } }catch (Exception e){ e.printStackTrace(); return null; } } @Test public void testDomain(){ System.out ad0 .println(GetDomainName.getDomainName("http://localhost:8080/test/session"));//http://localhost:8080/ System.out.println(GetDomainName.getDomainName("http://localhost:8080/test/session/", 3)); //http://localhost:8080/test/session/ } }
我建了一个公众号,主要是分享java项目,linux知识,日语学习相关的内容,大家喜欢的话可以关注一下,谢谢大家。
相关文章推荐
- java获取url地址的主域名正则表达式
- 通过正则表达式获取标准url地址的域名和文件后缀名
- 正则表达式获取URL中的域名
- 使用java正则表达式获取url地址
- java正则表达式获取url的host示例
- js利用正则表达式筛选并获取字符串中的URL链接(只是筛选完整URL,单独域名不筛选)
- 一个js通用函数,通过正则表达式获取url的各个部分。
- javascript 获取url参数的正则表达式(用来获取某个参数值)
- Java基础知识强化78:正则表达式之获取功能(案例)
- 用正则表达式提取URL里的域名,URI和参数
- 正则表达式获取url中的所有参数和值
- java根据url获取完整域名
- Java正则表达式匹配URL中的host
- javascript 获取url参数的正则表达式(用来获取某个参数值)
- java 通过正则表达式 获取纯文本信息
- IOS开发---菜鸟学习之路--(二十一)-利用正则表达式解析URL获取其中的参数
- 实例学正则表达式之三 -- 如何获取URL的中参数值
- Java基础知识强化77:正则表达式之获取功能(Pattern 和 Matcher类的使用)
- 【JS-01】正则表达式获取url的参数值
- 正则表达式获取URL参数