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

首頁 > 網站 > WEB開發 > 正文

15.12.如何通過子表達式來驗證IP 地址是否有效呢?

2024-04-27 13:52:20
字體:
來源:轉載
供稿:網友
15.12.1 問題
如何在一個文本中, 尋找一些有效的IP 地址呢?
15.12.2 解決辦法
可以使用子表達式去驗證IP 地址中的每個3 位數組是否有效。
15.12.3 討論
根本上一章(章節15.11)所學習過的內容, 一個包含1 位和3 位數目字的IP 地址可以用”/d”標記來匹配的。
/d{1,3}
如果你想為3 組包含1 和4 位數的數組進行匹配, 可以這樣做:
(/d{1,4}){3}
就如”/d{3}”可以用來匹配”333”一樣, 你可以通過創建子表達式來進行匹配。子表達式本身就是一個獨立的元素, 跟表達中其他的模式有著相同的地位。比如說一個IP 地址, 當中包含著4 組3 位數的數組。你可以把它分成3 組3 位數組跟1 組3 位數組來處理, 這樣做會比較方便:
(/d{1,3}/.){3}/d{1,3}
可是, 這個方法是有問題的, 它給返回一個像這樣子的字符串: 838.381.28.999, 而非一個有效的IP 地址。要解決這個問題, 你需要把每個3 位數組的最大值限制為255。通過使用子表達式, 可以這樣做:
代碼如下:
(((/d{1,2})|(1/d{2})|(2[0-4]/d)|(25[0-5]))/.){3}((/d{1,2})|(1/d{2})|(2[0-4]/d)|(25[0-5]))
首先, 先對代碼的前面部分中作個深入的了解:
(((/d{1,2})|(1/d{2})|(2[0-4]/d)|(25[0-5]))/.){3}
在這段代碼中, 你會看到4 個主要部份:
(/d{1,2}) 表示包含著”1”或者”2”的數字或者
(1/d{2}) 表示“1”隨后跟著兩個數目或者
(2[0-4]/d) 表示“2” 隨后跟著兩個”0 至4” 范圍內的數字或者
(25[0-5]) 表示“25” 隨后跟著1 個”0 至5” 范圍內的數位
最后”/.”及{3}代表包含著3 組根據以上規則的數組并以”.”號分隔。

最后還有一組子表達式代表著第4 組數組:
((/d{1,2})|(1/d{2})|(2[0-4]/d)|(25[0-5]))
它跟之前的表達式很相似, 只是去除了尾端的”.”號。這是由于一個正確的IP 地址(例如:
192.168.0.1), 尾端的是沒有”.”號的。

以下是一些有關子表達式的語法功能:
{n}代表最少執行n 次。
{n,m}代表最少執行n 次但不多于m 次。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 错那县| 镇远县| 柯坪县| 和平县| 光泽县| 福贡县| 交口县| 景德镇市| 长宁县| 卢龙县| 库伦旗| 大港区| 东乌| 临汾市| 嘉荫县| 辛集市| 阳朔县| 孙吴县| 南澳县| 武安市| 南皮县| 禹城市| 托里县| 东海县| 伊川县| 七台河市| 恩平市| 清丰县| 辰溪县| 石门县| 雅安市| 东光县| 香河县| 常德市| 溧水县| 宁陵县| 安化县| 成武县| 抚松县| 黄浦区| 肇东市|