国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

匹配IP字串、域名的正則表達式

2024-09-07 17:40:18
字體:
來源:轉載
供稿:網友

1。IP

IP字串,由四段組成,每一段是0~255的數字,段與段之間用小數點隔開,比如61.139.2.69就是一個合法的IP字串。如果正則表達式寫成d{1,3}(.d{1,3}){3}無疑是不負責的,因為它可以匹配300.400.555.666這樣的非法IP字串。要匹配一個0~255之間的數,有幾種匹配方式,下面是其中一種:

匹配正則表達式說明
0~9d單個數字
10~99[1-9]d兩位數
100~1991dd百位為1的三位數
200~2492[0-4]d三位數,百位是2,十位是0~9
250~25525[0-5]三位數,百位是2,十位是5,個位是0~5

寫成正則表達式,即:(d|([1-9]d)|(1dd)|(2[0-4]d)|(25[0-5])),但是這樣的正則表達式在匹配254這樣的字串時,會分別匹配2、5、4,得到3個匹配,達不到預期效果,正確做法是將次序顛倒為((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d),因為在(xxx|yyy)這種匹配行為中,是從左向右搜索的。

完整的正則表達式是:

((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)(.((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)){3}

2。 域名

一個完整的域名,由根域、頂級域、二級、三級……域名構成,每級域名之間用點分開,每級域名由字母、數字和減號構成(第一個字母不能是減號),不區分大小寫,長度不超過63。

很顯然,單獨的名字可以由正則表達式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}來匹配,而完整的域名至少包括兩個名字(比如google.com,由google和com構成),最后可以有一個表示根域的點(在規范中,最后有一個點的才是完整域名,但一般認為包括兩個以上名字的域名也是完整域名,哪怕它后面沒有點)。

匹配完整域名的正則表達式:

[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资讯 | 建德市| 万载县| 亚东县| 湘潭县| 剑川县| 高陵县| 噶尔县| 门源| 通海县| 陵川县| 沁水县| 东乡县| 丽水市| 闽侯县| 莒南县| 鹤壁市| 奉化市| 若羌县| 五华县| 安庆市| 读书| 磐石市| 南开区| 华亭县| 曲阜市| 江阴市| 万全县| 台州市| 成都市| 黔南| 巴楚县| 漾濞| 宁阳县| 伊通| 凤庆县| 子长县| 汝阳县| 六盘水市| 承德县| 娱乐|