正規表現の勉強を始めてみよう!となっていくつか記事を見てみたのですが、実際に手を動かしてみないとあってるかどうか自信がなかったので、とりあえず手を動かすために手を動かしてみました。
上の欄の正規表現に対して、下の欄のTextのマッチする箇所が赤文字になる仕組み。
正規表現自体が間違っている場合は、上の欄の文字が赤くなります。
コアとなる正規表現チェックのコードはこのような感じ。
extension String {
func matches(pattern: String) throws -> [NSRange] {
let re = try NSRegularExpression(pattern: pattern)
let matches = re.matches(in: self, range: NSMakeRange(0, count))
return matches.map { $0.range }
}
}
- エラーがthrowされた場合、正規表現が間違えている
- 一致する箇所がある場合は戻り値の配列の中にそのRangeが入っている
詳細はこちらのリポジトリにて確認出来ます。
https://github.com/akasaaa/RegularExpression
以下の記事を参考にしました。
Swift 3.0での基本的な正規表現を行うextension
以下宣伝
iTunesの曲にふりがなを振るMacアプリを作ってみました。
現状自動で振られるだけのミニマム機能でのリリースですが、今後はアプリ内での編集などの機能を追加していく予定です。
https://itunes.apple.com/jp/app/furikake/id1360607055