基本字符 (单个字符)
| 类别 |
符号 |
| 大写字母 |
ABCDEF...XYZ |
| 小写字母 |
abcdef...xyz |
| 数字 |
0123456789 |
| 其他 |
`~!@#%&;:'",<>/ |
| 转义方法 |
符号 |
| 双反斜杠转义 『\\』 |
$^*()-=+[{]}|.? |
| 三反斜杠转义 『\\\\』 |
\ |
元字符 (单类字符)
| 符号 |
类别 |
| . |
除换行符外的任意字符 |
| \\w |
字母、数字、下划线或汉字 |
| \\s |
任意空白字符,包括换页符、换行符、回车符、制表符、空格 |
| \\d |
数字 |
| \\f |
换页符 |
| \\n |
换行符 |
| \\r |
回车符 |
| \\t |
制表符 |
| \\v |
垂直制表符 |
反义(元字)符
| 符号 |
类别 |
| \\W |
非字母、数字、下划线或汉字 |
| \\S |
非空白字符 |
| \\D |
非数字字符 |
| ^ |
非后接的字符,可同时接多个字符 |
限定字符
贪婪限定字符
- 当匹配符合多种情况时优先字符数多的情况
字符串 :"123456789"
正 则 :"^\d+"
结 果 :123456789
| 符号 |
意义 |
| * |
重复单字符或表达式零次以上(包括零次) |
| + |
重复单字符或表达式一次以上(包括一次) |
| ? |
重复单字符或表达式零或一次 |
| {n} |
重复单字符或表达式n次 |
| {n,} |
重复单字符或表达式n次以上(包括n次) |
| {n,m} |
重复单字符或表达式n到m次 |
懒惰限定符
- 当匹配符合多种情况时优先字符数少的情况
字符串 :"123456789"
正 则 :"^\d+?"
结 果 :1
| 符号 |
意义 |
| *? |
重复单字符或表达式零次以上(包括零次) |
| +? |
重复单字符或表达式一次以上(包括一次) |
| ?? |
重复单字符或表达式零或一次 |
| {n,}? |
重复单字符或表达式n次以上(包括n次) |
| {n,m}? |
重复单字符或表达式n到m次 |
定位符
| 符号 |
意义 |
| ^ |
字符串的开始 |
| $ |
字符串的结束 |
| \\b |
单词开始或结束 |
| \\B |
非单词开头或结束的字符 |
连接符
| 符号 |
意义 |
| | |
用于连接两个字符或表达式,可理解为『或』 |
| , |
用于连接两个字符,可理解为『或』 |
| - |
用于选取一个字符域 |
分隔符
| 符号 |
意义 |
| [] |
单字符分隔符 :对单字符进行分隔 |
| () |
表达式分隔符 :对表达式进行分隔 |
| {} |
限定符分隔符 :对限定符进行分隔 |
正则实例
| ^ |
[a-z,A-Z,0-9]|{2,6} |
$ |
| 首 |
2到6位字母或数字 |
尾 |
- 首字符为字母其余为字母或数字组成的6位及以上字符串
| ^ |
[a-z,A-Z]{1} |
[a-z,A-Z,\\d]|{5,} |
$ |
| 首 |
1位字母 |
5位及以上字母或数字 |
尾 |
| ^ |
[A-Z,a-z,\\d]+ |
([-_.][A-Za-z\\d]+)* |
@ |
([A-Za-z\\d]+[-.])+ |
[A-Za-z\\d]{2,4} |
$ |
| 首 |
0位以上数字或字母 |
0次以上(-_.+0位以上数字或字母) |
@ |
0次以上(0次以上数字或字母 + -.) |
2到4位数字或字母 |
尾 |
代码书写
/// 帐号
var acount = "339662012@qq.com"
/// 正则规则字符串
let pattern = "^[A-Z,a-z,\\d]+([-_.][A-Z,a-z,\\d]+)*@([A-Z,a-z,\\d]+[-.])+[A-Z,a-z,\\d]{2,4}"
/// 正则规则
let regex = try? NSRegularExpression(pattern: pattern, options: [])
/// 进行正则匹配
if let results = regex?.matches(in: acount, options: [], range: NSRange(location: 0, length: acount.count)), results.count != 0 {
print("帐号匹配成功")
for result in results{
let string = (acount as NSString).substring(with: result.range)
print("对应帐号:",string)
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。