| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
929 バイト追加 、 2021年4月6日 (火) 15:47
print("arp -a result : error")
}
</pre>
===名前を付与してキャプチャ===
----
<pre>
func parseArp(arpResult: String?) {
if let input = arpResult {
do {
let pattern = #".*?(?<ip>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*(?<mac>[0-9a-z]{1,2}:[0-9a-z]{1,2}:[0-9a-z]{1,2}:[0-9a-z]{1,2}:[0-9a-z]{1,2}:[0-9a-z]{1,2})"#
let regex = try NSRegularExpression(pattern: pattern, options:[])
for subinput in input.split(separator: "\r\n") {
let line = String(subinput)
let matches = regex.matches(in: line, options: [], range: _NSRange(0..<line.count))
print(line)
for match in matches {
for name in ["ip", "mac"] {
let matchRange = match.range(withName: name)
if let substrRanget = Range(matchRange, in:line) {
let ip = String(line[substrRanget])
print("\(name):\(ip)")
}
}
}
}
} catch {
print("RegEx fail.")
}
} else {
print("arp -a result : error")
}
}
</pre>

案内メニュー