关于正则表达式的总结

正则表达式 :最大的用途就是用来匹配字符串,进行模糊查询。正则表达式不是OC特有的,也不是Swift特有的,几乎所有的语言都支持正则表达式;
. 匹配任意字符,回车除外;
*匹配任意多次;
?尽量少的匹配;

以下是自己测试的小例子:

private func regxTest() {
    // 目标:取出href中的链接,以及文本描述
    let str = "百度一下,你就知道"
   
    // 创建正则表达式
    /**
     pattern - 常说的正则表达式,就是pattern的写法[匹配方案]
     索引
     0: 和匹配方案完全一致的字符串
     1: 第一个 () 中的内容
     2: 第二个 () 中的内容
     ...... 索引从左向右顺序递增
     */
    /**
     对于模糊匹配
     如果关心的内容,就是用 (.*?),然后通过索引可以获取结果
     如果不关心的内容,就是 .*? ,可以匹配任意的内容
     */
    let pattern = "(.*?)"
   
    // 创建正则表达式,如果pattern失败,抛出异常
    guard let regx = try? NSRegularExpression(pattern: pattern, options: []) else {
        return
    }
   
    // 进行查找,两种查找方法 - [只找第一个匹配项 / 查找多个匹配项]
    guard let result = regx.firstMatch(in: str, options: [], range: NSRange(location: 0, length: str.characters.count)) else { return }
   
    /**
     result中只有两个重要的方法
     result.numberOfRanges -> 查找到的范围
     result.rangeAt(idx) -> 指定'索引'位置的范围
     */
    print("找到的数量\(result.numberOfRanges)")
   
    for idx in 0..

推荐下正则表达式深度快速学习的网站:https://deerchao.net/tutorials/regex/regex.htm
常用的正则表达式大全网站:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html

你可能感兴趣的:(关于正则表达式的总结)