以前に、「【Swift】正規表現を使わずに指定した文字列が含まれているかを判定する」という記事を投稿しましたが、今回は正規表現を使って文字列の検索を行う方法についてです。
今回参考にさせていただいた記事はこちらから。
正規表現による文字列の抽出(Swift) [NSRegularExpression, NSTextCheckingResult] iOS Objective-C, Swift Tips-モバイル開発系(K)
http://www.office-matsunaga.biz/ios/description.php?id=28iOSエンジニアの正規表現入門 – Qiita
https://qiita.com/shoheiyokoyama/items/5dc67fdc9e06a9dc5728
サンプルコードは下記の通りです。
let regex = try? NSRegularExpression(pattern: "[正規表現のパターン]", options: NSRegularExpression.Options()) if regex!.firstMatch(in: [検索したい文字列], options: NSRegularExpression.MatchingOptions(), range: NSMakeRange(0, [文字列の長さ(文字数)])) != nil { // 一致した場合に行いたい処理を記述 }
正規表現のパターンは、上記で紹介した記事の内、2つ目が参考になります。
ほとんど JavaScript
や PHP
と同じなので、他の言語で触ったことがある場合は特に困ることはないかと思います。
なお、2行目ので指定している関数の返り値に、検索で一致した文字列の情報が含まれています。
今回は、一致したらどうかの判断だけが行えればよかったので、特に返り値を保持していませんが、必要に応じてご活用ください。
以上、Swift で文字列の検索を正規表現を使用して行う方法でした。
ご参考になれば幸いです。