首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

为什么小弟我对arp -a 命令产生的流中,使用正则表达式截取mac地址不成功

2013-10-27 
为什么我对arp -a 命令产生的流中,使用正则表达式截取mac地址不成功?代码如下:try {process Runtime.get

为什么我对arp -a 命令产生的流中,使用正则表达式截取mac地址不成功?
代码如下:
try {     
                        process = Runtime.getRuntime().exec(     
                              "arp -a");     
                        bufReader = new BufferedReader(new InputStreamReader(     
                                process.getInputStream())); 
                                 bufReadLineString = bufReader.readLine();    
                        while(  (bufReadLineString = bufReader.readLine())!=null){
                        
                           System.out.println(bufReadLineString);
                            Matcher m=Pattern.compile("([0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2})").matcher(bufReadLineString); 
                       if(m.find()){
                         
                         a= m.group();
                         System.out.println(a);
                        }
                       
                          
                         
                       }
                       
                        
                    } catch (Exception c) {   } 

arp -a 命令如图:该程序就是从下图读出mac地址,但没有成功
为什么小弟我对arp -a 命令产生的流中,使用正则表达式截取mac地址不成功 java
[解决办法]
[0-9A-F]
这里是大写的,
你dos命令框里面都是小写。。正则区分大小写的
改成
 Matcher m=Pattern.compile("(\\w{2}-\\w{2}-\\w{2}-\\w{2}-\\w{2}-\\w{2})").matcher(bufReadLineString); 
就好了

热点排行