基本用法
在 Swift 中實現正規表示式時有幾個注意事項。
let letters = "abcdefg"
let pattern = "[a,b,c]"
let regEx = try NSRegularExpression(pattern: pattern, options: [])
let nsString = letters as NSString
let matches = regEx.matches(in: letters, options: [], range: NSMakeRange(0, nsString.length))
let output = matches.map {nsString.substring(with: $0.range)}
//output = ["a", "b", "c"]
為了獲得支援所有字元型別的準確範圍長度,必須將輸入字串轉換為 NSString。
為了安全匹配模式,應將其包含在 do catch 塊中以處理故障
let numbers = "121314"
let pattern = "1[2,3]"
do {
let regEx = try NSRegularExpression(pattern: pattern, options: [])
let nsString = numbers as NSString
let matches = regEx.matches(in: numbers, options: [], range: NSMakeRange(0, nsString.length))
let output = matches.map {nsString.substring(with: $0.range)}
output
} catch let error as NSError {
print("Matching failed")
}
//output = ["12", "13"]
正規表示式功能通常放在擴充套件或幫助程式中以分離關注點。