java正規表示式 matches方式匹配ip

2021-08-04 03:02:39 字數 1286 閱讀 9055

最近遇到了乙個要校驗ipv4 ipv6格式的問題,應用正規表示式方便簡單,**如下,已經通過驗證,可方便判斷字串是否為正確ip

/**

*@title: isipaddress ip校驗

*@description: 判斷ip格式的正確性

*@param ip 包含ip串 例:ipv4:192.168.19.12|ipv6:1030::c9b4:ff12:48aa:1a2b

*@return boolean 是否驗證通過

*/public

boolean

isipaddress(string ip) :)[0-9a-fa-f])|"

+ "(([0-9a-fa-f]:):[0-9a-fa-f])|"

+ "(([0-9a-fa-f]:):([0-9a-fa-f]:)?[0-9a-fa-f])|"

+ "(([0-9a-fa-f]:):([0-9a-fa-f]:)[0-9a-fa-f])|"

+ "(([0-9a-fa-f]:):([0-9a-fa-f]:)[0-9a-fa-f])|"

+ "(([0-9a-fa-f]:):([0-9a-fa-f]:)[0-9a-fa-f])|"

+ "(([0-9a-fa-f]:)((\\b((25[0-5])|(1\\d)|(2[0-4]\\d)|(\\d))"

+ "\\b)\\.)(\\b((25[0-5])|(1\\d)|(2[0-4]\\d)|"

+ "(\\d))\\b))|(([0-9a-fa-f]:):((\\b((25[0-5])|"

+ "(1\\d)|(2[0-4]\\d)|(\\d))\\b)\\.)(\\b((25[0-5])|"

+ "(1\\d)|(2[0-4]\\d)|(\\d))\\b))|"

+ "(::([0-9a-fa-f]:)((\\b((25[0-5])|"

+ "(1\\d)|(2[0-4]\\d)|(\\d))\\b)\\.)(\\b((25[0-5])|"

+ "(1\\d)|(2[0-4]\\d)|(\\d))\\b))|"

+ "([0-9a-fa-f]::([0-9a-fa-f]:)[0-9a-fa-f])|"

+ "(::([0-9a-fa-f]:)[0-9a-fa-f])|"

+ "(([0-9a-fa-f]:):))$";

if (ip.matches(regex)) else

if(ip.matches(regex2))

return

false;

}

正規表示式之Pattern與Matcher

pattern類 描述匹配模式。matcher類 具體的匹配器,依賴於pattern類提供的匹配模式。pattern類的建立 由於pattern的構造器私有,所以一般通過pattern類的靜態方法compile string regex 來獲得物件,該方法需要傳入乙個正規表示式的字串作為匹配規則。也...

Java正規表示式

正規表示式結構簡介 字元 x 字元 x 反斜槓 0n 十進位制數 0 n 7 0nn 十進位制數 0nn 0 n 7 0mnn 十進位制數 0mnn 0 m 3,0 n 7 xhh 十六進製制數 0xhh uhhhh 十六進製制數 0xhhhh t 製表符 u0009 n 換行符 u000a r 回...

Java正規表示式

方便查詢的東西 基本語法 轉義字元 in d d d 數字0 9 多少到多少 d 非數字 0 9 非 w 單詞字元 a za z0 9 a3 w 非單詞字元 w s 空白 如 n t 0 1次 1 n次 0 n次 必須是n次 大於等於n次 n demo 中文 u0391 uffe5 英文 a za ...