「膨大なテキストデータから特定のパターンを抽出したい」
「手作業でのテキスト置換作業に時間がかかりすぎる」
「CSVファイルから電話番号やメールアドレスだけを取り出したい」
このような悩みを抱えているなら、Makeの正規表現(RegEx)機能があなたの救世主になるかもしれません。
私は日々、クライアントから送られてくる大量のデータ処理に追われていました。
特に困っていたのが、フォームから収集したデータの整形作業です。
電話番号の形式がバラバラだったり、住所から都道府県名だけを抽出する必要があったり。
そんな時に出会ったのが、Makeの正規表現機能でした。
今では、以前は3時間かかっていた作業を、わずか5分で完了できるようになりました。
この記事では、Makeで正規表現を使ってテキスト処理を自動化する具体的な方法を、実例を交えながら詳しく解説します。
プログラミング経験がなくても大丈夫。
基本から応用まで、段階的に理解できるように構成しています。
なぜMakeで正規表現を使うべきなのか?従来の手作業との決定的な違い
正規表現(Regular Expression、略してRegEx)は、文字列のパターンを記述するための特別な記法です。たとえば、メールアドレスや電話番号、郵便番号など、特定の形式を持つテキストを効率的に見つけ出したり、置換したりできます。
従来のExcelやGoogleスプレッドシートでも、FIND関数やSUBSTITUTE関数を使ってテキスト処理はできました。しかし、これらには大きな限界があります:
- 複雑なパターンマッチングができない(例:「090」「080」「070」で始まる11桁の数字を一度に抽出)
- 複数の条件を組み合わせた処理が困難
- 大量のデータ処理で動作が重くなる
- 他のツールとの連携が手動になってしまう
実際に私が経験した例をお話しします。あるECサイトの運営会社から、10万件の顧客データから電話番号を統一フォーマットに変換する依頼を受けました。データには以下のような多様な形式が混在していました:
- 090-1234-5678(ハイフン区切り)
- 09012345678(ハイフンなし)
- 090 1234 5678(スペース区切り)
- (090)1234-5678(括弧付き)
Excelで処理しようとすると、それぞれの形式に対して別々の数式を作成し、条件分岐を複雑に組み合わせる必要がありました。しかも、処理には丸一日かかる見込みでした。
そこでMakeの正規表現機能を使ったところ、わずか1つのシナリオで全ての形式に対応でき、処理時間も30分に短縮できました。さらに、一度作成したシナリオは何度でも再利用可能で、新しいデータが来ても即座に処理できるようになりました。
Makeで正規表現を使うメリットは、単なる時間短縮だけではありません。APIやWebhook、データベースとの連携により、完全自動化されたワークフローを構築できる点が最大の強みです。たとえば、フォームから入力されたデータを自動で整形し、CRMに登録し、確認メールを送信する、といった一連の流れを人の手を介さずに実行できます。
Makeで正規表現を使う具体的な方法:基本から応用まで
では、実際にMakeで正規表現を使う方法を見ていきましょう。初心者の方でも理解できるよう、基本的な設定から順を追って説明します。
1. Text Parserモジュールの基本設定
Makeで正規表現を使うには、主に「Text Parser」モジュールを使用します。このモジュールには複数の機能がありますが、最もよく使うのは以下の3つです:
- Match pattern:テキストから特定のパターンに一致する部分を抽出
- Replace:パターンに一致する部分を別のテキストに置換
- Match elements:複数の一致結果を配列として取得
まず、簡単な例から始めましょう。メールアドレスを抽出する場合の設定方法です:
1. 新しいシナリオを作成し、Text Parserモジュールを追加
2. 「Match pattern」を選択
3. Pattern欄に以下の正規表現を入力:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
4. Text欄に処理したいテキストを入力(または前のモジュールから受け取る)
この正規表現は、一般的なメールアドレスの形式にマッチします。分解して説明すると:
[a-zA-Z0-9._%+-]+
:@マークより前の部分(英数字と一部の記号)@
:アットマーク[a-zA-Z0-9.-]+
:ドメイン名の部分\.
:ピリオド(エスケープが必要)[a-zA-Z]{2,}
:トップレベルドメイン(2文字以上の英字)
2. よく使う正規表現パターンと実例
実務でよく使用する正規表現パターンをまとめました。これらをテンプレートとして保存しておくと、作業効率が格段に上がります。
電話番号の抽出と統一化
日本の携帯電話番号を統一フォーマットに変換する例:
- パターン:
0[789]0[-\s]?\d{4}[-\s]?\d{4}
- 置換後:
$1-$2-$3
(グループ化を使用)
郵便番号の処理
- パターン:
〒?(\d{3})[-\s]?(\d{4})
- 用途:「〒」記号の有無に関わらず郵便番号を抽出
URLの抽出
- パターン:
https?://[^\s]+
- 用途:テキスト内のすべてのURLを抽出
価格情報の抽出
- パターン:
¥?[\d,]+円?
- 用途:円記号の有無に関わらず金額を抽出
3. 高度な使い方:複数条件とグループ化
より複雑な処理が必要な場合は、グループ化と条件分岐を活用します。たとえば、住所から都道府県名を抽出し、地域ごとに分類する場合:
パターン例:(東京都|神奈川県|埼玉県|千葉県)|(大阪府|京都府|兵庫県)
このパターンを使うと、関東圏(グループ1)と関西圏(グループ2)を区別して抽出できます。Makeのルーターモジュールと組み合わせることで、地域別に異なる処理を実行することも可能です。
4. エラー処理と注意点
正規表現を使う際によくある失敗とその対処法:
- エスケープ忘れ:特殊文字(. * + ? など)は必ず
\
でエスケープ - 貪欲マッチング:
.*
は最長一致するため、.*?
(最短一致)を使う - 改行の扱い:複数行にまたがるテキストは
(?s)
フラグを使用 - 大文字小文字:
(?i)
フラグで大文字小文字を無視
実際に私が陥った失敗例を共有します。HTMLタグを除去しようとして<.*>
というパターンを使ったところ、<p>テキスト</p>
全体が消えてしまいました。正しくは<[^>]+>
を使うべきでした。
他の自動化ツールとの比較:なぜMakeが最適なのか
正規表現を使えるツールは他にもありますが、Makeには独自の強みがあります。主要な競合ツールと比較してみましょう。
Zapierとの比較
- Zapier:正規表現機能は有料プランのみ、処理速度が遅い
- Make:無料プランでも正規表現が使用可能、視覚的に分かりやすい
プログラミング(Python等)との比較
- プログラミング:自由度は高いが、環境構築やメンテナンスが必要
- Make:ノーコードで実装可能、他のサービスとの連携が簡単
Excelマクロとの比較
- Excelマクロ:ローカル環境に依存、スケジュール実行が困難
- Make:クラウドベースで24時間自動実行、API連携が豊富
特に注目すべきは、Makeの料金体系です。月間1,000オペレーションまでは無料で利用でき、小規模な自動化なら十分に対応できます。また、視覚的なフローチャート形式でシナリオを構築できるため、チームメンバーへの引き継ぎも容易です。
私のクライアントの中には、当初Pythonスクリプトで正規表現処理を行っていた企業がありました。しかし、開発者が退職した後、誰もメンテナンスできなくなってしまいました。Makeに移行してからは、非エンジニアのスタッフでも処理フローを理解し、必要に応じて修正できるようになりました。
今すぐ始める:次のステップと実践的なアドバイス
ここまで読んで、Makeの正規表現機能の可能性を感じていただけたでしょうか。最後に、実際に始めるための具体的なステップをお伝えします。
ステップ1:無料アカウントの作成
まずはMakeの無料アカウントを作成しましょう。クレジットカード情報は不要で、すぐに使い始められます。
ステップ2:簡単なシナリオから始める
最初は、メールアドレスの抽出など、シンプルなパターンから練習することをおすすめします。成功体験を積み重ねることで、より複雑な処理にも自信を持って取り組めるようになります。
ステップ3:テンプレートの活用
Makeには豊富なテンプレートが用意されています。正規表現を使った実用的なシナリオも多数あるので、これらを参考にしながら学習を進めましょう。
ステップ4:コミュニティへの参加
Makeには活発なユーザーコミュニティがあります。分からないことがあれば、遠慮なく質問してみてください。私も最初は基本的な質問から始めました。
正規表現は一見難しそうに見えますが、基本的なパターンを覚えてしまえば、驚くほど多くの場面で活用できます。手作業で時間を浪費している作業があれば、ぜひMakeの正規表現機能を試してみてください。
より詳しいMakeの使い方については、Make完全ガイド記事でも解説していますので、ぜひ参考にしてください。自動化の第一歩を踏み出すことで、本来注力すべき創造的な仕事により多くの時間を使えるようになるはずです。