1. 背景
1.1 简介
关于正则表达式[1],相信大家并不陌生,可能平时只是粘贴下相关代码,并不了解里面所写匹配规则。这篇文章我们将介绍 iOS 相关正则表达式基本语法和一些实例,希望看完此文大家能有所收获;
1.2 工具
在线匹配工具
- oschina[2]
- runoob | 菜鸟工具[3]
- rubular[4]
- regexpal[5]
安装包
- regexBuddy_Mac[6]
- regexBuddy_Windows[7]
图形化展示工具
- regulex[8]
eg:
库
- Objective-C RegEx Categories[9]
2. 认识正则表达式
2.1 概念
正则表达式(又称规则表达式),英语为 Regular Expression
,常简写为 regex
、regexp
或 RE
。它使用单个字符串来描述,匹配一系列符合某个句法规则的字符串。
使用场景:
- 用来批量提取或替换有规律的字符串;
- 在高级文本编辑器中使用;
- 在各类办公软件(
office
等)中使用; - 检测用户的输入是否合法;
- 在各种开发语言中使用;(
C#
,java
,JS
,PHP
等) - 网络爬虫;
- 批量文本处理等;
eg:
Xcode使用场景[10]
2.2 初识篇
正则表达式是由普通字符和特殊字符(也叫元字符或限定符)组成的文字模板,为用来描述或匹配符合某个句法规则的字符串。在许多软件中都得到广泛的应用,当然针对不同的命令及环境,对正则表达式的支持程度也不尽相同,这里参考正则表达式 - 应用领域[11]。有一个通识问题说明一下:
"/"是
JS
中经常用来分隔一个正则的开始与结尾的字符,其他语言中不用做此区分;
比如:
代码语言:javascript复制/* JS */
/abc/ //精确匹配abc(有/符号)
/* 其他语言 */
abc //精确匹配abc(无/符号)
很多人刚开始无从下手可能是因为不清楚如何"断句",这样也就抓不住重点,感觉像听天书了。