import Foundation
let pattern = #"<div id="pageContent">[\s\S]*<div id="pageContent">"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 15.15), see www.w3.org">
<title>02.00: Page 1</title>
<meta charset="utf-8">
<script type="text/javascript">
var pg_csslibs = []; // CSS Libs for this Page
var pg_jslibs = []; // JS Libs for this Page
</script>
<script src="../../global/js/settings.js" id="settingJS" type=
"text/javascript">
</script>
</head>
<body>
<div id="pageContent">
<!-- CONTENT GOES HERE -->
<div id="pageContent">
<div>
<p><a href="pop/02_00_01/02_00_01_pop01.htm" class=
"modal-pop"><strong>Print</strong></a> the Carousel of Progress
Checklist provided below to keep track of your progress
through the <span class="lang" data-term=
"module_name">module</span>. It is important that you read
each page and complete all practice activities in every
<span class="lang" data-term="lesson_name
"""#
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