使用NSTask发送NSString *cmd = [NSString stringWithFormat:@"ifconfig %@",device];命令,可以在终端实验,eg:ifconfig en0命令,就可以获得en0对应的返回数据。
对终端的返回进行字符串的正则匹配 return [self matchesValueInString:resp expressionPattern:@"(?<=ether\\s)([\\w:])+";
(?<=pattern)零宽正向后行断言:代表字符串中的一个位置,紧接该位置之前的字符序列能够匹配 pattern。意思就是,断言所匹配的字符串前面得符合pattern。
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字 等价于 '[A-Za-z0-9_]'
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
[] 方括号表示某些字符允许在一个字符串中某一个特定位置出现
匹配之后就可以获得mac地址了eg:80:65:7c:d6:76:db