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 { ...
随机推荐
- LeetCode题解:Flatten Binary Tree to Linked List:别人的递归!
总是在看完别人的代码之后,才发现自己的差距! 我的递归: 先把左侧扁平化,再把右侧扁平化. 然后找到左侧最后一个节点,把右侧移动过去. 然后把左侧整体移到右侧,左侧置为空. 很复杂吧! 如果节点很长的 ...
- Rust语言学习笔记(5)
Structs(结构体) struct User { username: String, email: String, sign_in_count: u64, active: bool, } let ...
- LeetCode OJ 56. Merge Intervals
题目 Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6], ...
- 拓展jquery js动态添加html代码 初始化数据
1 /** * 新增数据筛选 */ (function () { $.filterEvent = function(options){ var _this = this; var defaults = ...
- 25. IO流.md
目录 IO分类: 1.FIle类 1.1目录分隔符 1.2常用方法 2.FileInputStream类 2.1读取文件 3.FileOutputStream类 拷贝文件 4.缓冲流 4.1 Buff ...
- Structs复习 包含外部xml和默认Actiion
包含外部xml 可以用 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PU ...
- Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory
Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory Link: https:/ ...
- 修改maven项目的编译版本
在pom.xml中添加如下代码 <build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>o ...
- 利用monkeyrunner、python脚本来做多设备多apk适配ui界面截屏的自动化测试
http://www.cnblogs.com/youxilua/archive/2011/11/25/2262715.html
- CSS 颜色术语
术语和概念在理科学习非常重要.CSS中有些关键的术语的. 对比度 对比度是指前景色和背景色之间的差距.当前景颜色和背景色之间的对比度较低时,文本就难以阅读.这对视觉障碍或色盲来说更严重. 透明度 透明 ...