BizRobo!CAMPUS!!第10回~正規表現編 続編~に参加しました!
こんにちは!
RPA新人開発者の戸波です。
11月に入り今年も残り2か月を残すところとなりましたが、元気に頑張っていきましょう!
先日、RPAテクノロジーズ株式会社主催のBizRobo!初心者向けセミナー、「BizRobo! CAMPUS!!」の正規表現編の続編に参加しました。
前回のBizRobo!CAMPUS!!~正規表現編~のブログはこちら
今回は、BizRobo! CAMPUS!!正規表現編の続編に参加した感想をお話しします。
前半は講師の方による講義、後半は練習問題の解説をいただきました。
BizRobo!で必要な情報の出力や利用をするうえで、正規表現の使い方をマスターすることは必要不可欠です。
使い方に自信がない方、ある方もぜひ前回のブログとあわせてこのブログも参考にしてください!
BizRobo! CAMPUS!!のアジェンダ
今回は、以下のような流れで進行しました。
今回のBizRobo! CAMPUSでの演習
今回は4題の演習問題に取り組みましたが、その中の1題について解説します。
ファイル名に今年の9月と10月の日付をYYYY/mm/dd形式でつけたファイル群の中から「月の値(mmの部分)が10月を表すファイル」と、「日付の値(ddの部分)が1日~15日を表すファイル」のファイル名をそれぞれ取得します。
①10月の日付が入っている「データ」のExcelファイルを取得する
この課題では、以下画像内の3ファイルを取得します。
実際にロボットを作ってみましょう。
ファイル名はループで取得することができるので、「ファイル繰り返し」を選択します。
対象となるフォルダを「ディレクトリ名」に設定します。
設定したフォルダ内でファイルをループし、取得されたファイル名は「ファイル名」という変数に格納します。
「ファイル名のパターン」の部分に、ファイル名を取得するためのパターンを入力します。
10月のファイルを日付によらずすべて取得するので、「202210」のあとに「\d{2}」をつけ、半角数字2桁で任意の月が続いていれば取得できるようなパターンを作成しています。
その後ろには「_データ.xlsx」ファイル名がまだ続くので、すべて合わせると「202210\d{2}_データ.xlsx」と表記されます。
正規表現のパターンを利用して、ファイルパスを取得することができました。
②各月の1日~15日の日付が入っている「データ」のExcelファイルを取得する
この課題では、以下画像内の5ファイルを取得します。
実際にロボットを作ってみましょう。
パターン作成以外の部分は、先ほどと同様であるため割愛します。
「ファイル名のパターン」の部分に、ファイル名を取得するためのパターンを入力します。
年月によらず、日付が1日~15日のファイルをすべて取得するので、年月の部分は「\d{6}」と表されます。
日付の値が01~15の間のファイルを取得するには、10の位が0の場合は1の位が1~9、1の場合は0~5の場合をパターンで取得できればよいことになります。
範囲内のいずれか任意の1文字に一致すればよい場合は、[ ]を利用します。
例えば、01~09のいずれかをパターンで取得したい場合は、0[1-9]のようにパターンを作成します。
同様に、10~15を取得したい場合は1[0-5]となります。
いずれかのパターンに当てはまる日付をパターンで取得できればよい場合は、|(パイプ)を使います。
パイプの両側にそれぞれのパターンを置くことで、パイプの両側のいずれかのパターンに当てはまるものだけを取得できます。
よって、日付部分のパターンは0[1-9]|1[0-5]という表記となります。
ファイル名の年月日の部分のパターン表記を合わせると、「\d{6}(0[1-9]|1[0-5])」となります。
正規表現のパターンを利用して、ファイルパスを取得することができました。
感想
ロボットを作る中で、正規表現はパターンを考えては間違えることを繰り返しているうちに、だんだん苦手意識が生まれがちになる分野になると思います。
しかし、どのような文字列は取得対象なのか、どのような場合は取得対象ではないのかと整理して考えてパターンを作成できると、失敗も少なくなっていくと感じました。
正規表現に限らずロボットを作るときのすべてにあてはまることにはなりますが、やりたいことすべてを一気に実現させようとするのではなく、実現させたいことをひとつひとつアクションに落とし込んでいくと、手戻りや失敗を減らすことにつながると思いました。
実現したい動きが実現できたところで、アクションの数を節約できないかなど、よりスマートなロボットを作るためにできることをするのがよいのではないかと考えました。
まずはロボットにさせたい動きやパターンを実現させるところから、丁寧にミスなくこなしていきたいと思いました。
次回のBizRobo!CAMPUS!!の予定はまだ未定ですが、これからも学習したことを当ブログにて発信してまいりますので、ぜひお見逃しなく!
今回も、最後までお読みいただきありがとうございました。
次回ブログもお楽しみに!