swift 正则表达式 谓词查询

2015-11-06  本文已影响767人  玉松

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

}

}

上一篇 下一篇

猜你喜欢

热点阅读