您的位置:首页 > 移动开发 > Swift

swift 使用正则表达式

2015-01-29 17:39 896 查看
通常用一个常用的正则类

class Regex {
let internalExpression: NSRegularExpression
let pattern: String
init(_ pattern: String) {
self.pattern = pattern
var error: NSError?
self.internalExpression = NSRegularExpression(pattern: pattern, options: .CaseInsensitive, error: &error)!
}
func test(input: String) -> Array<String>{
let matches = self.internalExpression.matchesInString(input, options: nil, range:NSMakeRange(0, countElements(input))) as Array<NSTextCheckingResult>
if (matches.count>0) {
var values:Array<String> = []
for result in matches {
for i in 0...(result.numberOfRanges-1) {
let range = result.rangeAtIndex(i)
var nsinput = input as NSString
values += [nsinput.substringWithRange(NSRange(location: range.location,length: range.length))]
}
}
//println(values)
return values
}else{
return []
}
}
}


正则表达是 \d 在双引号中 要写成 \\d ,如 取5个数字 "\\d{5}" .

例如取3-30个字符(包含数字 或者字母 或 - )可以写成

var matchResult = Regex("[\\d\\w-]{2,30}").test(domainInput.text)
if !matchResult.isEmpty {
println(matchResult[0])
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: