→ Swift Regex

几个 Takeaway:

  1. 正则表达式已经很难了,Swift 并没有让情况变得更好一些
  2. Swift 里常用的方式是 NSRegularExpression
  3. 对于简单的情况,不想用 NSRegularExpression 。 可以使用 String range(of:options:range:locale:)
import Foundation

let invitation = "Fancy a game of Cluedo™?"
invitation.range(of: #"\bClue(do)?™?\b"#,
                 options: .regularExpression) != nil // true

通过判断 range 是否存在来判断正则是否命中。

其中用两个 # 将字面量包裹起来的语法是 Swift 5 里引入的 raw string literals

  1. NSRegularExpression 的用法