一.NSRegularExpression
- 1.僅僅保留中文
let str = "aiva你好94177嗎??"
let pattern = "[^\\u4E00-\\u9FA5]"
let regex = try? NSRegularExpression(pattern: pattern, options: [])
let result = regex?.stringByReplacingMatches(in: str, options: [],
range: NSMakeRange(0, str.count),
withTemplate: "")
print(result ?? "")
- 2.常用的一些正則表達(dá)式:
非中文:[^\\u4E00-\\u9FA5]
非英文:[^A-Za-z]
非數(shù)字:[^0-9]
非中文或英文:[^A-Za-z\\u4E00-\\u9FA5]
非英文或數(shù)字:[^A-Za-z0-9]
非因?yàn)榛驍?shù)字或下劃線:[^A-Za-z0-9_]
二. NSPredicate
let phoneNum = "14728765642"
let regex = "1[3456789][0-9]{9}"
let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
let isValid = predicate.evaluate(with: phoneNum)
print("\(isValid ? "" : "不")是手機(jī)號碼")
常用的正則表達(dá)式
url
"\\b(([\\w-]+://?|www[.])[^\\s()<>]+(?:\\([\\w\\d]+\\)|([^[:punct:]\\s]|/)))"