HomeRPAブログページ活動ブログBizRobo!CAMPUS!!第9回~正規表現編~に参加しました!

BizRobo!ブログ

こんにちは!

RPA新人開発者の戸波です。
10月となり、日に日に寒さが増してきていますが、元気に頑張っていきましょう!

ハロウィンのぴょこ

  先日、RPAテクノロジーズ株式会社主催のBizRobo!初心者向けセミナー、「BizRobo! CAMPUS!!」の正規表現編に参加しました。
 今回は、BizRobo! CAMPUS!!正規表現編に参加した感想をお話しします。
 前半は講師の方による講義、後半は練習問題の解説をいただきました。
 BizRobo!で必要な情報の出力や利用をするうえで、必要不可欠になる正規表現の使い方をマスターしたい!という方は、ぜひこのブログを参考にしてください!

 

BizRobo! CAMPUS!!のアジェンダ


  今回は、以下のような流れで進行しました。

20220928 BizRoboCAMPUS正規表現カリキュラム(出典:BizRobo! CAMPUS!!のスライド)

 

正規表現とは


  正規表現(パターンマッチング)とは、文字列の特徴をパターン化し特殊記号を用いて表現するものです。
 例として、郵便番号と携帯電話番号の表記を見てみましょう。
 以下のように、郵便番号は「3桁の数字+ハイフン+4桁の数字」、電話番号は「3桁の数字+ハイフン+4桁の数字+ハイフン+4桁の数字」という形式で表されるという特徴があることがわかります。

 

正規表現の例

  郵便番号や携帯電話番号のような、特徴のある文字列を特殊記号を使ってパターン化して表現することで、文字列に多少の変化があったとしても指定することができます。
 例えば郵便番号が変わったとしても、正しくパターン化できていれば文字列を指定することができます。

 今回例に示した、郵便番号を正規表現で示すと以下のようになります。
 リテラル文字(文字列)とメタ文字(特殊記号)の組み合わせで、正規表現のパターンは構成されています。

20220928 BizRoboCAMPUS正規表現郵便番号の表し方 1(出典:BizRobo! CAMPUS!!のスライド)

 

  BizRobo!では、さまざまなところで正規表現が使われます。
 例として「変数の割当」アクションでは、アクションタブ内の「コンバータ」の「+」ボタンをクリックし、「テキストフォーマット」>「パターンの置き換え」から正規表現のパターンを作成します。

正規表現使う場所

 

今回のBizRobo! CAMPUSでの演習


  今回は6題の演習問題に取り組みましたが、その中の1題について解説します。

20220928 BizRoboCAMPUS正規表現演習問題2 1(出典:BizRobo! CAMPUS!!のスライド)

 

  イベントのテーマ名だけを出力できるような正規表現のパターンを作成します。
 「エクスプレッションの置き換え」で「$1」を選択して要素を出力した結果、イベントのテーマ名だけが出力されるようにします。

 テスト入力値を見てみると、「第1回」、「第2回」…と回数は変化し、そのたびにイベントのテーマ名も変化しています。
 ロボットの安定した稼働のためにも、固定値以外で変化する可能性のあるところはすべてパターンで表すことが望ましいため、「第●回」の数字の部分とイベントのテーマ名の変化に対応できる正規表現のパターンを作成する必要があります。

 それでは、パターンを作成していきましょう。

  テキスト内の「第●回:」と、「~~~編」の部分に分けて考えてみましょう。
 回数を示す「●」の部分は、半角数字1桁の場合は「\d」で表すことができます。

演習2 3

 

 しかし、「第●回」の部分は将来的に開催回数が増えた場合10にも100にもなる可能性があるため、桁数も変わってきます。
 そのため、1回以上の要素の繰り返しを示す「+」を、半角数字1桁を示す「\d」の後に置きます。

演習2 5

 

 これで、開催回数が増えても対応できるパターンとなりました。
 「~~~編」の部分のパターンも考えてみましょう。
 毎回変化するイベントのテーマ名を$1で出力するため、イベントのテーマ名の部分を()で囲みます。

演習2 4

 

 これだけで、イベントのテーマ名「条件分岐」のみを出力することはできています。
 しかし、「条件分岐」の部分が他の単語になった場合は対応できるのでしょうか。
 テスト入力値を「第2回:繰り返し編」に変えて確認してみると、以下のように正しく出力できていないことがわかります。
 これでは、イベントのテーマ名の変化に対応した正規表現のパターンができているとはいえません。

演習2 6

 

 そこで、イベントのテーマ名の部分の正規表現のパターンを作成します。
 イベントのテーマ名には、全角文字以外にも半角文字や記号など、あらゆる文字が入る可能性が考えられます。
 また、文字数も毎回一定ではありません。
 正規表現のメタ文字の中で任意の一文字を示す「.」と、要素の0回以上の繰り返しを示す「*」を組み合わせて、「条件分岐」の代わりに()内に入力します。

演習2 1

 

 先ほどと同じように、「条件分岐」だけを出力することができました。
 確認のためにテスト入力値に別の文字列を入力し、イベントのテーマ名のみを出力できるか試してみても、以下のように正しくイベントのテーマ名が出力できています。

演習2 7

 

  これで、イベントのテーマ名だけを出力する正規表現のパターンが作成できました。

 

感想


 正規表現はメタ文字の種類が多くてなかなか覚えられず、毎回ナレッジベースを見ながらパターンを作成するのがやっとでした。
 また、正規表現のパターンを作成するのに時間がかかる、うまく作れないなどの苦手意識から正規表現のパターン作成を避けてロボットを作成しようとして、結果としてステップ数が増えてしまったり、自分が必要な情報を出力できないなどロボットを利用するうえで差し障りが出るようなこともありました。
 少しずつでも覚えてしまえば、あらゆるシチュエーションにおいて必要な情報だけを出力することができ、ステップ数の節約・実行時間の短縮や使い勝手の良いロボットの開発につながるな、と思いました。
 とはいえすべてを覚えるのはやはり難しいので、まずは半角英数字や全角文字などの「文字を指定するメタ文字」や、要素の繰り返しについての「量指定子」といった文字から徐々に覚え、使いこなせるようにしたいと思います!

 

 BizRobo! CAMPUS!!は、10/26(水)に正規表現編の続編が開催されます!
 今回参加されていない方も参加できるとのことなので、ぜひ参加してみてくださいね。

 今回も、お読みいただきありがとうございました。 次回のRPAブログもお楽しみに!

 

<RPAの導入につきまして>

 本Blogは、お役に立ちましたでしょうか?

 RPAは、一般的な業務システムとは異なり、PoCを実施し、導入・運用開始で終わりでははありません。
 導入時点からようやくスタートです。
 業務効率化、人員最適化等の目標に応じた計画策定や人員配置、自動化ロボットの開発・運用といったPDCAサイクルが必要です。
 弊社では、貴社の課題に適した自動化プランのご提案や開発者育成研修も実施し、貴社と並走したサポートをご提供いたします。

 お気軽にお問い合わせください。
 BizRobo!や弊社サポートについて詳しくはこちら >>> サービス紹介 - BizRobo! (自動化ツール)

 

大阪本社
〒541-0056
大阪市中央区久太郎町2-2-7 山口興産堺筋ビル3階  アクセスマップ
TEL:06-6266-0440   FAX:06-6266-0450