回答
看起來你正試圖驗證電子郵件地址。試試這個:
let test = "[email protected]"
do {
let regex = try NSRegularExpression(pattern: "[a-zA-Z0-9][email protected][a-zA-Z0-9]+.[a-zA-Z]", options: [])
if regex.firstMatchInString(test, options: [], range: NSMakeRange(0, test.utf16.count)) != nil {
print("matched")
} else {
print("not matched")
}
} catch let error as NSError {
print(error.localizedDescription)
}
NSRegularExpression
依然搭載了很多它背後的ObjC遺產,因此它是相當冗長使用。
這有效。謝謝!但是爲[]設置選項意味着什麼?我怎麼知道?我嘗試過使用谷歌搜索,並查看蘋果文檔,但我找不到任何信息。 – fossdeep
'[]'是一個空集。 '選項:[]'表示「無選項」。它相當於ObjC中的'options:nil'。檢查文檔。如果'option'參數符合'OptionSetType',則可以使用一個步驟而不是按位或''。文檔:https://developer.apple.com/library/mac/documentation/Swift/Reference/Swift_OptionSetType_Protocol/ –
其實,如果我想驗證整個用戶輸入,它將匹配「[email protected]」,但也會匹配「sometext [email protected]」正則表達式是否需要改進,或者我應該使用不同的選項? – fossdeep
- 1. 的Objective-C /斯威夫特正則表達式跨multliple線
- 2. 斯威夫特Xcode6 beta6正則表達式
- 3. 大廈斯威夫特/ ObjC正則表達式
- 4. 斯威夫特正則表達式:替代小寫由大寫
- 5. 斯威夫特正則表達式匹配統一碼
- 6. 斯威夫特正則表達式錯誤
- 7. 斯威夫特:使用正則表達式不工作
- 8. 斯威夫特正則表達式不起作用
- 9. 斯威夫特轉換斯威夫特
- 10. 斯威夫特2斯威夫特3
- 11. 斯威夫特 - JSQMessagesViewController與斯威夫特
- 12. IPV6斯威夫特可達
- 13. 正則表達式的十進制數和空白斯威夫特
- 14. 兩人在表達斯威夫特
- 15. 斯威夫特:正則表達式允許字母一個數字強制
- 16. 正則表達式不能用於空字符串 - 斯威夫特
- 17. 斯威夫特
- 18. 斯威夫特
- 19. 斯威夫特
- 20. 斯威夫特
- 21. 斯威夫特
- 22. 斯威夫特
- 23. 斯威夫特
- 24. 斯威夫特
- 25. 斯威夫特
- 26. 斯威夫特
- 27. 斯威夫特
- 28. 斯威夫特
- 29. 斯威夫特
- 30. 斯威夫特
分享你正在嘗試的代碼片段,也要確保你在'.swift'文件中編寫了一個swift代碼......如果你想使用Objective-C,你應該使用橋接頭。 – Sana
我只是決定讓這個問題更一般化。 – fossdeep
[RegEx in Swift?]可能重複(http://stackoverflow.com/questions/25071444/regex-in-swift) – Identity1