Java通過(guò)正則表達(dá)式獲取域名簡(jiǎn)單示例
Java正則表達(dá)式獲取域名
由于 url.getHost()獲取域名會(huì)有漏洞,會(huì)獲取不完整,因此通過(guò)正則表達(dá)式獲取域名,上代碼:
String url = http://www.linuxidc.com/entry/4545/0/;
Pattern p = Pattern.compile("(?<=http://|\\.)[^.]*?\\.(com|cn|net|org|biz|info|cc|tv)",Pattern.CASE_INSENSITIVE);
Matcher matcher = p.matcher(url);
matcher.find();
System.out.println(matcher.group());//結(jié)果:linuxidc.com
如果要得到 linuxidc.com/entry/4545/0/,正則表達(dá)式最后加上 .* 即可:
String url = "http://127.0.0.1\\.testserver.cn/1.htm";
Pattern p = Pattern.compile("[^//]*?\\.(com|cn|net|org|biz|info|cc|tv).*", Pattern.CASE_INSENSITIVE);
Matcher matcher = p.matcher(url);
matcher.find();
System.out.println("------------------->"+matcher.group());附:java正則表達(dá)式URL匹配
思路:
1.先驗(yàn)證url開(kāi)始部分 https:// 或 http://
2.通過(guò)((http|https)??/)([\w-]+.)+[\w$]+ 匹配域名www.bilibili.com
3.(/[\w-?=&./]*)? 匹配 /video/BV1Eq4y1E79W?from=search&seid
public class RegExp11 {
public static void main(String[] args){
String content = "https://www.bilibili.com/video/BV1Eq4y1E79W?from=search&seid=9946545262871408175";
//思路:
// 1.先驗(yàn)證url開(kāi)始部分 https:// 或 http://
// 2.通過(guò)((http|https)://)([\w-]+\.)+[\w$]+ 匹配域名www.bilibili.com
// 3.(\/[\w-?=&./]*)? 匹配 /video/BV1Eq4y1E79W?from=search&seid
String regStr = "^((http|https)://)([\\w-]+\\.)+[\\w$]+(\\/[\\w-?=&./]*)?$";//[.?*]表示匹配的就是本身
Pattern pattern = Pattern.compile(regStr);
Matcher matcher = pattern.matcher(content);
if (matcher.find()){
System.out.println("滿(mǎn)足格式!");
}else {
System.out.println("不滿(mǎn)足格式!");
}
}
}總結(jié)
到此這篇關(guān)于Java通過(guò)正則表達(dá)式獲取域名的文章就介紹到這了,更多相關(guān)Java正則表達(dá)式獲取域名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解SpringSecurity如何實(shí)現(xiàn)前后端分離
這篇文章主要為大家介紹了詳解SpringSecurity如何實(shí)現(xiàn)前后端分離,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
解決Callable的對(duì)象中,用@Autowired注入別的對(duì)象失敗問(wèn)題
這篇文章主要介紹了解決Callable的對(duì)象中,用@Autowired注入別的對(duì)象失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Spring?boot?運(yùn)用策略模式實(shí)現(xiàn)避免多次使用if
這篇文章主要介紹了Spring?boot?運(yùn)用策略模式實(shí)現(xiàn)避免多次使用if,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
SSM框架使用poi導(dǎo)入導(dǎo)出Excel的詳細(xì)方法
這篇文章主要介紹了SSM框架使用poi導(dǎo)入導(dǎo)出Excel,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
淺談SpringBoot內(nèi)嵌Tomcat的實(shí)現(xiàn)原理解析
這篇文章主要介紹了淺談SpringBoot內(nèi)嵌Tomcat的實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
SpringBoot實(shí)現(xiàn)Server-Sent Events(SSE)的使用完整指南
使用SpringBoot實(shí)現(xiàn)Server-Sent Events(SSE)可以有效處理實(shí)時(shí)數(shù)據(jù)推送需求,具有單向通信、輕量級(jí)和高實(shí)時(shí)性等優(yōu)勢(shì),本文詳細(xì)介紹了在SpringBoot中創(chuàng)建SSE端點(diǎn)的步驟,并通過(guò)代碼示例展示了客戶(hù)端如何接收數(shù)據(jù),適用于實(shí)時(shí)通知、數(shù)據(jù)展示和在線聊天等場(chǎng)景2024-09-09
Java Spring框架簡(jiǎn)介與Spring IOC詳解
Spring 框架是一個(gè)輕量級(jí)的解決方案,可以一站式地構(gòu)建企業(yè)級(jí)應(yīng)用。它是為了解決 企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來(lái)完成以前只可能由 EJB 完成的事情。IOC 是 Inversion of Control 的縮寫(xiě),多數(shù)書(shū)籍翻譯成控制反轉(zhuǎn)2021-09-09

