1.23 实例:正则表达式验证IP地址
生活随笔
收集整理的這篇文章主要介紹了
1.23 实例:正则表达式验证IP地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
IP 地址是網絡上每臺計算機的唯一標識,因此 IP 地址的錯誤輸入將使程序無法運行。下面使用前面學習的正則表達式知識,編寫一個 Java 程序來驗證 IP 地址是否合法。
在定義正則表達式之前,首先要知道一個正確 IP 地址的格式及組成部分。IP 地址由 4 字節構成,每字節的值為 0~255,各字節通過一個句點分隔。因此,IP 地址中的每字節有至少一個,至多三個數字。
下面是為 IP 地址編寫的正則表達式:
\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
以上正則表達式對 IP 做簡單的匹配,不完全和 IP 的規則一致。如果想完全匹配,讀者可以重新修改匹配的正則表達式。
創建 Test 類,在該類的 main() 方法中編寫驗證 IP 地址的代碼。代碼如下:
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test {public static void main(String[] args) {String regex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";String answer = "Y";do {System.out.print("請輸入 IP 地址:");Scanner scan = new Scanner(System.in);String phone = scan.next(); // 接收用戶在控制臺輸入的電話號碼Pattern pattern = Pattern.compile(regex); // 編譯正則表達式Matcher matcher = pattern.matcher(phone); // 創建給定輸入模式的匹配器boolean bool = matcher.matches();if(bool) { // 如果驗證通過System.out.println("輸入的 IP 地址正確。");} else {System.out.println("輸入的IP地址格式錯誤。");}System.out.print("是否繼續輸入?(Y/N 或者 y/n)");answer = scan.next();}while(answer.equalsIgnoreCase("Y"));System.out.println("程序結束。");} }運行程序,然后輸入不同格式的 IP 地址,輸出結果如下所示:
請輸入 IP 地址:11.154.15.1 輸入的 IP 地址正確。 是否繼續輸入?(Y/N 或者 y/n)y 請輸入 IP 地址:22a.7.68.9 輸入的IP地址格式錯誤。 是否繼續輸入?(Y/N 或者 y/n)n 程序結束。總結
以上是生活随笔為你收集整理的1.23 实例:正则表达式验证IP地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.22 实例:正则表达式验证电话号码
- 下一篇: 1、Math类的常用方法