import Foundation
let pattern = #"^.{1}"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
Notepad++
For notepad++, a Windows text editor, the InsertLoremIpsumNppPlugin can be downloaded at twenfour.com. It generates and inserts Lorem Ipsum, either as words, sentences, or paragraphs. The installation requires to copy the file InsertLoremIpsumNppPlugin.dll and the Config directory (both are contained in the zip file) to the "plugins" subdirectory of the Notepad++ installation directory. Afterwards, a new option "InsertLoremIpsum" will show in the "plugin" menu entry. A restart may be required. >> screenshots
ToolBucket: This plugin allows for base 64 encoding, it has a change indentation dialog, it generates Lorem Ipsum and has many more features.
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let matches = regex.matches(in: testString, range: stringRange)
var result: [[String]] = []
for match in matches {
var groups: [String] = []
for rangeIndex in 1 ..< match.numberOfRanges {
let nsRange = match.range(at: rangeIndex)
guard !NSEqualRanges(nsRange, NSMakeRange(NSNotFound, 0)) else { continue }
let string = (testString as NSString).substring(with: nsRange)
groups.append(string)
}
if !groups.isEmpty {
result.append(groups)
}
}
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