`

ios中正则表达式的使用

    博客分类:
  • ios
 
阅读更多

以前总结的正则使用文章:http://quding0308.iteye.com/admin/blogs/1744629

 

在ios中主要使用的是NSRegularExpression类、NSTextCheckingResult,

具体代码如下:

    NSError *error = NULL;
    NSString *patternIFrame;
    NSRegularExpression *regex;
    int offset = 0;    
    //parse <iframe>
    patternIFrame = @"\<iframe.*?\<\/iframe\>";
    // 配置regex对象
    regex = [NSRegularExpression regularExpressionWithPattern:patternIFrame options:NSRegularExpressionCaseInsensitive error:&error];
    // 这里是用来从字符串中查询符合规则的字符串,然后返回结果
    NSArray *matchResult = [regex matchesInString:text options:NSMatchingReportCompletion range:NSMakeRange(0, text.length)];
    for(NSTextCheckingResult *result in matchResult){
        @autoreleasepool {
            //            NSLLog(@"%@", result);
            if(result.range.location-offset > 0){
                NSString *str = [text substringWithRange:NSMakeRange(offset, result.range.location-offset)];
                NSLog("%@", str);
            }
            offset = result.range.location + result.range.length;
        }
    }

 

使用正则表达式可以很方便的操作一个字符串,根据一定的规则可以用来查找、替换。

在使用过程中,写pattern是最困难的一部分,ios中的pattern跟其他的规则又不一样的地方,具体规则参考:https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html

常用例子:

 

   // 用来判断是否是来自主站的图片 

    NSString *imgPattern = @"^http://img1\.guokr\.com/thumbnail/[\\w-]{56}_(\\d*)x(\\d*)?\.(jpg|gif|png)";

 

   // 截取iframe标签

    patternIFrame = @"\<iframe.*?\<\/iframe\>";

 

   // 从img标签中截取图片地址 

   patternIFrame = @"src\=(.*?\.\")" 

  

 

 

分享到:
评论

相关推荐

    iOS中正则表达式封装好的第三方文件

    标题提到的"iOS中正则表达式封装好的第三方文件"就是一个这样的解决方案。 第三方库通常会提供更友好的API,使得在iOS应用中集成正则表达式功能变得更加便捷。这些库可能会包含以下功能: 1. **简单的初始化和配置...

    Java中正则表达式使用方法详解

    例如,要匹配社会安全号码,可以使用正则表达式"\\d{3}-\\d{2}-\\d{4}",其中"\\"用于转义特殊字符"-","{n}"表示匹配n次。 2. **特殊符号**: - **"^"**:在方括号内表示否定,如"[^aeiou]"匹配非元音字符。 - ...

    objective-c中正则表达式

    本篇将深入探讨Objective-C中正则表达式的使用,特别是涉及到特殊符号转义字符的处理。 在Objective-C中,我们通常使用NSRegularExpression类来操作正则表达式。首先,我们需要了解一些基础的正则表达式语法,比如...

    iOS中正则表达式的运用示例代码

    有时我们需要在一大段长文本中过滤出我们需要的字段,或者检验该文本是否符合要求(该文本是否是邮箱,链接,电话号码或身份证),这时候就需要用到正则表达式了,iOS中也加入了相关的类来支持正则表达式的使用。...

    ios正则表达式资源文件

    ios正则表达式资源文件

    IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母

    在iOS中,我们可以使用Objective-C的`NSPredicate`类结合正则表达式来实现这个功能。以下是一个简单的示例: ```objc + (BOOL)judgePassWordLegal:(NSString *)pass { BOOL result = NO; if ([pass length] &gt;= ...

    iOS正则表达式工具

    本话题主要围绕iOS正则表达式的使用和相关工具进行深入探讨。 首先,理解正则表达式的基本概念至关重要。正则表达式是由字符、特殊符号组成的模式,用于在文本中进行搜索、匹配和操作。在iOS开发中,我们通常使用...

    iOS原生正则表达式以及NSArray快捷过滤

    NSPredicate应用,包括以下几个部分: 1、字符串,正则表达式的匹配; 2、字符串数组NSArray和NSMutableArray的快捷过滤方式; 3、自定义对象数组NSArray和NSMutableArray的快捷过滤方式;

    iOS正则表达式类库

    本文将详细介绍iOS中常用的正则表达式类库以及如何使用它们。 RegexKitLite是其中一个知名的开源类库,版本4.0提供了轻量级的正则表达式支持。它是由John Engelhart开发的,主要目标是简化Objective-C中的正则...

    IOS Swift 表达式计算机

    计算阶段,根据RPN表达式,使用栈对表达式进行求值。 5. **用户界面(UI)**:在iOS应用中,用户需要一个友好的界面来输入表达式和查看结果。这可能涉及到`UITextField`用于输入,`UIButton`用于触发计算,`UILabel...

    iOS中常见正则表达式验证方法

    本文将详细介绍在iOS平台如何使用正则表达式来进行身份证号码、手机号和军官证的有效性验证。 首先,让我们来看如何在iOS中验证手机号码。手机号码的验证主要是通过正则表达式来匹配手机号码的号码段和位数。在示例...

    正则表达式在IOS中的应用及IOS中三种正则表达式的使用与比较

    在iOS中,有三种主要的方式来使用正则表达式: 1. `NSRegularExpression` 类:这是iOS中专门处理正则表达式的类,提供了丰富的API用于创建、匹配和搜索正则表达式。例如,你可以使用`NSRegularExpression`的`...

    iOS 正则表达式详解

    本文详细讲解了iOS 正则表达式的详细用法,并对参数给出了详细的说明

    iOS 正则表达式第三方

    在iOS开发中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。正则表达式在很多场景下都至关重要,例如验证用户输入、数据清洗、格式化文本等。然而,Objective-C和Swift...

    IOS正则表达式之验证密码身份证手机号

    方法`checkTelNumber:`使用了正则表达式`"^1+[3578]+\\d{9}"`,这个表达式确保输入的字符串以1开头,接着是1个或多个3、5、7或8,最后是9位数字。这对应中国的手机号码格式,通常为11位数字,且以1开头,第二位为3...

    正则库表达式IOS

    在iOS开发中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于模式匹配、字符串查找、替换和分割等操作。本类库专为iOS环境设计,旨在简化和增强应用程序对正则表达式的处理能力。下面将详细...

    swift-Expression用于在运行时计算数值表达式的Mac和iOS库

    这个库适用于Mac和iOS应用开发,为开发者提供了一种灵活的方式,可以在程序运行时根据用户输入或特定条件评估数学表达式。在iOS和Mac应用中,这可以用于创建动态计算、自定义公式解析或者在应用程序的某些部分提供...

    iOS中使用正则表达式

    NULL 博文链接:https://eric-gao.iteye.com/blog/1295285

Global site tag (gtag.js) - Google Analytics