美文网首页
Android/iOS使用正则表达式总结

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

作者: 蓝点工坊 | 来源:发表于2016-07-14 20:07 被阅读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提示不匹配.

    相关文章

      网友评论

          本文标题:Android/iOS使用正则表达式总结

          本文链接:https://www.haomeiwen.com/subject/dlzejttx.html