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)
}
}
}
相關文章
- 正規表示式匹配原理
- [譯]正規表示式匹配
- 字串——正規表示式匹配字串
- iOS正規表示式匹配iOS
- 正規表示式支配匹配模式模式
- JavaScript匹配中文正規表示式JavaScript
- 模式匹配與正規表示式模式
- python 正規表示式匹配Python
- Swift 正規表示式完整教程Swift
- 匹配html標籤正規表示式HTML
- 匹配空白字元正規表示式字元
- 匹配 XML 檔案正規表示式XML
- 匹配 HTML 標籤正規表示式HTML
- leetcode - 正規表示式匹配LeetCode
- 匹配空行正規表示式程式碼
- 常用正規表示式匹配模式(java)模式Java
- JavaScript匹配註釋正規表示式JavaScript
- [JavaScript] 正規表示式單次匹配與多次匹配JavaScript
- 匹配iphone手機序列正規表示式iPhone
- 匹配HTML註釋的正規表示式HTML
- 匹配A股程式碼的正規表示式
- 正規表示式匹配標點符號符號
- 匹配HTML標籤的正規表示式HTML
- 正規表示式匹配雙位元組字元字元
- js正規表示式如何匹配註釋JS
- 匹配javascript註釋的正規表示式JavaScript
- Oracle正規表示式匹配中文的方法Oracle
- 匹配正負小數正規表示式程式碼
- swift 自定義正規表示式運算子 =~Swift
- 匹配視訊連結地址正規表示式
- 匹配純英文字元正規表示式字元
- 劍指offer——正規表示式匹配C++C++
- 正規表示式教程之位置匹配詳解
- 常用正規表示式匹配程式碼介紹
- 正規表示式匹配使用者密碼密碼
- LeetCode 10. 正規表示式匹配LeetCode
- 演算法之字串——正規表示式匹配演算法字串
- 匹配中文正規表示式程式碼例項