見出し画像

New SwiftUI - WWDC22- RegexBuilder

まずは、正規表現です。

Regex

公式の例示です

let regex = try Regex("a(.*)b")
let match = "cbaxb".firstMatch(of: regex)
print(match.0) // "axb"
print(match.1) // "x"

これを実行するとエラーが出るので、

let regex = /a(.*)b/

と変更して実行するとうまくいきます。

RegexBuilderで変換

そしてこれを新機能"RegexBuilder"で変換してみます。

"/a(.*)b/"を選択して右クリックして

Refactor > Convert to Regex Builder

として変換します。そして

import RegexBuilder

が必要です。変換すると

let regex = Regex {
    "a"
    Capture {
        ZeroOrMore(.any)
    }
    "b"
}

となります。

この変換したものを使うときは必ず

import RegexBuilder

を付ける必要があるので忘れずに。
以下参考サイト


おまけ

正規表現ですがわかりにくい、すぐ使い方を忘れてしまうので使い方をすぐに試すことができるサイトを記録しておきます。

https://regexr.com/

いろいろ試すことができて理解しやすいサイトになっています。

この記事が気に入ったらサポートをしてみませんか?