正規表現
ここでは正規表現の文法については扱いません。
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 |