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)
}
}
}
相關文章
- 正規表示式匹配
- 正規表示式匹配原理
- 字串——正規表示式匹配字串
- python 正規表示式匹配Python
- 正規表示式 多行匹配
- 匹配字母正規表示式
- leetcode - 正規表示式匹配LeetCode
- 匹配正整數正規表示式
- Swift 正規表示式完整教程Swift
- 正規表示式支配匹配模式模式
- JavaScript匹配中文正規表示式JavaScript
- 匹配護照正規表示式
- 匹配小數正規表示式
- 匹配負數正規表示式
- 匹配整數正規表示式
- 匹配自然數正規表示式
- 匹配航班號正規表示式
- 正規表示式匹配漢字
- 10. 正規表示式匹配
- 正規表示式的多行匹配
- 正規表示式匹配問題
- 正規表示式同時匹配中英文及常用正規表示式
- 轉|正規表示式之匹配中文
- 匹配浮點數正規表示式
- 匹配二級域名正規表示式
- 匹配車牌號正規表示式
- 匹配純數字正規表示式
- 匹配html標籤正規表示式HTML
- 匹配400電話正規表示式
- 匹配 XML 檔案正規表示式XML
- 匹配 HTML 標籤正規表示式HTML
- 匹配空白字元正規表示式字元
- Leetcode 10. 正規表示式匹配LeetCode
- 匹配空行正規表示式程式碼
- JZ-052-正規表示式匹配
- 匹配n位正整數正規表示式
- 正規表示式匹配雙位元組字元字元
- npp++常用的匹配正規表示式
- 匹配磁力連結的正規表示式