之前一直不太會寫正則表達式,很多要用到正則表達式的都直接百度,像上次要用正則表達式驗證是否是合法的ip地址,然后就上網找,結果就是沒找到一個對的,今天就為大家貢獻一下,寫個對的,並做一下解析。(建議大家還是去看書去規范的學一下,不要直接百度,不然都是坑)。
iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式
下面給出相對應的正則表達式:
"^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"
上面的一個不漏就是正確的驗證ip的正則表達式,簡單的講解一下
\\d表示0~9的任何一個數字
{2}表示正好出現兩次
[0-4]表示0~4的任何一個數字
| 的意思是或者
( )上面的括號不能少,是為了提取匹配的字符串,表達式中有幾個()就表示有幾個相應的匹配字符串
1\\d{2}的意思就是100~199之間的任意一個數字
2[0-4]\\d的意思是200~249之間的任意一個數字
25[0-5]的意思是250~255之間的任意一個數字
[1-9]\\d的意思是10~99之間的任意一個數字
[1-9])的意思是1~9之間的任意一個數字
\\.的意思是.點要轉義(特殊字符類似,@都要加\\轉義)
說到這里應該已經很清楚的知道了上面的正則表達式的意思。