Android/iOS使用正则表达式总结

2016-07-14  本文已影响215人  蓝点工坊

一.正则表达式

这个懂的人都懂,不懂的人就算了,难懂.

二.Android下使用正则表达式

2.1 方法一:使用string的matchs方法

这是最简洁的使用,其中下面Pattern就是正则表达式


public boolean isRegMatch(String testString,String pattern){
   
     if(testString == null)
      return false;
     //这里是正规表达式格式
     boolean ret = testString.matches(pattern);
    
     return ret;
    }

2.2 方法二:使用Pattern对象,写起来没那么优雅


public boolean isRegMatch(String testString,String pattern){
   
     if(testString == null)
      return false;
    
   String regExpr = "^"+pattern+"$";
  

    Pattern p = Pattern.compile(regExpr);  
      Matcher m = p.matcher(testString);  
      boolean test =  m.matches();
     return ret;
    }

三.iOS使用正则表达式


-(BOOL)isRegMatch:(NSString *)testString pattern:(NSString*)pattern{
    
    NSError *error = NULL;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&error];
    NSTextCheckingResult *result = [regex firstMatchInString:name options:0 range:NSMakeRange(0, [name length])];
    if (result) {
       // NSLog(@"%@\n", [name substringWithRange:result.range]);
        return YES;
    }
    
    return NO;
}

四. 常见一组样例

4.1 并列关系

下面表达式表示可以配置aaa或者GetFit-X64

aaa|GetFit-X64

4.2 以特定字符串打头

下面表达式表示匹配所以以Watch打头的所有字符串

Watch.*

注意不能写成Watch* ,它表示匹配后面任意多个h的字符串,比如 Watchhhh
但是在iOS下是等效于Watch.*,但Android提示不匹配.

上一篇下一篇

猜你喜欢

热点阅读