目次
背景
こんにちは。 かりんとうマニア(@karintozuki)です。
今回はKotlinでの正規表現の使い方を紹介します。
正規表現クラスの宣言
KotlinではRegEx
クラスを使ってパターンを定義します。
1 | // a,b,cのうちいずれかにマッチ |
Raw String
正規表現を使用する時にバックスラッシュなどを
エスケープするのってめんどくさいですよね。
Kotlinでは"""
(三つのダブルクオーテーション)で囲ったStringは
そのままの文字列(Raw String)として扱われるので、エスケープ無しで使えます。
1 | // Raw Stringはエスケープ不要 |
パターンが含まれているかチェックする
対象の文字列にパターンが含まれているかどうか
確認する際はcontainsMatchIn
を使います。
1 | // 文字列に数字が含まれているかチェックする |
文字列全体がマッチするかどうかを
確認する時はmatchesを使用します。
1 | // 対象の文字列に数字のみが含まれているか確認する |
抽出
マッチした文章を抽出したい時は
find、もしくはfindAllを使用します。
findの返り値はMatchResult?
型です。
パターンにマッチしない場合はnullを返します。
1 | val target = "1 apple. 2 bananas." |
グループ
パターンの中に()を使うことでグループが使えます。
グループを抽出したいときは、groups
を使用します。groups[0]
にマッチした全文が格納されていて、
1,2,3・・・と()グループの中身が格納されます。
1 | val target = "090-1111-2222" |
置換
置換にはreplace
を使います。
最初のマッチのみ置換するときはreplaceFirst
を使います。
また、${数字}
を使うことで、
マッチした文字列を置換後の文字列に入れることができます。
(日本語での説明は難しすぎて諦めました。下の例を見て雰囲気をつかんでください笑)
このときの数字はグループの時と同じで、0を指定するとマッチ全文が入ります。
1 | val target = "090-1111-2222" |
まとめ
Kotlinの正規表現についてまとめました。
お役に立てれば幸いです。
最後になりますが、
私は個人開発でアプリを作っています。
クイズ感覚で正規表現が楽しめるアプリ、正規表現クエストを作りました。
こんなKotlinの正規表現なんて
ニッチな記事を閲覧してくれる皆様なら笑
楽しんでいただけると思います。
https://www.regex.bedroomcomputing.com/
それじゃ今日はこの辺で。
ところで…
仕事で扱っている技術がレガシーだったり、同じことの繰り返しだったりで
最近、成長してないと感じてませんか?
転職することで、もっと成長できるかもしれません。
いますぐ転職しない人でも、とりあえずエージェントに登録しておいて
案件や年収を眺めるだけでも市場の需要を知ることができ、勉強になります。
ここでエンジニアに人気の転職サイトを紹介します。
レバテックキャリア
エンジニアとして働いていて実務経験があるなら、
求人数の充実具合からレバテックキャリアがおすすめです。
IT転職ではデファクト・スタンダードですね。
▼レバテック キャリア 登録はこちら▼
Tech Clips
Tech Clipsは年収500万以上&自社サービスを持った会社に特化した求人サイトです。
首都圏限定になってはしまいますが、
収入を増やしたい、自社サービスを持った企業への転職をしたい人におすすめです。
関連記事
こちらの記事もおすすめ。
アプリ未経験エンジニアが独学で個人開発Androidアプリを公開するまでにやったこと
PR
あなたの会社はあなたの技術を評価してくれていますか?
技術力を高めようと頑張っているのに、
技術が評価されないような会社にいたらそれは良い環境なのでしょうか?
エンジニアとして技術を高めたいのなら環境を選ぶことも大事です。
レバテックキャリア
エンジニアとして働いていて実務経験があるなら、
求人数の充実具合からレバテックキャリアがおすすめです。
IT転職ではデファクト・スタンダードですね。
▼レバテック キャリア 登録はこちら▼
Tech Clips
Tech Clipsは年収500万以上&自社サービスを持った会社に特化した求人サイトです。
首都圏限定になってはしまいますが、
収入を増やしたい、自社サービスを持った企業への転職をしたい人におすすめです。