プログラミングなどでよく耳にする「正規表現」ですが、言い換えると「様々な文字列を一つの形式に置き換えた表現方法」になります。
そんな正規表現ですが、プログラミングとよく似たRPAでも使えます。正規表現を使うことで、複雑な検索を設定することが出来るなどとても便利です。
しかし、いきなり初心者が使用するには少しハードルが高く、またRPAのツールごとに、使い方が異なるため使用する際は各RPAツールをよく調べた上で、設定する必要があります。
今回は正規表現とはどういうものなのかの紹介と、RPAツールの一つであるUiPathにおけるよく使う正規表現や初心者でも簡単に正規表現を準備する方法をご紹介します。
目次
正規表現とは
正規表現を使いこなすことで、より高度な設計が可能になる!
正規表現はどんな時に使用するのか
正規表現は様々な文字列を別の一つの形式に置き換えた表現方法です。
正規表現は以下のような使用方法があります。
正規表現を使用すると、強力、柔軟、そして効率的な方法でテキストを処理できます。
正規表現によるパターン一致の広範な表記法を使用すると、大量のテキストをすばやく解析し、次のことを行うことができます。
- 特定の文字パターンを検索する
- テキストを検証して、定義済みのパターン (電子メール アドレスなど) と一致することを確実にする
- テキスト部分文字列の抽出、編集、置換、または削除を行う
- 抽出された文字列をコレクションに追加して、レポートを生成する
文字列処理や大量のテキストを解析する多くのアプリケーションにとって、正規表現は欠くことのできないツールです。
※より詳細を知りたい方は以下のリンクより確認してください。
.NET の正規表現
正規表現チェッカーを活用
使用したい正規表現が正しく機能するかを確認したい時には、「正規表現チェッカー」を利用することもひとつの方法です。
ほとんどの正規表現チェッカーは「入力するテキスト」と「使用したい正規表現」さえあれば使用できる簡単なつくりになっていますので、ご自身が使いやすいサイトやツールを試してみてください。
「.NET 正規表現チェッカー」で検索すると見つけることができます。
UiPathでよく使用する正規表現の例
よく使う文字列と数字の抽出をご紹介!
今回はUiPathでよく使う「文字列/数字の抽出」をご紹介します。
2つの特定の文字列の間にある文字列を抽出する正規表現
使用する正規表現は以下となります。
(?<=開始文字列).*?(?=終了文字列)
業務例:固定した文章の間にある任意の文字の取得
入力するテキスト:実行が成功したデータはパターン1、パターン2、パターン3です
実際に使用する正規表現:(?<=実行が成功したデータは).*?(?=です)
抽出されるテキスト:パターン1、パターン2、パターン3
UiPathの設定詳細
実行結果
2つの特定の文字列の間にある数字を抽出する正規表現
使用する正規表現は以下となります。
(?<=開始文字列)\d+(?=終了文字列)
業務例:固定した文章の間にある任意の数字の取得
入力するテキスト:顧客番号012は未登録です
実際に使用する正規表現:(?<=顧客番号)\d+(?=は未登録です)
抽出されるテキスト:012
UiPathの設定詳細
実行結果
UiPathの機能「正規表現ビルダー」の使い方
UiPathの正規表現ビルダーを使用することで、正規表現が苦手な方でも簡単に作成可能!
UiPathでは「正規表現チェッカー」と同じ役割を持つ、「正規表現ビルダー」という機能があります。
正規表現ビルダーの呼び出し方の紹介
正規表現ビルダーは以下の3種類のアクティビティから使用できます。
- Is Match(テキストの一致を確認)
一致するかどうかをBoolean型で返し、一致したかどうかの結果を確認する時に使用します。 - Matches(一致するパターンを探す)
一致したパターンをString型で返し、一致したパターンを検索する時に使用します。 - Replace(一致するパターンを置換)
一致したパターンを置き換えた結果をString型で返し、置換したい場合に使用します。
アクティビティおける正規表現のオプションについては以下を参照してください。
※本記事はUiPath2024.10.0のバージョンを基に作成しており、
使用しているバージョンによって日本語のアクティビティ名が変更になっている可能性がありますので、ご利用する際はお使いのバージョンも併せてご確認ください。
正規表現ビルダーの使い方の紹介
使用したいアクティビティの「正規表現を設定…」を開くと、正規表現ビルダーを開けます。
正規表現ビルダーの各フィールドをご紹介します。
- 「テスト用テキスト」に検証したいテキストを入力することで、一致したパターンがハイライトされます。
- 「正規表現」欄には「リテラル」「数字」「指定した文字」「指定外の文字」「任意の1文字」「任意の英数字」「空白文字」「行頭」「行末」「カスタム」などが選べ、使用したい条件に合わせて選択が可能です。
- 「値」欄には「正規表現」欄で設定した条件の実際の値を設定します。
- 「量指定子」欄は「指定回数」「0回以上の繰り返し」「1回以上の繰り返し」など、検索を行う回数条件を指定できます。
- 「量指定子の数字」欄は「指定回数」「x回からy回の繰り返し」の時に数字で回数を指定でき、それ以外は自動で正規表現が割り当てられます。
- 「+」マークは追加の条件を設定でき、「△」「▽」は条件の順番の変更、「×」は条件の削除が行えます。
- 「完全式」欄には最終的に使用予定の正規表現が生成されます。
- 「正規表現のオプション」欄で「大文字小文字」の区別のチェックを選択できます。
正規表現欄の選択候補
量指定子の選択候補
最後に、保存を押すことで、アクティビティの「パターン」欄に完成式が設定され、使用できるようになります。
正規表現を使いこなすことで、複雑な条件での検索や置換ができるようになりますので、ぜひ一度お試しください。
また、今回ご紹介した正規表現はほんの一部になります、もっと詳しく知りたい方は、是非お気軽の問い合わせてください。私たちなら業務に対してご提案やサポートができるかもしれません。
ペネトレイター株式会社 髙橋