Swift 5.0 正規表達式基本語法範例

在本篇文章中,我們將深入探討 Swift 5.0 的正規表達式使用方法,特別是如何用它來驗證電話號碼、身分證號碼和電子郵件地址。這些示例將展示在 2025 年最新的 Swift 語法和最佳實踐。

基本語法

首先,讓我們看一個基本的例子來了解如何使用正規表達式。

let yourStr = "hello"
let result = yourStr.range(of: "he", options: .regularExpression) != nil

結果

true

處理中文字符

Swift 的正規表達式也能處理中文字符,以下是範例:

let yourStr = "史蒂芬賴"
let result = yourStr.range(of: "賴", options: .regularExpression) != nil

使用正規表達式符號

以下是一些常見的正規表達式符號及其用法:

[ . ] 任意字串符號(不包含 \n)

let yourStr = "史蒂芬賴+1232kdsjsaoj"
let result = yourStr.range(of: ".", options: .regularExpression) != nil

[ \d ] 包含數字

這個範例檢查是否包含數字:

let yourStr = "aaaaaaaaa1"
let result = yourStr.range(of: "\\d", options: .regularExpression) != nil

[ \D ] 不包含數字

此範例確認字串是否完全不包含數字:

let yourStr = "45465464"
let result = yourStr.range(of: "\\D", options: .regularExpression) != nil

結果

false

混搭字串

檢查包含數字和字母的字串:

let yourStr = "test123"
let result = yourStr.range(of: "\\D", options: .regularExpression) != nil

結果

true

[ \s ] 包含空白

檢查字串中是否有空白字符:

let yourStr = "123 test"
let result = yourStr.range(of: "\\s", options: .regularExpression) != nil

[ \w ] 包含數字、大小寫字母和底線

let yourStr = "test_Test/"
let result = yourStr.range(of: "\\w", options: .regularExpression) != nil

[ \W ] 不包含數字、大小寫字母和底線

確認字串中不包含數字、大小寫字母和底線:

let yourStr = "test_Test/"
let result = yourStr.range(of: "\\W", options: .regularExpression) != nil

[ ] 符合其中一項

檢查字串中是否包含任一指定字符:

let yourStr = "123456a"
let result = yourStr.range(of: "[abc]", options: .regularExpression) != nil

[ + ] 搜尋重複字串

檢查字串中是否有重複的字母:

let yourStr = "adad adadadad"
let result = yourStr.range(of: "(ad)+", options: .regularExpression) != nil

錯誤排除

在使用正規表達式時,常見的錯誤包括:
– 語法錯誤:確保正規表達式的符號使用正確。
– 忽略字元轉義:需要轉義的字符如 `\` 必須正確處理。

延伸應用

使用正規表達式可以在許多領域中發揮作用,例如:
– 驗證用戶輸入的電子郵件地址。
– 檢查電話號碼的格式。
– 解析和處理各種文本數據。

結論

Swift 的正規表達式功能強大,能夠幫助開發者在處理字符串時達到更高的靈活性與效率。希望本篇教學能夠幫助你更好地理解和使用 Swift 的正規表達式。

Q&A(常見問題解答)

1. Swift 中如何使用正規表達式驗證電子郵件格式?

使用正規表達式可以檢查字符串是否符合電子郵件的格式,示例可參考以下代碼:

let emailStr = "example@test.com"
let emailPattern = "^[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}$"
let result = emailStr.range(of: emailPattern, options: .regularExpression) != nil

2. 如何檢查電話號碼是否有效?

可以使用正規表達式檢查電話號碼是否符合特定格式,例如:

let phoneStr = "0912345678"
let phonePattern = "^09[0-9]{8}$"
let result = phoneStr.range(of: phonePattern, options: .regularExpression) != nil

3. Swift 中如何有效地處理多行字符串的正規表達式?

在處理多行字符串時,可以使用 `options: .anchorsMatchLines` 來匹配行首和行尾,這樣可以更靈活地處理正規表達式。

Swift 課程圖片說明:學習 Swift 正規表達式的最佳資源

Categorized in: