亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用正則表達(dá)式驗(yàn)證域名的教程

 更新時(shí)間:2024年11月19日 10:57:58   作者:宋發(fā)元  
本教程介紹了如何使用正則表達(dá)式驗(yàn)證域名格式,正則表達(dá)式確保域名符合基本規(guī)則:每個(gè)標(biāo)簽只能包含字母、數(shù)字和短橫線,標(biāo)簽長(zhǎng)度限制在1到63個(gè)字符之間,且頂級(jí)域名必須由字母組成且長(zhǎng)度至少為2個(gè)字符,感興趣的朋友一起看看吧

下面是一篇關(guān)于如何使用正則表達(dá)式驗(yàn)證域名的教程。

如何使用正則表達(dá)式驗(yàn)證域名

簡(jiǎn)介

域名是互聯(lián)網(wǎng)上網(wǎng)站的地址,每個(gè)域名由多個(gè)標(biāo)簽(label)組成,標(biāo)簽之間用點(diǎn) . 分隔。域名規(guī)則有很多細(xì)節(jié),但基本要求是:

  • 每個(gè)標(biāo)簽只能包含字母、數(shù)字和短橫線 -。
  • 標(biāo)簽的長(zhǎng)度不能超過(guò) 63 個(gè)字符。
  • 域名的最后一部分(即頂級(jí)域名,TLD)必須由字母組成,且至少為 2 個(gè)字符。

在本文中,我們將學(xué)習(xí)如何使用正則表達(dá)式來(lái)驗(yàn)證域名是否合法。

正則表達(dá)式分析

我們可以使用以下正則表達(dá)式來(lái)驗(yàn)證域名格式是否正確:

^(?:[a-zA-Z0-9-]{1,63}\.)+[a-zA-Z]{2,}$

解釋

  • ^$
    • ^:表示匹配字符串的開(kāi)始。
    • $:表示匹配字符串的結(jié)束。通過(guò)這兩個(gè)符號(hào),我們可以確保整個(gè)字符串符合正則表達(dá)式的規(guī)則。
  • (?: ... )
    • 這是一個(gè)非捕獲組,用于將一組元素組合在一起,但是不會(huì)把它們單獨(dú)捕獲用于后續(xù)的處理。這里的非捕獲組用于重復(fù)匹配標(biāo)簽部分。
  • [a-zA-Z0-9-]{1,63}
    • [a-zA-Z0-9-]:表示標(biāo)簽部分可以包含小寫字母、大寫字母、數(shù)字和短橫線 -。
    • {1,63}:表示每個(gè)標(biāo)簽的長(zhǎng)度應(yīng)在 1 到 63 個(gè)字符之間。
  • \.
    • \. 用于匹配點(diǎn) .。由于點(diǎn)在正則表達(dá)式中有特殊意義(表示任何單個(gè)字符),所以我們使用反斜杠對(duì)它進(jìn)行轉(zhuǎn)義。
  • +
    • + 表示前面的模式(即標(biāo)簽部分和點(diǎn))可以重復(fù)多次,表示域名可以有多個(gè)標(biāo)簽部分。
  • [a-zA-Z]{2,}
    • [a-zA-Z]:表示頂級(jí)域名(TLD)部分只可以包含字母。
    • {2,}:表示頂級(jí)域名的長(zhǎng)度必須至少為 2 個(gè)字符。 合法的域名示例

以下是一些合法的域名,正則表達(dá)式應(yīng)當(dāng)能夠匹配:

  • example.com
  • www.example.com
  • subdomain.example.co
  • my-website.example.org

不合法的域名示例

以下是一些不合法的域名,正則表達(dá)式會(huì)排除:

  • example..com —— 雙點(diǎn) .. 不合法
  • -example.com —— 域名標(biāo)簽不能以短橫線 - 開(kāi)頭
  • example-.com —— 域名標(biāo)簽不能以短橫線 - 結(jié)尾
  • .example.com —— 域名不能以點(diǎn) . 開(kāi)頭
  • example —— 沒(méi)有頂級(jí)域名部分(缺少點(diǎn))
  • example.c —— 頂級(jí)域名長(zhǎng)度小于 2 個(gè)字符
  • example.123 —— 頂級(jí)域名不能包含數(shù)字

使用 Java 正則表達(dá)式進(jìn)行域名驗(yàn)證

在 Java 中,我們可以使用 Pattern 類和 Matcher 類來(lái)編寫一個(gè)方法來(lái)驗(yàn)證域名。以下是 Java 實(shí)現(xiàn):

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DomainValidator {
    // 域名驗(yàn)證正則表達(dá)式
    private static final String DOMAIN_REGEX = "^(?:[a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z]{2,}$";
    // 驗(yàn)證域名是否合法
    public static boolean isValidDomain(String domain) {
        // 創(chuàng)建模式對(duì)象
        Pattern pattern = Pattern.compile(DOMAIN_REGEX);
        // 創(chuàng)建匹配器對(duì)象
        Matcher matcher = pattern.matcher(domain);
        // 返回是否匹配
        return matcher.matches();
    }
    // 測(cè)試方法
    public static void main(String[] args) {
        // 測(cè)試合法域名
        System.out.println(isValidDomain("example.com"));  // true
        System.out.println(isValidDomain("www.example.com"));  // true
        System.out.println(isValidDomain("subdomain.example.co"));  // true
        System.out.println(isValidDomain("my-website.example.org"));  // true
        // 測(cè)試不合法域名
        System.out.println(isValidDomain("example..com"));  // false
        System.out.println(isValidDomain("-example.com"));  // false
        System.out.println(isValidDomain("example-.com"));  // false
        System.out.println(isValidDomain(".example.com"));  // false
        System.out.println(isValidDomain("example"));  // false
        System.out.println(isValidDomain("example.c"));  // false
        System.out.println(isValidDomain("example.123"));  // false
    }
}

解釋:

  • 正則表達(dá)式:我們將正則表達(dá)式 DOMAIN_REGEX 定義為常量,以便在 Java 代碼中使用。
  • isValidDomain 方法:該方法接收一個(gè)字符串參數(shù) domain,并使用 Pattern.compile() 方法編譯正則表達(dá)式,再使用 matcher.matches() 來(lái)驗(yàn)證輸入的字符串是否符合域名格式。
  • main 方法:測(cè)試了多個(gè)合法和不合法的域名,以驗(yàn)證 isValidDomain() 方法的正確性。

總結(jié)

通過(guò)本教程,你已經(jīng)學(xué)會(huì)了如何使用正則表達(dá)式來(lái)驗(yàn)證域名格式。我們編寫了一個(gè)正則表達(dá)式,確保域名符合基本的規(guī)則:每個(gè)標(biāo)簽只能包含字母、數(shù)字和短橫線,標(biāo)簽長(zhǎng)度限制在 1 到 63 個(gè)字符之間,且頂級(jí)域名必須由字母組成且長(zhǎng)度至少為 2 個(gè)字符。

我們還使用 Java 的 PatternMatcher 類實(shí)現(xiàn)了一個(gè)域名驗(yàn)證方法,并對(duì)合法和不合法的域名進(jìn)行了測(cè)試。

希望這篇教程對(duì)你有所幫助!

指定后綴域名驗(yàn)證

以下是從阿里云域名購(gòu)買處獲得的一些域名后綴:

.ac.cn
.ah.cn
.archi
.art
.asia
.auto
.autos
.baby
.band
.beauty
.beer
.bio
.biz
.bj.cn
.black
.blue
.bond
.cab
.cafe
.car
.cars
.cash
.cc
.center
.chat
.city
.click
.cloud
.club
.cn
.co
.college
.com
.com.cn
.company
.cool
.cq.cn
.cyou
.design
.email
.fan
.fans
.fashion
.fit
.fj.cn
.fun
.fund
.fyi
.games
.gd.cn
.global
.gold
.gov.cn
.green
.group
.gs.cn
.guru
.gx.cn
.gz.cn
.ha.cn
.hair
.hb.cn
.he.cn
.hi.cn
.hk.cn
.hl.cn
.hn.cn
.homes
.host
.icu
.info
.ink
.jl.cn
.js.cn
.jx.cn
.kim
.law
.life
.live
.ln.cn
.lotto
.love
.ltd
.luxe
.makeup
.market
.mba
.me
.media
.mo.cn
.mobi
.monster
.motorcycles
.net
.net.cn
.news
.nm.cn
.nx.cn
.online
.org.cn
.organic
.pink
.plus
.poker
.press
.pro
.promo
.protection
.pub
.pw
.qh.cn
.quest
.red
.ren
.rent
.run
.sc.cn
.school
.sd.cn
.security
.sh.cn
.shop
.shopping
.show
.site
.ski
.skin
.sn.cn
.social
.space
.storage
.store
.studio
.sx.cn
.tax
.team
.tech
.technology
.theatre
.tickets
.tj.cn
.today
.top
.tv
.tw.cn
.uno
.video
.vin
.vip
.vote
.voto
.wang
.website
.wiki
.work
.world
.xin
.xj.cn
.xyz
.xz.cn
.yachts
.yn.cn
.yoga
.zj.cn
.zone
.餐廳
.佛山
.公司
.廣東
.集團(tuán)
.企業(yè)
.商標(biāo)
.商城
.商店
.網(wǎng)店
.網(wǎng)絡(luò)
.網(wǎng)址
.我愛(ài)你
.游戲
.娛樂(lè)
.在線
.招聘
.中國(guó)
.中文網(wǎng).ac.cn
.ah.cn
.archi
.art
.asia
.auto
.autos
.baby
.band
.beauty
.beer
.bio
.biz
.bj.cn
.black
.blue
.bond
.cab
.cafe
.car
.cars
.cash
.cc
.center
.chat
.city
.click
.cloud
.club
.cn
.co
.college
.com
.com.cn
.company
.cool
.cq.cn
.cyou
.design
.email
.fan
.fans
.fashion
.fit
.fj.cn
.fun
.fund
.fyi
.games
.gd.cn
.global
.gold
.gov.cn
.green
.group
.gs.cn
.guru
.gx.cn
.gz.cn
.ha.cn
.hair
.hb.cn
.he.cn
.hi.cn
.hk.cn
.hl.cn
.hn.cn
.homes
.host
.icu
.info
.ink
.jl.cn
.js.cn
.jx.cn
.kim
.law
.life
.live
.ln.cn
.lotto
.love
.ltd
.luxe
.makeup
.market
.mba
.me
.media
.mo.cn
.mobi
.monster
.motorcycles
.net
.net.cn
.news
.nm.cn
.nx.cn
.online
.org.cn
.organic
.pink
.plus
.poker
.press
.pro
.promo
.protection
.pub
.pw
.qh.cn
.quest
.red
.ren
.rent
.run
.sc.cn
.school
.sd.cn
.security
.sh.cn
.shop
.shopping
.show
.site
.ski
.skin
.sn.cn
.social
.space
.storage
.store
.studio
.sx.cn
.tax
.team
.tech
.technology
.theatre
.tickets
.tj.cn
.today
.top
.tv
.tw.cn
.uno
.video
.vin
.vip
.vote
.voto
.wang
.website
.wiki
.work
.world
.xin
.xj.cn
.xyz
.xz.cn
.yachts
.yn.cn
.yoga
.zj.cn
.zone
.餐廳
.佛山
.公司
.廣東
.集團(tuán)
.企業(yè)
.商標(biāo)
.商城
.商店
.網(wǎng)店
.網(wǎng)絡(luò)
.網(wǎng)址
.我愛(ài)你
.游戲
.娛樂(lè)
.在線
.招聘
.中國(guó)
.中文網(wǎng)

