Вам нужно будет вручную найти все вхождения в вашей строке, используя условие while, аналогичное условию, используемому в этой записи , и получить подпоследовательности строки вместо ее диапазона:
func findSrcs(_ content: String) -> [Substring] {
let pattern = #"(?<=src=")[^"]+"#
var srcs: [Substring] = []
var startIndex = content.startIndex
while let range = content[startIndex...].range(of: pattern, options: .regularExpression) {
srcs.append(content[range])
startIndex = range.upperBound
}
return srcs
}
Тестирование игровой площадки:
let content = """
<span>whatever</span>
<img src="smiley.gif" alt="Smiley face">
<span>whatever</span>
<img src="stackoverflow.jpg" alt="Stack Overflow">
"""
print(findSrcs(content))
Будет напечатано
["smiley.gif", "stackoverflow.jpg"]