import Foundation
let pattern = #"[0-9]*\.[0-9]+\.[0-9]+\.[0-9]"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
Interface IP-Address OK? Method Status Protocol
TenGigabitEthernet1/1 unassigned YES NVRAM up up
Te1/1.200 216.254.132.249 YES NVRAM up up
Te1/1.201 10.201.120.173 YES NVRAM up up
TenGigabitEthernet1/2 10.201.121.46 YES NVRAM up up
TenGigabitEthernet1/3 unassigned YES NVRAM up up
Te1/3.905 198.32.160.89 YES NVRAM up up
Te1/3.908 206.130.10.3 YES NVRAM up up
TenGigabitEthernet1/4 unassigned YES NVRAM administratively down down
TenGigabitEthernet1/5 unassigned YES NVRAM up up
Te1/5.98 216.254.131.1 YES NVRAM up up
Te1/5.100 216.254.130.129 YES NVRAM administratively down down
Te1/5.106 216.254.130.158 YES NVRAM administratively down down
Te1/5.110 216.254.131.149 YES NVRAM up up
Te1/5.111 216.254.131.117 YES NVRAM up up
Te1/5.132 216.254.130.25 YES NVRAM administratively down down
Te1/5.134 216.254.130.29 YES NVRAM up up
Te1/5.205 216.254.141.153 YES NVRAM up up
TenGigabitEthernet1/6 unassigned YES NVRAM up down
TenGigabitEthernet1/7 unassigned YES NVRAM up up
Te1/7.907 198.32.118.14 YES NVRAM up up
TenGigabitEthernet1/8 10.201.121.154 YES NVRAM up up
GigabitEthernet2/1 unassigned YES unset up up
GigabitEthernet2/2 unassigned YES unset administratively down down
GigabitEthernet2/3 unassigned YES unset administratively down down
GigabitEthernet2/4 unassigned YES unset up up
GigabitEthernet2/5 unassigned YES unset administratively down down
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
if let firstMatch = regex.firstMatch(in: testString, range: stringRange) {
let result: [String] = (1 ..< firstMatch.numberOfRanges).map { (testString as NSString).substring(with: firstMatch.range(at: $0)) }
print(result)
} else {
print("No matches were found.")
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression