正则表达式
又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。包括数字 字母 和特殊符号
常用的元字符
. :除开/n以外的所有的任意一个字符
* :符合前面的表达式的字符出现0次或者多次
+ :符合前面的表达式的字符出现一次或者多次
? : 符合前面的表达式的字符出现0次或者多次
[] : 范围 某个范围的任意一个字符
{}: 限定前面的表达式出现的具体次数或者范围次数
/d:任意的数字字符
/D:任意的非数字字符
/s : 空白符 (包括 空格 制表符 换页符)
/S: 非空白符
/w:非特殊符号 包括_
/W: 特殊符号不包括 _
^:以什么字符开始
$:以什么字符结束
常用的正则表达式
手机号:"1 (3[0-9] |45|47|5[0-9]|8[0-9]|7[0-9])\\d{8} "(会有新的手机号出现 所以会不断的补充进来)
邮箱号:"[a-zA-Z0-9_.-]+[@][a-zA-Z0-9_-]+([.][A-Za-z]){1,2}"
qq号:"\\d{5,12}"
中文:" [\u4e00-\u9fa5]"
iOS中利用正则表达式匹配
1. NSPredicate*predicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",stringRegex];
BOOL flag=[predicate evaluateWithObject:string];
2.NSRange range = [string rangeOfString:regex options:NSRegularExpressionSearch];
if(range.location !=NSNotFound) {
// 找到
NSLog(@"%@",NSStringFromRange(range)); }
else{
//未找到
}
3.NSRegularExpression
网友评论