swift学习记录

Swift 正则表达式匹配NSRegularExpression

2017-08-03  本文已影响981人  CaptainSirZero
import UIKit

/*
 []             表示一个字符 [12345] 表示这一个位置上可以是1,2,3,4,5  一位
 {}             表示一个范围 {1,9}   表示1到9这么一段
 [a-z]          表示a~z
 [0-9]          表示0~9 或者 \d ,为了防止转义 \\d
 ^[a-z]         表示首字母必须是a~z
 \d{2,10}       表示数字有2到10个
 [a-z]$         表示必须以a-z的字母结尾
 [^0-9]         表示不能是0-9
 .              表示任意字符/数字/符号
 *              表示个数不定
 ?              表示就近匹配
 
 
 */

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let str = "a311dadsddabc"
        // 1. 创建正则表达式规则
        let pattern = "^[a-z].*[a-z]$"
        
        // 2. 创建正则表达式对象
        guard let regex = try? NSRegularExpression(pattern: pattern, options: []) else {
            return
        }
        
        // 3. 匹配字符串中内容
       let results =  regex.matches(in: str, options: [], range: NSRange(location: 0, length: str.characters.count))
        
        // 4.遍历数组,获取结果[NSTextCheckingResult]
        
        for result in results {
            print(result.range)
            let string = (str as NSString).substring(with: result.range)
            print(string)
        }
    }

}

上一篇 下一篇

猜你喜欢

热点阅读