要求在一段文本中,用正則表達(dá)式匹配出包含我給的后綴域名的數(shù)據(jù),正則表達(dá)式如下:

(?:[a-zA-Z0-9-]+\.)+(?:ac\.cn|ah\.cn|archi|art|asia|auto|autos|baby|band|beauty|beer|bio|biz|bj\.cn|black|blue|bond|cab|cafe|car|cars|cash|cc|center|chat|city|click|cloud|club|cn|co|college|com|com\.cn|company|cool|cq\.cn|cyou|design|email|fan|fans|fashion|fit|fj\.cn|fun|fund|fyi|games|gd\.cn|global|gold|gov\.cn|green|group|gs\.cn|guru|gx\.cn|gz\.cn|ha\.cn|hair|hb\.cn|he\.cn|hi\.cn|hk\.cn|hl\.cn|hn\.cn|homes|host|icu|info|ink|jl\.cn|js\.cn|jx\.cn|kim|law|life|live|ln\.cn|lotto|love|ltd|luxe|makeup|market|mba|me|media|mo\.cn|mobi|monster|motorcycles|net|net\.cn|news|nm\.cn|nx\.cn|online|org\.cn|organic|pink|plus|poker|press|pro|promo|protection|pub|pw|qh\.cn|quest|red|ren|rent|run|sc\.cn|school|sd\.cn|security|sh\.cn|shop|shopping|show|site|ski|skin|sn\.cn|social|space|storage|store|studio|sx\.cn|tax|team|tech|technology|theatre|tickets|tj\.cn|today|top|tv|tw\.cn|uno|video|vin|vip|vote|voto|wang|website|wiki|work|world|xin|xj\.cn|xyz|xz\.cn|yachts|yn\.cn|yoga|zj\.cn|zone|餐廳|佛山|公司|廣東|集團(tuán)|企業(yè)|商標(biāo)|商城|商店|網(wǎng)店|網(wǎng)絡(luò)|網(wǎng)址|我愛(ài)你|游戲|娛樂(lè)|在線|招聘|中國(guó)|中文網(wǎng))

測(cè)試數(shù)據(jù)如下:

www.example.com
www.test.ac.cn
example.企業(yè)
mywebsite.中國(guó)
www.example.ac.cn
test.ah.cn
mywebsite.archi
site.com
invalidwebsite.xyz
example.bj.cn
example.com.cn
random.website
/zuankeba/3894433.html

效果如下:

到此這篇關(guān)于如何使用正則表達(dá)式驗(yàn)證域名的文章就介紹到這了,更多相關(guān)正則表達(dá)式驗(yàn)證域名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論