ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Swift Extension Regex正则(源码)

Swift Extension Regex正则(源码) 一直觉得自己写的不是技术而是情怀一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的希望我的这条路能让你们少走弯路希望我能帮你们抹去知识的蒙尘希望我能帮你们理清知识的脉络希望未来技术之巅上有你们也有我。Swift Extension Regex正则(源码)文章目录说明展示代码使用代码说明正则的使用在项目中注册登录OCR功能等使用TextViewTextField使用非常普片.本正则封装功能分为: 判断, 获取, 替换展示代码使用代码import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() view.backgroundColor .white // 判断 是否是手机号 let phone 13800138000 if phone ~ RegexPattern.phone { print(手机号格式正确) } else { print(手机号格式错误) } // 判断 是否是邮箱 let email testexample.com if email ~ RegexPattern.email { print(邮箱格式正确) } // 判断 是否是密码 let password abc123 if password ~ RegexPattern.password { print(密码格式正确) } // 判断 数字位数(验证码) let code 123456 if code ~ RegexPattern.number(equal: 6) { print(验证码正确) } else { print(验证码必须是6位数字) } // 判断 数字范围(要求输入 612 位数字) let value 12345678 if value ~ RegexPattern.numbers(low: 6, upper: 12) { print(格式正确) } // 判断 是否是正整数 let positiveInteger 123 if positiveInteger ~ RegexPattern.isPositiveInteger { print(是正整数) } // 判断 是否是 URL let url https://www.baidu.com if url ~ RegexPattern.url { print(URL格式正确) } // 判断 是否是 IPv4 let ip 192.168.1.1 if ip ~ RegexPattern.ipv4 { print(IP地址正确) } // 判断 自定义正则(比如要求只能输入字母) let letter abcXYZ if letter ~ RegexPattern.custom(str: ^[A-Za-z]$) { print(只能包含字母) } // 判断 是否是 空字符串 let emptyString if emptyString ~ RegexPattern.none { print(匹配成功) } // 获取 匹配字符串 let regex_0 Regex(\\d) // 例如找出字符串里的所有数字 let list regex_0.stringList(input: 订单123数量456) print(list)// [123, 456] // 获取匹配 Range let regex_1 Regex(\\d) let ranges_1 regex_1.ranges(input: 订单123数量456) print(ranges_1)// [{2, 3}, {7, 3}] // 替换 匹配内容 let regex_2 Regex(\\d) let result_2 regex_2.replace( input: 我的电话是13800138000, with: *** ) print(result_2) // 匹配的字符串 它出现的位置 let regex_3 Regex(Swift) let result_3 regex_3.stringWithRanges( input: Swift很好用Swift适合开发iOS ) print(result_3) // [String: [NSRange]] // 如果你只是想找到某个字符串出现的所有位置 let ranges_2 Regex().rangeList( subStr: Swift, inputStr: Swift很好用Swift适合iOS开发 ) print(ranges_2 ?? []) // 拿到每个字的位置,然后通过range一个一个for循环打印出来 if let ranges ranges_2 { let text Swift很好用Swift适合iOS开发 for range in ranges { let value (text as NSString).substring(with: range) print(value) } } } }
返回列表