import UIKitclass 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) } }}