Objective-C正则表达式使用指南

在 Objective-C 中使用正则表达式,其实挺。NSRegularExpression类就是文本匹配的得力工具。通过它,你可以验证邮箱、手机号码、昵称和密码等常见输入格式。其实正则表达式就是一串字符匹配规则的符号,像是‘^’表示开始,‘$’表示结束,像你在搜索框里输入的关键词匹配。比如,验证邮箱时,可以用类似这样的一行代码:

NSString *emailRegex = @"^[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:emailRegex options:0 error:nil];

像这种正则表达式,用来匹配字符串格式有效。而且,正则表达式中有一些符号需要转义,比如‘[’和‘]’这些字符,如果你要匹配它们,就得用反斜杠‘\’来转义。,掌握了这些,你在 Objective-C 里玩转正则是轻而易举的。

还有,NSPredicate也是一个不错的工具,它可以你通过正则表达式验证输入内容,比如手机号或者密码,避免了数据格式出错的麻烦。

记得用正则时一定要测试下,避免错漏。你可以结合这些正则表达式,根据自己的需求调整规则。

zip
PredicateTest.zip 预估大小:61个文件
folder
PredicateTest 文件夹
folder
.git 文件夹
folder
info 文件夹
file
exclude 35B
folder
objects 文件夹
folder
pack 文件夹
folder
69 文件夹
file
3410653ad10f9cdc4041d90e1ca647c2b7a709 282B
folder
fa 文件夹
file
26b7af759b2b9b2504956e67966b9cbca0315f 57B
folder
c2 文件夹
file
f73c9a4f8502a8be09d71d2ab296638162bbb9 1KB
folder
info 文件夹
folder
66 文件夹
file
2557bef53fee2bfad2a7379981743ee5f9af5b 118B
folder
76 文件夹
file
9a0a2eec381df1e78d23c63f4d87cdfd02e1a3 159B
folder
de 文件夹
file
96444a3c33725fbf8bcedda705bcd466331a87 169B
folder
dc 文件夹
file
ec9f36e6e8b623a8fbb4959b385995adef7236 340B
folder
83 文件夹
file
932c1fb39203bcc47f068d88c2627c768e8352 133B
folder
6f 文件夹
file
c6beff5a019e01a5e45aabd784e6341ce564c2 1KB
folder
96 文件夹
file
de57f75d1a7be2f5129e041ec7e7e75929df45 233B
folder
d4 文件夹
file
43924f9f65858d8fca7c4062c3c214fba1c723 525B
folder
f2 文件夹
file
5485704a1cbd5804a400b6cf25512136e116b7 185B
folder
47 文件夹
file
7b28ff8f86a3158a71c4934fbd3a2456717d7a 61B
folder
12 文件夹
file
685a745c64c6efe54b1b94f38fbab3ee486b52 181B
folder
91 文件夹
file
6ad7fe16ec84e434f96dab0793d0d79c56be7a 227B
folder
f9 文件夹
file
2fb51112718ad8365a36939e4311ecdc8fbf13 230B
folder
2b 文件夹
file
4a272467df873c457ba586e633ac3ebbdad48b 3KB
folder
bc 文件夹
file
a026935d5373a3d5f033b97b3cca38a7a1b1c6 185B
folder
ff 文件夹
file
aa070dbdda86d2412c7bbc5fc5b633be20b282 588B
folder
02 文件夹
file
37597b848a1890bb30ba0ff4102f8107cafdcb 61B
folder
6b 文件夹
file
7eaf7cf41f6973b9c17e61b29a09dd2272c6ab 266B
file
HEAD 23B
file
description 73B
folder
branches 文件夹
file
config 111B
file
index 2KB
folder
refs 文件夹
folder
tags 文件夹
folder
heads 文件夹
file
master 41B
file
COMMIT_EDITMSG 15B
folder
hooks 文件夹
file
post-receive.sample 552B
file
commit-msg.sample 896B
file
pre-rebase.sample 5KB
file
prepare-commit-msg.sample 1KB
file
update.sample 4KB
file
post-commit.sample 160B
file
pre-commit.sample 2KB
file
post-update.sample 189B
file
applypatch-msg.sample 452B
file
pre-applypatch.sample 398B
folder
logs 文件夹
file
HEAD 176B
folder
refs 文件夹
folder
heads 文件夹
file
master 176B
folder
PredicateTest 文件夹
file
TryViewController.m 4KB
file
main.m 398B
file
AppDelegate.h 281B
file
PredicateTest-Prefix.pch 329B
file
AppDelegate.m 2KB
file
PredicateIsValidate.m 2KB
file
PredicateTest-Info.plist 1KB
file
PredicateIsValidate.h 578B
file
TryViewController.h 644B
file
TryViewController.xib 377KB
folder
en.lproj 文件夹
file
InfoPlist.strings 45B
folder
PredicateTestTests 文件夹
file
PredicateTestTests.h 243B
file
PredicateTestTests.m 468B
folder
en.lproj 文件夹
file
InfoPlist.strings 45B
file
PredicateTestTests-Info.plist 682B
folder
PredicateTest.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 158B
folder
xcuserdata 文件夹
folder
penghao.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 16KB
file
project.pbxproj 19KB
folder
xcuserdata 文件夹
folder
penghao.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 575B
file
PredicateTest.xcscheme 4KB
folder
xcdebugger 文件夹
file
Breakpoints.xcbkptlist 91B
...
zip 文件大小:152.28KB