简介
程序在处理字符串时,往往需要通过一定规则过滤或截取出目标字符串,而正则表达式就是描述该规则的工具。
正则表达式语法
常用元字符
“.”:匹配除换行符以外的任意字符
”\w”:匹配字母、数字、下划线
”\s”:匹配空白符
”\b”:匹配单词的开始或者结束
”\d”:匹配数字
”^”:匹配字符串的开始
”$”:匹配字符串的结束
限定符
”*”:重复零次或者更多次
”+”:重复一次或者更多次
”?”:重复零次或者一次
””:重复n次
””:重复n次或者更多次
””:重复n到m次
字符簇
“[]”:字符集合。匹配字符串所包含的任意一个字符。例如,'[mno]'可以匹配"plain"中的'n'。
分支条件
“|”:假如有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用“|”把不同的规则分隔开。例如,0\d-\d|0\d-\d这个表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12846678),一种是4位区号,7位本地号(0376-2273375)。
分组
“()”:标记一个子表达式的开始和结束位置,子表达式可以获取供以后使用。例如,(\d\.)匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次
常用正则表达式
Objetive-C中使用正则
场景:不固定长度的字符串,取特殊规则下的字符串
需求规则:截取源字符串中从第一个字母开始到非字母结束的子字符串
源码:
输入:
text =@"ILoveCoding520"
输出:
@"ILoveCoding"
参考文献
http://deerchao.net/tutorials/regex/regex.htm
http://tool.oschina.net/uploads/apidocs/jquery/regexp.html
http://www.runoob.com/regexp/regexp-tutorial.html
领取专属 10元无门槛券
私享最新 技术干货