swift - 正则表达式
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)
}
}
}
swift - 正则表达式的更多相关文章
- Swift - 正则表达式的使用(附用户名、邮箱、URL等常用格式验证)
Swift虽然是一个新出的语言,但却不提供专门的处理正则的语法和类.所以我们只能使用古老的NSRegularExpression类进行正则匹配. 即先接受一个正则表达式的字符串,由此生成NSRegul ...
- [Swift]正则表达式工具类
正则表达式工具类 import Foundation //基于NSRegularExpression api 的正则处理工具类 public struct Regex { private let re ...
- 工作随笔——UIButton的EdgeInsets + Swift中的正则表达式;
1.UIButton的EdgeInsets UIButton的EdgeInsets方法,是用来设置title和image对于上左下右四个方向的偏移,但是很奇怪的是,刚开始只有Image,titile也 ...
- 正则表达式(Swift)
课题 使用正则表达式匹配字符串 使用正则表达式 "\d{3}-(\d{4})-\d{2}" 匹配字符串 "123-4567-89" 返回匹配结果:'" ...
- swift 3.0 正则表达式查找/替换字符
1.什么是正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符 ...
- swift中的正则表达式
swift中的t正则表达式 正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串" ...
- swift项目第九天:正则表达式的学习
import UIKit /* 练习1:匹配abc 练习2:包含一个a~z,后面必须是0~9 -->[a-z][0-9]或者[a-z]\d * [a-z] : a~z * [0-9]/\d : ...
- swift 手机号、邮箱、网址等正则表达式验证
看到一个不错的swift的 手机号.邮箱.网址等正则表达式验证,分享给大家. 支持swift3,经过修改后,亲测可用! import Foundation enum Validate { case e ...
- iOS - OC/Swift:验证手机号/固话用正则表达式
/** * 验证手机号是否正确 * @param unknown_type $mobile */ OC: - (BOOL)isMobileNumber:(NSString *)mobileNum { ...
随机推荐
- datetime is not json serializable
python, datetime is not json serializable import datetime def json_serial(obj): """JS ...
- 尚硅谷redis学习8-事务
是什么? 能干嘛? 常用命令 案例说明 1.正常执行 2.放弃事务 3.全部放弃(全体连坐) 4.只抛弃错误(冤头债主) 5.watch监控 悲观锁 悲观锁(Pessimistic Lock), 顾名 ...
- CentOs7下php7装redis拓展报错
遇到PHP Startup: Unable to load dynamic library:undefined symbol: zval_used_for_init in Unknown on lin ...
- Linux后门入侵检测工具
一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...
- Haskell语言学习笔记(81)Data.Typeable
Data.Typeable 利用 Data.Typeable,可以打印动态类型信息. class Typeable (a :: k) where typeRep# :: TypeRep a typeR ...
- 二、消息队列之如何在C#中使用RabbitMQ(转载)
二.消息队列之如何在C#中使用RabbitMQ 1.什么是RabbitMQ.详见 http://www.rabbitmq.com/. 作用就是提高系统的并发性,将一些不需要及时响应客户端且占用较多资源 ...
- ASP.NET HTTP 协议
http是无状态的,不会记得“上个请求***”,所以哪怕是同一个页面中的js.css.jpg也都要重复的提交Accept-Language.Accept-Encoding.Cookie等. 一般情况下 ...
- [PHP]更新中间关联表数据的两种思路
---------------------------------------------------------------------------------------------------- ...
- easyui-datebox 只能获取当前日期以前的日期
<td> <input id="happenTimes" name="happenTimes" class="easyui-date ...
- 把Swift中的String转成NSString ,获取NSString的方法
1.0 在Swift中的 String 并没有提供什么方法,直接把它自身转变成 Int .Float 等,而在OC中我们就可以这样 "123".integerValue 来获取它 ...