import Foundation
let pattern = #">(\d{4}\.\d{1,2}\.\d{1,2})<|>(\d+)<"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
<table class="m_4348561758375603924m_886074067026015045MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="408" style="width:306.0pt;border-collapse:collapse">
<tbody>
<tr style="height:31.5pt">
<td width="196" nowrap style="width:147.0pt;border:solid windowtext 1.0pt;background:yellow;padding:0cm 5.4pt 0cm 5.4pt;height:31.5pt">
<p class="MsoNormal" align="left" style="text-align:left"><b><span lang="EN-US" style="font-size:24.0pt;font-family:宋体;color:black">Date<u></u><u></u></span></b></p>
</td>
<td width="212" nowrap style="width:159.0pt;border:solid windowtext 1.0pt;border-left:none;background:yellow;padding:0cm 5.4pt 0cm 5.4pt;height:31.5pt">
<p class="MsoNormal" align="left" style="text-align:left"><b><span lang="EN-US" style="font-size:24.0pt;font-family:宋体;color:black">Reset Code<u></u><u></u></span></b></p>
</td>
</tr>
<tr style="height:31.5pt">
<td width="196" nowrap style="width:147.0pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt;height:31.5pt">
<p class="MsoNormal" align="left" style="text-align:left"><strong><span lang="EN-US" style="font-size:24.0pt;font-family:宋体;color:black">2017.8.10<u></u><u></u></span></strong></p>
</td>
<td width="212" nowrap style="width:159.0pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:31.5pt">
<p class="MsoNormal" align="left" style="text-align:left"><strong><span lang="EN-US" style="font-size:24.0pt;font-family:宋体;color:black">123456<u></u><u></u></span></strong></p>
</td>
</tr>
<tr style="height:31.5pt">
<td width="196" nowrap style="width:147.0pt;border:solid windowtext 1.0pt;border-top:none;padding:0cm 5.4pt 0cm 5.4pt;height:31.5pt">
<p class="MsoNormal" align="left" style="text-align:left"><b><span lang="EN-US" style="font-size:24.0pt;font-family:宋体;color:black">2017.8.11<u></u><u></u></span></b></p>
</td>
<td width="212" nowrap style="width:159.0pt;border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 5.4pt 0cm 5.4pt;height:31.5pt">
<p class="MsoNormal" align="left" style="text-align:left"><strong><span lang="EN-US" style="font-size:24.0pt;font-family:宋体;color:black">123456<u></u><u></u></span></strong></p>
</td>
</tr>
</tbody>
</table>
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let matches = regex.matches(in: testString, range: stringRange)
var result: [[String]] = []
for match in matches {
var groups: [String] = []
for rangeIndex in 1 ..< match.numberOfRanges {
let nsRange = match.range(at: rangeIndex)
guard !NSEqualRanges(nsRange, NSMakeRange(NSNotFound, 0)) else { continue }
let string = (testString as NSString).substring(with: nsRange)
groups.append(string)
}
if !groups.isEmpty {
result.append(groups)
}
}
print(result)
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