iOS 正则表达式(一)
在iOS开发中,正则一直是最常用的,但也是一直记不住的,现在做一些简单的总结
我们在网上找的正则,要有'\',这个在iOS是转义符,需要'\\'这样
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
// 1.创建正则表达式
// []:找到内部的某一个字符串
// "[a-z]" :小写
// "[a-zA-Z]" :大小写
// "[a-zA-Z0-9]" :大小写及数字
// "\\d" 相当于 "[0-9]"
// "\\d{3}" 相当于“\\d\\d\\d”,表示找到连续3个一起的数字
// "\\d{2,4}" 表示2数字或者4个数字 符合的。如"342455" ,得到两个结果“3424“和”55”
// . 匹配除换行符以外的任意字符
// \w 匹配字母或数字或下划线或汉字
// \s 匹配任意的空白符
// \d 匹配数字
// \b 匹配单词的开始或结束
// ^ 匹配字符串的开始。如 @"^\\d{2}" : 表示以2数字开头,“345dd”匹配1个,“1d2e33”没有匹配
// $ 匹配字符串的结束。如 @"\\d{2}$" :表示以2数字结尾,“ddd22”匹配1个,"dd3s3s"没有匹配
// 例如手机:@"^1[3578]\\d{9}$" ,表示以1开头,中间匹配任意3,5,7,8 ,最后以9个数字结尾
// 当然,正确的手机"1[3578]\\d{9}$"和"1[3578]\\d{9}" 写都是可以匹配的。
// * 重复零次或更多次
// + 重复一次或更多次
// ? 重复零次或一次
NSString *userName = @"";
NSString *pattern = @"^1[3578]\\d{9}$";
NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:pattern options: error:nil];
// 测试字符串
NSArray *resultArray = [regex matchesInString:userName options: range:NSMakeRange(, userName.length)];
NSLog(@"%zd",resultArray.count);
}
return ;
}
打印出匹配的字符
NSString *userName = @"ddd333jda892dd34dsss";
NSString *pattern = @"[a-zA-Z]+"; // 匹配一次或更多次,会打印出连续的英文
NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:pattern options: error:nil];
NSArray *resultArray = [regex matchesInString:userName options: range:NSMakeRange(, userName.length)];
for (NSTextCheckingResult *result in resultArray) {
NSLog(@"%@ %@",NSStringFromRange(result.range),[userName substringWithRange:result.range]);
}
结果(会打印出连续的结果):

iOS 正则表达式(一)的更多相关文章
- iOS - 正则表达式判断邮箱、身份证..是否正确:
iOS - 正则表达式判断邮箱.身份证..是否正确: //邮箱 + (BOOL) validateEmail:(NSString *)email { NSString *emailRegex ...
- iOS正则表达式 分类: ios技术 2015-07-14 14:00 35人阅读 评论(0) 收藏
一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- iOS 正则表达式使用(转)
1/ 教程一:认识正则表达式 .http://deerchao.net/tutorials/regex/regex.htm#mission 表7.尚未详细讨论的语法 代码/语法 说明 \a 报警字符( ...
- iOS 正则表达式(二) RegexKitLite使用
下面介绍的是iOS的一个第三方库,RegexKitLite .使用起来是非常方便的,不过是2008年写的,MAC模式,我们在使用的时候,需要作两步操作. RegexKitLite 导入 我们在gith ...
- iOS正则表达式
//包含数字和字母的密码长度6-16位 -(BOOL) validatePassword:(NSString *)password { //密码正则表达式 NSString *passwordRege ...
- IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题)
需求很简单,是从一段文本中匹配出其中的超链接.基本的做法就是用正则表达式去匹配.但是有这样一个问题. 网上大部分的识别URL的正则表达式url末尾有空格的情况下可以正确识别.比如这样的情况. 我是一段 ...
- iOS 正则表达式小结
#pragma mark - 正则第一种表示方式-利用NSPredicate(谓词)匹配// NSString *email = @"15078357696@163.com" ...
- iOS正则表达式的使用案例-富文本
富文本(正则表达式) 一.新建工程导入图片 二 实现方式一(缺点是只能解决一个图片的替换) _myLabel.font = [UIFont systemFontOfSize:15]; //@" ...
- IOS正则表达式 (身份证、电话、汉字等常用条件筛选)
下面的正则列表 替换对应的正则规则 那个字符串就可以了 例如: //正则规则 NSString *regex = @"^((13[0-9])|(147)|(17[0-9])|(15[^ ...
随机推荐
- echarts tooltip 自定义提示信息添加圆点
tooltip自定义时,给文字前加圆点 tooltip: { formatter: '{b}<br /><span style="display:inline-block; ...
- [No0000124]WPF 扩展控件Behavior的几种方式
一.使用Attached Dependency Property的方式 (1)定义Attached Dependency Property public static class DigitsOnly ...
- Python 正则表达式(分组)
正则表达式分组 分组就是用一对圆括号"()"括起来的正则表达式,匹配出的内容就表示一个分组.从正则表达式的左边开始看,看到的第一个左括号"("表示第一个分组,第 ...
- ionic使用cordova插件中的Screenshot截图分享功能
需要实现操作,考试完成后需要将成绩生成一张图片,分享出去, import { Screenshot } from '@ionic-native/screenshot'; constructor(pri ...
- C#查找字符串位置
int i=zifuchuan.IndexOf(","); int n=(zifuchuan.SubString(i+1)).IndexOf(","); int ...
- 抽屉之Tornado实战(3)--注册
知识点应用:标签绑定事件,jQuery获取用户值-->AJAX发送数据-->后台路由系统-->业务逻辑处理-->ORM数据操作-->write返回-->AJAX回调 ...
- MonkeyRunner_手机触摸屏幕坐标获取
坐标单位为像素,获取方式包括手机自带.画图软件和photoshop软件. 方式一.android4.0以上系统手机自带坐标功能,在设置->开发者选项->显示指针位置 方式二.画图或phot ...
- 深度剖析fork()的原理及用法
我们都知道通过fork()系统调用我们可以创建一个和当前进程印象一样的新进程.我们通常将新进程称为子进程,而当前进程称为父进程.而子进程继承了父进程的整个地址空间,其中包括了进程上下文,堆栈地址,内存 ...
- shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出
shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出 如: #/bin/sh local ret='sqlite3 test.db "select test ...
- 如何使用List<HashMap<String, String>>详细讲解
场景:要循环界面Table数据源与导出Excel数据源作对比. 说明: List<HashMap<String,String>> List中每一项都是一个HashMap Ha ...