Swift 正則表達式匹配NSRegularExpression

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)
        }
    }

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容