swift 使用正则表达式

通常用一个常用的正则类

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])
}
时间: 2024-10-09 20:28:05

swift 使用正则表达式的相关文章

swift的正则表达式(NSRegularExpression)

swift的正则表达式(NSRegularExpression) by 伍雪颖 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let mailPattern = "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$" let matcher = RegexHelper(ma

swift 手机号码正则表达式 记录一下

1 func isTelNumber(num:NSString)->Bool 2 { 3 var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$" 4 var CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$" 5 var CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$" 6 var CT = "^1((

SWIFT中正则表达式验证邮箱

在playground内写入以下代码,正则关键字跟其它语言的没什么区别 class Regex { let internalExpression:NSRegularExpression let pattern:String init(pattern:String) { self.pattern = pattern var error:NSError? self.internalExpression = NSRegularExpression(pattern: pattern, options:

Swift 正则表达式

swift的正则表达式,可以自定义一个类,方便调用 class Regex { let internalExpression: NSRegularExpression let pattern: String init(_ pattern: String) { self.pattern = pattern var error: NSError? self.internalExpression = NSRegularExpression(pattern: pattern, options: .Cas

swift项目第九天:正则表达式的学习

import UIKit /* 练习1:匹配abc 练习2:包含一个a~z,后面必须是0~9 -->[a-z][0-9]或者[a-z]\d * [a-z] : a~z * [0-9]/\d : 0~9:[0-9]/\d :表示[0-9]或\d,\d表示数字的意思 练习3:必须第一个是字母,第二个是数字 -->^[a-z][0-9]$ * ^[a-z] : 表示首字母必须是a~z * \d{2,10} : 数字有2到10 * [a-z]$ : 表示必须以a-z的字母结尾 练习4:必须第一个是字母

swift 正则表达式运用实例(选自《swifter 100个swift开发必备tip 》)

    struct RegexHelper {         let regex: NSRegularExpression?         init(_ pattern: String) {             var error: NSError?             regex = NSRegularExpression(pattern: pattern,                 options: .CaseInsensitive,                 er

swift项目第四天:动态加载控制器

一:Appdelegate import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { /* 总结: 1:1:window为可选类型,可选类型的定义:var window: UIWindow?,可选类型就是可以为空值nil或是有值,若是想获得可选类型的值,则可以进行可选绑定或是强制解包,若是强制解包必须要保证强制解包的值不为nil,若为nil会产生崩溃,一般可选绑定用guard e

正则表达式必知必会

6月进入前端技术的学习,正则算是跳不过的一个坎了,这部分没有太多需要理解的内容,知道就是王道. 正则表达式(Regular Expression):在代码中常简写为regex,使用单个字符串来描述.匹配一系列符合某个句法规则.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本,常见的正则字符如下表所示. 元字符 描述 \ 转义符.例如,"\\"匹配\."\n"匹配换行符. ^或\A 匹配输入字符串的开始位置. $或\Z 匹配输入字符串的结束位置

ios -- 教你如何轻松学习Swift语法(三) 完结篇

一.自动引用计数 1.自动引用计数工作机制 1.1 swift和oc一样,采用自动引用计数来管理内存 1.2 当有强引用指向对象,对象的引用计数 +1 , 强引用消失,自动计数 -1 1.3 如果对象的引用计数为0 , 那么该对象会被销毁 2.循环引用 2.1 什么是循环引用? 两个(或多个)对象互相强引用 2.2 循环引用对项目有什么影响 循环引用会让对象不会被销毁,一直保存在内存中,可能导致项目运行不畅 2.3 怎么解决强引用问题? 只需要让其中一个对象对另外一个对象的引用变为弱引用即可 在