再利用できる頻出パターン
実務でよく使う小さなライブラリ:- 価格。
[\d,.]+は通貨記号や周辺テキストを切り捨てて、カンマ・小数点付きの数値を捕まえます。(\d{1,3}(?:,\d{3})*(?:\.\d{2})?)まで精緻化すると、1,299.99のような標準フォーマットを正確に拾えます。 - 電話番号。
\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}は米国の典型フォーマット — 括弧の有無、ハイフン・ドット・空白による区切り — を扱います。 - メールアドレス。
[\w.+-]+@[\w-]+\.[\w.]+で標準的なメールアドレスの大半を捕まえられます — 正規表現の代表的なユースケースのひとつです。 - 日付。
\d{4}-\d{2}-\d{2}はISO形式、\w+ \d{1,2}, \d{4}はMay 15, 2026のような形式に対応します。 - HTMLタグの除去。
<[^>]+>で文字列からタグを取り除けます。 - 空白の正規化。
\s+で連続する空白文字を1つの空白にまとめます。
実用的なヒント
- 実物のサンプルでテストする。現実のページには理想化されたサンプルにはない癖があります。信用する前に、実際の対象サイトの出力に対してパターンを走らせてください。
- 非貪欲な量化子(
*?、+?)を使う。短いマッチと長いマッチのどちらでも取れるとき、既定の*と+は最長を取ります。それは多くの場合、望んでいる挙動ではありません。 - キャプチャグループを使う。括弧
()を使えば、大きなマッチの中から本当に欲しい部分だけを取り出せます — データの周辺コンテキストでマッチさせつつ、データだけ残したいときに便利です。 - ロケールの落とし穴に注意。米国フォーマット(
1,299.99)向けに書いた価格正規表現は、カンマと小数点の役割が逆の欧州数値(1.299,99)で誤動作します。日付・電話番号・小数表記でも同様です。
Octoparseのアプローチ
正規表現は書きにくく読みにくいことで有名です。複雑なパターンは雑音にしか見えませんし、小さなミスでも、間違ったデータを黙ってマッチさせたり、正しいデータを取りこぼしたりします。間違いのコストはクラッシュではなく — 後工程でしばらく経ってからやっと気づく、黙って腐ったデータです。 Octoparseは正規表現サポートを抽出ワークフローに直接組み込んでいます — ユーザーは任意のスクレイピングフィールドに対して、エクスポート前の後処理ステップとして正規表現変換を適用できます。スクリプトを別途書く必要はありません。パターン、それを適用するフィールド、洗い出された出力 — すべてが同じタスク定義の中に収まります。 ゼロから正規表現を書くのが得意ではないユーザー向けに、Octoparseは AI支援の正規表現生成 も提供します —ドル金額を取り出す、電話番号を取得する、末尾の改行を削る のように、自然言語で必要なものを記述すると、AIが動くパターンを生成します。生成されたパターンは、プラットフォーム内で実際のスクレイピング結果に対してテストでき、何にマッチするかを確認し、必要なら調整できます。AIが構文を扱い、ユーザーが結果を検証する分担です。
これは、スクレイピングのワークフローにおける正規表現の2つの実コストに対処しています — 白紙からパターンを書くコストと、それが実データで意図通り動くか検証するコストです。両方をビジュアルエディタの中に吸収していて、別途のエンジニアリングタスクとして残しません。