读书人

为什么小弟我对arp -a 命令产生的流中

发布时间: 2013-10-27 15:21:50 作者: rapoo

为什么我对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);
就好了

读书人网 >Java相关

热点推荐