ip的正則表達式java
『壹』 java中,怎麼用正則表達式,計算出所有ip個數
java用正則表達式統計ip個數:
display ip count rule [ | { begin | exclude | include } regular-expression ]
參數說明:
|:使用正則表達式對顯示信息進行過濾。有關正則表達式的詳細介紹,請參見「入門配置指導」中的「CLI」。
begin:從包含指定正則表達式的行開始顯示。
exclude:只顯示不包含指定正則表達式的行。
include:只顯示包含指定正則表達式的行。
regular-expression:表示正則表達式,為1~256個字元的字元串,區分大小寫。
【舉例】
# 顯示用戶配置的IP Accounting統計規則。
<Sysname> display ip count rule
IP Count rule list:
IP address address mask
1.1.1.0 255.255.255.0
2.0.0.0 255.0.0.0
------------------------------------
Total: 2 rules
『貳』 java 正則表達式 提取IP
分析一下復IP地址組成:數字制和「.」
那麼正則可以這樣寫:[0-9.]+
根據你的補充,那麼IP可以這樣寫:[0-9.:]+@,這個是包括埠號的情況
如果不要埠號,可以這樣寫[0-9.]+:
Java我沒學過,但正則表達式大體是通用的。
至於如此長段文本里去重,個人覺得純以正則表達式不行,還得配合程序。由於我不是java程序員,不好解釋。不過,你可以用反復比較文本的方式還解決。
比如ip:218.98.195.19,估計java里也應該有indexOf之類的方法,查找出,然後過濾。
僅作參考用。
『叄』 java 問題,IP正則表達式,如下,
如果加了^$
g就沒有什麼意義了吧
g是全局匹配, 可以匹配到很多, 去頂必須全匹配的話, 加不加g都是一樣
還有正確的ip正則應該是
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
『肆』 java編寫正則表達式,判斷給定的是否是一個合法的IP地址怎麼寫
|正則表達式匹配ip地址,實際上就是分別判斷每個點直接的數字是否符合規范。
package com;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegex {
public static boolean isboolIP(String ipAddress){
String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";
Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher(ipAddress);
return matcher.matches();
}
/** * @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String ipAddress1 = "10.";
String ipAddress2 = "0.0.0.0";
String ipAddress3 = "255.255.255.255";
String ipAddress4 = "192.168.2.1";
String ipAddress5 = "26445687";
String ipAddress6 = "nihao";
String ipAddress7 = "你好!!";
if(isboolIP(ipAddress1)){
System.out.println("IP正確");
}else{
System.out.println("IP錯誤");
} if(isboolIP(ipAddress2)){
System.out.println("IP正確"); }else{
System.out.println("IP錯誤");
} if(isboolIP(ipAddress3)){
System.out.println("IP正確"); }else{
System.out.println("IP錯誤");
}
if(isboolIP(ipAddress4)){
System.out.println("IP正確"); }else{
System.out.println("IP錯誤");
『伍』 用java 正則表達式 提取IP地址
ip的正則表達式網上很多,比如:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
找文本中匹配的字元串好像Scanner有幾個find***方法,但是回我看不懂文檔答中對他們的解釋
過濾重復可以使用set來存儲這些ip,一樣的就不會被重復添加了
『陸』 java 正則表達式匹配IP加個判斷
第一個子string改成"^(\\d|[1-9]\\d|1[0-5]\\d|16[0-8]|1[7-9]\\d|2[0-4]\\d|25[0-5])\\.",原理其實很簡單,就是分類分成0-99,100-159,160-168,170-199,200-249,250-255分別匹配
『柒』 java編寫正則表達式,判斷給定的是否是一個合法的IP地址
正則表達式匹配ip地址,實際上就是分別判斷每個點直接的數字是否符合規范。
package com;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegex {
public static boolean isboolIP(String ipAddress){
String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";
Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher(ipAddress);
return matcher.matches();
}
/** * @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String ipAddress1 = "10.";
String ipAddress2 = "0.0.0.0";
String ipAddress3 = "255.255.255.255";
String ipAddress4 = "192.168.2.1";
String ipAddress5 = "26445687";
String ipAddress6 = "nihao";
String ipAddress7 = "你好!!";
if(isboolIP(ipAddress1)){
System.out.println("IP正確");
}else{
System.out.println("IP錯誤");
} if(isboolIP(ipAddress2)){
System.out.println("IP正確"); }else{
System.out.println("IP錯誤");
} if(isboolIP(ipAddress3)){
System.out.println("IP正確"); }else{
System.out.println("IP錯誤");
}
if(isboolIP(ipAddress4)){
System.out.println("IP正確"); }else{
System.out.println("IP錯誤");
『捌』 (java中)匹配IP的正則表達式的
ip是0.0.0.0到255.255.255.255。其中數字不能是012之類0開頭。
[1-9]?\\d 表示0-99
1\\d{2} 表示100-199
2[0-4]\\d 表示200-249
25[0-5] 表示250-255
|符號分開的表達式只要一個滿足就不看後面的表達式了,你的問題就是\\d|[1-9]\\d|1\\d{2}這里就是第一個\\d就滿足了。
改成這樣 (25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)) {3}
『玖』 java 驗證ip地址是否合法的正則表達式
(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])
可以驗證0.0.0.0 到 255.255.255.255
『拾』 java正則表達式校驗 ip
|你直接用matchs判斷就可以了,matcher是只要內部有能匹配上的就算滿足,不是判斷整體。
Stringrexp="([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}";
Stringaddr="11111.1.1.1";
System.out.println("1.1.1.1".matches(rexp));
System.out.println("11.1.1.1".matches(rexp));
System.out.println("111.1.1.1".matches(rexp));
System.out.println("11111.1.1.1".matches(rexp));
true
true
true
false