import Foundation
let pattern = #"(<a .*?)(href="|\')(http:\/\/oceanexplorer.noaa.gov\/redirectimage.php\?url=|\/redirectimage.php\?url=|\/redirectimage.php\?url=)([.\s\S]*?)(<\/a>)"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
g_ImageTable[g_imax++] = new Array ("gallery/600/1.jpg", "The inflatable baby pool used for the phytoplankton experiment. <em>Image courtesy of 2009 RUSALCA Expedition, RAS-NOAA.</em><br /><br /><!--strong><a href='/redirectimage.php?url=http://oceanexplorer.noaa.gov/explorations/09bioluminescence/background/hires/bamboo_coral_hires.jpg' title='Download high-resolution image' target='window_name'>Download high-resolution image (jpg, 547 KB)</a></strong-->");
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"\1\2\4 <img src="/siteart/newwindow.png" width="10" height="11" alt="exit icon" title="exit icon"/>\5"#
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