初めてのkotlin

kotlinによるAndroidアプリ開発での気付き

正規表現

ここでは正規表現の文法については扱いません。

Regexのメソッドの使い方にいつも悩むので、 その覚書としてのメモになります。

perl正規表現は、$str=~ /abc/と書きさえすれば、 正規表現を活用するあらゆる処理が可能となりますが、 kotlinだとなかなかそうは行きません。

判定だけを行いたい時、 一致箇所が欲しい時、 複数の一致箇所を全て抽出したい時で、 求める戻り値が違うので、メソッドを使い分けなければなりません。

また、部分一致なのか($str=~ /abc/)、 全体を一致させたいのか($str=~ /^abc$/s)でもメソッドが分かれていて、 しかも、メソッド名に法則性を感じないので、 これらの使い分けでいつも悩みます。

なので、整理のために一覧にしました。

perlなど、正規表現を多用するスクリプト系から来た人は、 ^ $ \A \zなどのメタ文字が有効なようですので、 部分一致だけ覚えればいいと思いますが、 一応全て書きます。

メソッド 戻り値
部分一致系
containsMatchIn Boolean
find MatchResult
findAll Sequence<MatchResult>
全体一致系
matches Boolean
matchEntire MatchResult
分割
split List<String>
置換
replaceFirst String
replace String