import Foundation
let pattern = #"(-|\d)+(\.\d{1,2})?"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = ##"""
-100.00
1,000.00
100,000.00
1,000,000.00
00.7
0.00
-0909099993.2899999999999974
-3.2899999999999974
^(?!0\.00)[1-9]\d{0,2}(,\d{3})*(\.\d\d)?$
BOM
(-|\d)+(?=(\d{3})+(\d{3})+(\.\d{1,2}))
BOM
^(-|\d)(\d{1,3})(\.\d{1,2})?
(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})
^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$
.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,") # => "10,000"
"""##
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