- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正则表达式在iOS中的运用小技巧iOS开发技巧.doc
正则表达式在iOS中的运用小技巧
一、什么是正则表达式
正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达 式可以检测给定的字符吊是否符合我们定义的逻辑,也可以从字符串中获取我们 想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。
正则表达式的语法
看一个过滤纯数字的例子
-(BOOL)validateNumber:(NSString *) textString {
NSString* number二@〃八[0-9]+$〃;
NSPrcdicatc *numbcrPrc = [NSPrcdicatc prcdicatcWithFormat:@Z,SELF MATCHES 9他〃,number];
return [numberPre evaluateWithObject:textString];
}
其中下述语句就是一个正则表达式
它代表了字符串屮只能包含>二1个0-9的数字,语法是不是冇一些怪异?
下面我们先撇开iOS中的止则表达式的语法,用通俗的止则表达式语法來为 介绍一下。(iOS语法与通俗的正则表达式语法相同,不同在于对转义字符的处 理上(语言类的都相同))
语法:
首先,特殊符号rsquo;「和rsquo;$。他们的作用是分别指出一个字符串 的开始和结束。eg:
ldquo; onerdquo;:农示所有以rdquo; onerdquo;开始的字符串
(rdquo;one catrdquo;, rdquo;onel23Prime;,
middot;middot;middot;middot;middot;);
类似于:- (BOOL) hasPref ix: (NSString *) aString;
ldquo;a dog$rdquo;:表示所以以rdquo; a dogrdquo;结尾的字符串
(rdquo;it is a dogrdquo;,middot;middot;middot;middot;middot;);
类似于:- (BOOL)hasSuffix: (NSString *)aString;
ldquo; ^applc$rdquo;:表示开始和结尾都是rdquo;applcrdquo;的字符 串,这个是唯一的
ldquo; bananardquo;:表示任何包含rdquo; bananardquo;的字符串。
类似T iOS8 的新方法- (BOOL)containsString: (NSString *)aString,搜 索子串用的。
1 squo; *rsquo;, rsquo; +和rsquo; ?这三个符号,表示一个或 N 个字 符重复出现的次数。它们分别表示ldquo;没有或更多ferdquo; ([0, +infin;] 取整),ldquo;—次或更多ferdquo: ([1, +infin;]取整),ldquo;没冇或一 次rdquo; ([0, 1]取整)。下面是儿个例子:
ldquo;ab*rdquo;:表示一个字符串有一个a后面跟着零个或若干个b
(rdquo; ardquo;, 1 dquo; eibrdquo;, feldquo;abbbrdquo;, hellip;hellip;);
ldquo;ab+rdquo;:表示一个字符串有一个a后面跟着至少一个b或者更 多 (rdquo;abr、dquo;, ldquo;abbbr、dquo;, hellip;hellip;);
1 dquo ;ab?r dquo;:表示一个字符串有一个a后面跟着零个或者一个b
(rdquo;ardquo;, ldquo;abrdquo;);
ldquo;a?b+$rdquo;:表示在字符串的末尾冇零个或一个a跟着一个或几 个b ( rdquo;brdquo;,
ldquo;abrdquo;, rdquo;bbrdquo;, rdquo;abbrdquo;, hellip;hellip; )o
可以用大括号括起来({}),表示一个重复的具体范围。例如
ldquo; ab {4}rdquo;:表示一个字符串有一个a跟着4个b
(rdquo;abbbbrdquo;);
1 dquo;ab{1,}rdquo;:表示一个字符串有一个a跟着至少1个b
(rdquo;abrdquo;, rdquo;abbrdquo;, rdquo;abbbrdquo;, hel1 ip;hel1 ip;);
ldquo;ab{3, 4}rdquo;:表示一个字符串有一个a跟着3到4个b (rdquo;abbbrdquo;, rdquo;abbbbrdquo;)。
那么, 1 dquo;*rdquo;可以用{0, }表示, 1 dquo;+rdquo;可以用{1, } 表示,ldquo;?rdquo
您可能关注的文档
- 植物学期末课程.doc
- 植物生理学实验矿质元素对植物生长的影响(精).docx
- 植物组织培养复习测试题.doc
- 植物蛋白激酶MAPK及其在病原信号传导中的作用.doc
- 植物非试管快繁技术.doc
- 植酸酶在猪饲料中的应用.doc
- 植酸酶替代无机磷在水产动物饲料中的应用.doc
- 椎间盘源性疼痛误诊误治病历分析.doc
- 椎间盘造影在腰椎多节段退变性疾病诊治中的应用效果研究.doc
- 椒园中学八年级上册物理期中测试题.doc
- 2024年丰都县公务员考试行测真题完整答案详解.docx
- 2024年哈尔滨市公务员考试行测试卷历年真题及答案详解1套.docx
- 2024年中卫市公务员考试行测试卷历年真题(含答案详解).docx
- 2024年吕梁市公务员考试行测试卷历年真题附答案详解(黄金题型).docx
- 2024年兰州市公务员考试行测真题及答案详解(新).docx
- 2024年中山市公务员考试行测真题完整参考答案详解.docx
- 2024年商洛市公务员考试行测试卷历年真题附答案详解.docx
- 2024年保山市公务员考试行测真题及一套答案详解.docx
- 2024年咸阳市公务员考试行测真题精编答案详解.docx
- 2024年晋中市公务员考试行测试卷历年真题及答案详解(易错题).docx
文档评论(0)