import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let str = "18552039760" ///1. 创建正则表达式规则 // let pattern = "jio" // let pattern = "[3]" //匹配含有3的。 // let pattern = "[32]" //匹配含有3或2的任何一个 // let pattern = "[a-z]" //匹配含有a到z的任何一个 ///2. 匹配字符后必须有一位数字:[0-9] 或 \d // let pattern = "[a-z][0-9]" //后面跟上一位 数字 // let pattern = "[a-z]\\d" //后面跟上一位 数字 \d 需要转义 \\d // let pattern = "[a-z]\\d\\d" //后面跟上2位 数字 \d 需要转义 \\d // let pattern = "[a-z]\\d{2}" //后面跟上2位 数字 \d 需要转义 \\d // let pattern = "[a-z]\\d{2}" //后面跟上2位 数字 \d 需要转义 \\d //3.此处10的前面前往不要写空格,空格也有特殊含义 // let pattern = "[a-z]\\d{2,10}" //后面跟上2到10位 数字,此处10的前面前往不要写空格 ///4. ^: 首字符必须是a-z // let pattern = "^[a-z]" // let pattern = "^[a-z]\\d" //首字母a-z,后面是数字 // let pattern = "^[a-z]\\d{2,10}" //首字母a-z,后面是2-10位的数字,不是2-10之间的数字 //5. $:以什么结尾 // let pattern = "[a-z]$" //尾字母a-z //6. 非:不能是数字0-9 -> [^0-9] // let pattern = "^[^0-9]" //首字母不是0-9 //7. QQ号匹配:5到12位 // let pattern = "^[1-9]\\d{4,11}$" //首字母不是0,并且5-12位结尾 //8. 电话号码匹配:11位 let pattern = "^1[3578]\\d{9}$" //首字母是1,并且后面是3,5,7,8然后跟着9位数字 /// 创建正则表达式对象 (异常返回 try try? try!) guard let regex = try? NSRegularExpression(pattern: pattern, options: []) else{ return } ///匹配字符串中的内容 let results = regex.matches(in: str, options: [], range: NSRange(location: 0, length: str.count)) for result in results { print((str as NSString).substring(with: result.range)) print(result.range) } } }

  

posted on 2018-11-20 15:03  懂事长qingzZ  阅读(239)  评论(0编辑  收藏  举报