swift 正则表达式 谓词查询
class func Regexing(string:String) ->Bool{
// () 是要提取的匹配内容,不使用括号,就是要忽略的内容
let pattern = "^((13[0-9])|(147)|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"
// 1. 定义正则表达式
// DotMatchesLineSeparators 使用 . 可以匹配换行符
// CaseInsensitive 忽略大小写
let regex = NSRegularExpression(pattern: pattern, options: NSRegularExpressionOptions.CaseInsensitive | NSRegularExpressionOptions.DotMatchesLineSeparators, error: nil)!
// 2. 匹配文字
let matches = regex.matchesInString(string, options: nil, range:NSMakeRange(0, count(string)))
println("\(matches.count)")
return matches.count > 0
}
谓词
// 判断是否为邮箱地址
class func isEmailAddress(inputString: NSString) -> Bool{
var email = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{1,5}"
var regextestmobile = NSPredicate(format: "SELF MATCHES %@",email)
if (regextestmobile.evaluateWithObject(inputString) == true) {
return true
}else{
return false
}
}