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 - 正则表达式的更多相关文章

  1. Swift - 正则表达式的使用(附用户名、邮箱、URL等常用格式验证)

    Swift虽然是一个新出的语言,但却不提供专门的处理正则的语法和类.所以我们只能使用古老的NSRegularExpression类进行正则匹配. 即先接受一个正则表达式的字符串,由此生成NSRegul ...

  2. [Swift]正则表达式工具类

    正则表达式工具类 import Foundation //基于NSRegularExpression api 的正则处理工具类 public struct Regex { private let re ...

  3. 工作随笔——UIButton的EdgeInsets + Swift中的正则表达式;

    1.UIButton的EdgeInsets UIButton的EdgeInsets方法,是用来设置title和image对于上左下右四个方向的偏移,但是很奇怪的是,刚开始只有Image,titile也 ...

  4. 正则表达式(Swift)

    课题 使用正则表达式匹配字符串 使用正则表达式 "\d{3}-(\d{4})-\d{2}" 匹配字符串 "123-4567-89" 返回匹配结果:'" ...

  5. swift 3.0 正则表达式查找/替换字符

    1.什么是正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符 ...

  6. swift中的正则表达式

    swift中的t正则表达式 正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串" ...

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

    import UIKit /* 练习1:匹配abc 练习2:包含一个a~z,后面必须是0~9 -->[a-z][0-9]或者[a-z]\d * [a-z] : a~z * [0-9]/\d : ...

  8. swift 手机号、邮箱、网址等正则表达式验证

    看到一个不错的swift的 手机号.邮箱.网址等正则表达式验证,分享给大家. 支持swift3,经过修改后,亲测可用! import Foundation enum Validate { case e ...

  9. iOS - OC/Swift:验证手机号/固话用正则表达式

    /** * 验证手机号是否正确 * @param unknown_type $mobile */ OC: - (BOOL)isMobileNumber:(NSString *)mobileNum { ...

随机推荐

  1. 尚硅谷springboot学习3-helloworld程序

    1.环境准备 –jdk1.8:Spring Boot 推荐jdk1.7及以上:java version "1.8.0_112" –maven3.x:maven 3.3以上版本:Ap ...

  2. elk日志平台搭建小记

    最近抽出点时间,搭建了新版本的elk日志平台 elastaicsearch 和logstash,kibana和filebeat都是5.6版本的 中间使用redis做缓存,版本为3.2 使用的系统为ce ...

  3. python中求两个List的交集、并集和差集

    直接上代码,有三种方法,第三种调用库函数效率最高 # ! /usr/bin/env python # encoding:utf-8 if __name__ == '__main__': a = [1, ...

  4. 16.监听器-基础.md

    目录 概念 监听器功能 监听创建或销毁 监听属性变化 session相关监听 概念 实现特定接口的普通java类 *监听特定对象的创建.销毁或属性变化: 对象自己创建自己用:无需监听 对象别人创建自己 ...

  5. python pip 下载慢 配置使用国内源配置

    ubuntu apt 使用国内源 设置>软件和更新>下载自 选择mirrors.aliyun.com/ubuntu 更新源sudo apt-get update 安装系统包:sudo ap ...

  6. Hadoop集群(二) HDFS搭建

    HDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS展开的.所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始. 安装Hadoop集群,首先需要有Zookeeper ...

  7. Linux 创建用户 限制SFTP用户只能访问某个目录

    Linux 限制SFTP用户只能访问某个目录 1. 新建用户并设置密码 > useradd suser > passwd suser   // 输入密码 2. 设置sshd配置文件 > ...

  8. ARM9/ARM11/Cortex A8处理器(转载) .

    //toppic:推荐几个值得中小企业使用的ARM9/ARM11/Cortex A8处理器 // 作者:gooogleman //原文地址:http://blog.csdn.net/goooglema ...

  9. 自己电脑能ping别人的,但别人电脑去不能跟我们的电脑通信

    记住一点:多半时防火墙出了问题. 打开“控制面板”——点击“系统和安全”——“Windows防火墙”——点击“打开或关闭”Windows防火墙--点击家庭组网络或者工作组网络——关闭家庭组和工作组的防 ...

  10. nodejs windows安装

    [安装步骤] 一.安装node.js 1.前往node.js官网下载(我下载的是v10.8.0)并安装工具,这里安装路径选到D盘,e:\Program Files\nodejs 安装完毕在命令行输入以 ...