import Foundation
let pattern = #"<meta name="twitter:title" content="[\w+\s?]+"\/>"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = ##"""
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="My Favorite Girlfriend"/> ✅
<meta name="twitter:site" content="@Hulu"/>
<meta name="twitter:description" content="A chef's life gets complicated when he falls for a beautiful young woman who has multiple personalities."/>
<meta property="og:title" content="My Favorite Girlfriend"/> ✅
<meta property="og:site_name" content="Hulu"/>
<meta property="og:type" content="movie"/>
</head>
</html>
"""##
let stringRange = NSRange(location: 0, length: testString.utf16.count)
if let firstMatch = regex.firstMatch(in: testString, range: stringRange) {
let result: [String] = (1 ..< firstMatch.numberOfRanges).map { (testString as NSString).substring(with: firstMatch.range(at: $0)) }
print(result)
} else {
print("No matches were found.")
}
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