正規表現で行を抽出 · 無料オンライン | DedupeLines
DedupeLines
無料 · 登録不要 ブラウザー内処理 · アップロード不要 · 1 行ずつ正規表現

正規表現で行を抽出

リストを貼り付け、正規表現を 1 本書くだけで一致する行だけが手に入ります。ログ整理、リード抽出、「条件に合う行だけ欲しい」あらゆる場面に。

プリセット
入力 · 0 行
出力 · 0 行
左側に何か貼り付けてください — 結果がここに表示されます。

または Ctrl+Enter

入力行数 0
空行数 0
一致 0
不一致 0
出力行数0

このツールを使うべき場面

ガイド
01 / ログ整理

5 万行のサーバーログから ERROR/WARN 行だけを残す。サーバーで grep を走らせる必要はありません。

02 / リード抽出

メールアドレスの長い一覧から、gmail だけ、または @会社名.com ドメインだけを取り出します。

03 / URL 監査

サイトマップのダンプから特定パターンに合う URL だけを残す。Excel のフィルタダイアログは不要。

04 / 正規表現の調整

正規表現をビジュアルに反復: パターンを編集 → 実行 → 残る行を確認。よく使う 6 つのプリセットですぐ始められます。

使い方

3 ステップ
  1. 01

    テキストを貼り付けるか .txt をドロップ

    デスクトップで 10 万行 / モバイルで 5,000 行までライブプレビュー。それを超える入力は自動で大容量モードに切替 — 同じエンジン、ページは反応し続け、.txt ダウンロードを返します。

  2. 02

    正規表現を 1 つ書く

    JavaScript 風味(スラッシュは不要)。Email、URL、IP、日付、時刻、電話の 15 プリセットに加え、abc プレースホルダーを置き換える Starts/Ends/Contains などのパラメトリックパターンも用意。

  3. 03

    実行を押す

    一致した行は残り、それ以外は削除されます。実行前に大文字小文字、トリム、空行削除、重複削除、シャッフルのトグルを切り替え可能。

内部の仕組み

技術ノート
アルゴリズム
JavaScript ネイティブ RegExp · 1 行に 1 回 re.test()

V8 / SpiderMonkey と同じ ECMA-262 エンジン。「大文字小文字を区別」トグルが ON でない限り i フラグ(大文字小文字無視)がデフォルト。

スループット
10 万行のマッチを 2024 年 M3 MacBook Air で ≈380 ms

O(n) スキャン、マッチ文字列以外の行ごとアロケーションなし。1 回あたり 80 MB のハードリミットでギガバイト級入力を防止。

スレッディング
ファイル ≥ 2 MB または ≥ 10 万行で Web Worker

メインスレッドは反応し続け、Worker が同じ dedupe.js エンジンを読み込んで結果を返却。

プライバシーと制限

どこに何が残るか

すべてブラウザー内で実行。テキストは決してアップロードされません — fetch なし、XHR なし、入力データへのアナリティクスなし。ページを読み込んだあとはネットを切断してもツールは動作。1 回あたり 80 MB のハードリミットで複数ギガバイトのログでタブがフリーズするのを防止。

よくある使用シーン

出番

大規模なログフィルタリング

10 万行のサーバーログから ERROR / WARN / FATAL の行だけを残す。SSH で入って grep のバリエーションを試すのではなく、pattern を視覚的に反復。

リードリストのクリーンアップ

5 万行のメールエクスポートから gmail.com や @自社.com のアドレスだけを抽出 —— Excel のフィルタダンスもアップロードもなし。

サイトマップの監査

20 万行のサイトマップダンプを、特定のパスパターンにマッチする URL だけに絞る。ホームの重複行削除ツールと組み合わせれば一意な URL リストになる。

データを手放さずに pattern をテスト

自分の実データに対して regex を反復(regex101 のおもちゃサンプルではなく)—— 何もアップロードせずに。調整、実行、マッチを確認。

パフォーマンスと比較

実測値
指標 備考
スループット · 10 万行 DedupeLines: Chrome 132 で約 380 ms · GNU grep -E: 約 160 ms 測定機: 2024 年 M3 MacBook Air。参照データセット: 10 万行のログ、pattern /^(ERROR|WARN)/。素の速度では grep が勝つ;DedupeLines は「SSH 不要、インストール不要、どのブラウザータブでも動作 —— iPad やロックダウンされた会社の Windows でも」で勝つ。
メモリフットプリント DedupeLines: JS ヒープで入力の約 3 倍 · grep: RSS で入力の約 1.2 倍 ブラウザー JS のオーバーヘッド vs ネイティブバイナリ。1 回あたり 80 MB のハードリミットで OOM タブクラッシュを防止;50 MB のログは常駐メモリ 200 MB 以下に収まる。
非同期オフロード閾値 DedupeLines: デスクトップで 2 MB / 10 万行 · regex101.com: エディタ約 5 万文字上限 閾値を超えると DedupeLines は Web Worker にオフロード;メインスレッドは応答可能のまま。iOS Safari のメモリ制限がモバイル側のより低い閾値(300 KB / 5,000 行)を決めている。
正規表現エンジン DedupeLines: ECMA-262 §22.2 RegExp · grep: POSIX BRE / ERE JavaScript ネイティブ RegExp —— Chrome、Firefox、Safari、Edge で同じエンジン。Lookbehind、名前付きグループ、Unicode プロパティエスケープ(\p{…})すべてサポート。grep の POSIX 風味はより保守的。
コールドスタートレイテンシ DedupeLines: 0 ms(ページ読み込み済み) · リモートへの SSH: 200-500 ms RTT リモートマシンへのラウンドトリップなし。ページがロードされれば、regex はキー押下のように速く、ツールはオフラインでも動作する。

よくある質問

回答

どの正規表現フレーバーを使っていますか?

JavaScript 組み込みの RegExp(ECMA-262)。後読み、名前付きグループ、Unicode プロパティエスケープ(\p{…})はモダンな Chrome、Firefox、Safari、Edge で動作。パターンの前に / を付けないでください。入力欄を囲むスラッシュは装飾です。

正規表現が何もマッチしません。なぜ?

主な原因は 3 つ: (1)「空白をトリム」トグルが OFF で行末に空白があり ^…$ アンカーが壊れている、(2)「大文字小文字を区別」トグルが ON で文字の大小が一致しない、(3) スラッシュをエスケープした — JavaScript 正規表現ではスラッシュのエスケープは不要。

パターンを複数行に渡ってマッチさせられますか?

いいえ — このツールは設計上 1 行ごとに正規表現を実行します。行をまたぐマッチが必要なら、dotall フラグや multiline アンカーを直接サポートする regex101.com のような正規表現 IDE を使ってください。

データはどこかに送信されますか?

いいえ。マッチはすべてブラウザータブ内で実行されます。アップロードのステップ、サーバー側処理、貼り付けたテキストへのテレメトリーはありません。読み込み後に Wi-Fi を切ってもツールは動作します。

ファイルサイズの制限は?

1 回あたり 80 MB のハードリミット。デスクトップで 2 MB(モバイルで 300 KB)を超えると大容量モードに切り替わり、テキストは textarea を経由せず、処理は Web Worker で行われ、結果は .txt としてダウンロードされます。