我從networksetup -listnetworkserviceorder終端命令獲得所有網路服務的報告。回傳的文本是這樣的:
An asterisk (*) denotes that a network service is disabled.
(1) Ethernet
(Hardware Port: Ethernet, Device: en0)
(2) Wi-Fi
(Hardware Port: Wi-Fi, Device: en1)
(3) iPhone USB
(Hardware Port: iPhone USB, Device: en6)
(4) Thunderbolt Bridge
(Hardware Port: Thunderbolt Bridge, Device: bridge0)
(5) VPN (VPN2)
(Hardware Port: L2TP, Device: )
en1我正在嘗試使用 RegexBuilder查找用于 Wi-Fi ( ) 的設備
let search = Regex {
"Hardware Port: Wi-Fi, Device: "
Capture {
OneOrMore(.word)
}
}
if let result = try? search.wholeMatch(in: info) {
print("Device: \(result.1)")
}
這僅在Hardware Port: Wi-Fi, Device: 字串位于文本開頭時才有效。如果在上述句子之前有一個或多個字符,結果將是nil
我試過這種語法,結果是一樣的(nil)
let search = /Hardware Port: Wi-Fi, Device: (\w )/
uj5u.com熱心網友回復:
只需替換.wholeMatch為.firstMatch.
顧名思義,.wholeMatch影響與帶有前導“^”和尾隨“$”的模式文字對應的整個字串
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/534955.html
上一篇:由于Swift中的“私有”保護級別,在子類中創建超類初始值設定項失敗
下一篇:如何將字典資料字串存盤到表中
