import Foundation
let pattern = #"<font color="([^"]*)">(.*?)<\/font>"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = ##"""
<pre><font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>$ ls apps
<font color="#4E9A06"><b>Bitwarden-1.27.1-x86_64_a6df18330216c2546e435c5a9c5df432.AppImage</b></font>
<font color="#3465A4"><b>gitkraken</b></font>
<font color="#4E9A06"><b>session-desktop-linux-x86_64-1.6.7_18e4489c1ba2c40986ad03ca6522e187.AppImage</b></font>
<font color="#3465A4"><b>sources</b></font>
<font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>$
</pre>
"""##
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"<span style="color: $1">$2</span>"#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
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