import Foundation
let pattern = #"<([a-zA-Z\d]+?)([^<>]|(?!.*href).*)>([^<>]*?)(小编)([^<>]*?)(<\/\1>)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
<p>
<link rel="stylesheet" href="/public/lib/froala/css/froala_style.min.css">
</p>
<span>高校在线教学国际平台建设启动?这是怎么回事呢?下面就跟小编一起来了解一下事情的始末吧!</span>
<a href="">高校在线教学国际平台建设启动?这是怎么回事呢?下面就跟小编一起来了解一下事情的始末吧!</a>
<p><span style='color: rgb(34, 34, 34); font-family: Consolas, "Lucida Console", "Courier New", monospace; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;'>高校在线教学国际平台建设启动?这是怎么回事呢?下面就跟小编一起来了解一下事情的始末吧!</span> </p>
<span style='color: rgb(34, 34, 34); font-family: Consolas, "Lucida Console", "Courier New", monospace; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;'>以上就是小编给大家分享的相关情况介绍,希望对大家有所帮助!最后,小编送大家一句话:当许多人在一条路上徘徊不前时,他们不得不让开一条大路,让那珍惜时间的人赶到他们的前面去。——苏格拉底</span>
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"<$1$2>$3<a href="{link}" target="_blank">$4</a>$5$6'"#
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