マックウィンドウズソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

BBEditで正規表現を使用する方法

編集済み 2 数日前 によって ExtremeHow 編集チーム

BBEdit正規表現検索テキスト処理プログラミングテキストエディタソフトウェア生産性ツールエディタ書くアプリケーション設定ユーティリティコード開発システムスクリプトカスタマイズ

翻訳が更新されました 2 数日前

正規表現(regexと略されることが多い)は、検索パターンを形成する文字のシーケンスです。テキスト解析、データ検証、シンタックスハイライトなどで広く使用されています。macOS向けの人気テキストエディタであるBBEditは、正規表現を強力にサポートしており、ユーザーがテキストを効率的に検索および操作できるようにしています。このガイドでは、BBEditで正規表現を効果的に使用する方法を説明します。基本をカバーし、例を示し、いくつかの高度な機能を紹介します。

BBEditで正規表現を使い始める

例を詳しく見る前に、BBEditでの正規表現の動作について理解を深めましょう。このアプリケーションでは、固定の文字列ではなくパターンを使用して検索を行うことができ、大きな文書を扱う場合や、繰り返しの作業を行う場合に特に便利です。

正規表現の有効化

BBEditで正規表現を使用するには、検索ダイアログでそれを有効化する必要があります。BBEditを開き、Command + Fを押して検索パネルを開きます。そこに「Grepを使用」オプションをチェックします。BBEditでは、「Grep」はUnixツールから派生した同様の構文を持つ正規表現の別名です。

正規表現の基本構文

正規表現を効果的に使用するためには、その基本構文を理解することが重要です。基本的な要素をいくつか見ていきましょう:

検索における正規表現の使用

BBEditでテキストを検索するための正規表現の基本的な例を見てみましょう。

例1: 単純なパターンの発見

ドキュメント内の「cat」という単語のすべてのインスタンスを見つけたいとします。検索ボックスにcatと入力します。「Cat」や「CAT」のようなバリエーションを含めるには、文字クラスを使用するか、大文字小文字を区別しない検索を行います。文字クラスの場合、[Cc][Aa][Tt]と入力します。

例2: 繰り返されるパターンの発見

「fish fish」のような重複した単語を含むドキュメントがあり、それらを見つけたい場合は、パターン(\b\w+\b)\s+\1を使用します。それがどのように機能するか:

例3: アンカーの使用

特定の単語で始まる行を見つけるためにアンカーを使用します。例えば、パターン^StartWordは「StartWord」で始まる行を見つけます。同様に、EndWord$は「EndWord」で終わる行を見つけます。

置換における正規表現の使用

正規表現はBBEditにおいて検索と置換機能にも使用でき、作業を自動化し、ワークフローを合理化します。

例4: テキストの置換

ドキュメント内のすべての数字を「X」に置換する必要がある場合、\dを使用して数字を見つけ、「X」で置換します。検索ボックスに\dを入力し、置換ボックスに「X」を入力します。

例5: テキストのフォーマット

「123-45-6789」とフォーマットされた数字のリストがあり、「(123) 45-6789」と再フォーマットしたい場合は、次のパターンで検索と置換を行います:

Find: (\d{3})-(\d{2})-(\d{4})
Replace: (\1) \2-\3

このパターンはキャプチャされたグループを使用して、番号を希望の形式に再配列します。

例6: 冗長性の削除

ドキュメントに不要なスペースがある場合、それらを\s+を使用して見つけ、単一のスペースに置き換えます。これにより、テキストがクリーンになります。

高度な正規表現技術

BBEditは正規表現の高度な機能をサポートし、より複雑なタスクに対する柔軟性とパワーを提供します。

例7: 肯定的および否定的な見出し

ルックアヘッドは、パターンマッチングを行う際に文字を消費せずに使用されるゼロ幅アサーションです。たとえば、「pie」に続かない「apple」を見つけたい場合、次のようにします:

(?=apple)(?!.*pie)

例8: 肯定的および否定的な後読み

ルックビハインドは、別のパターンの前に出現するパターンをマッチします。「apple」に続かない「pie」を見つけるには、次を使用します:


正規表現のテスト

正規表現が正確で期待通りに動作することを確認するためにテストすることが重要です。BBEditは、ドキュメント内で正規表現の検索および置換の結果を直接を見ることができるテスト機能をサポートしています。

正規表現のデバッグ

BBEditは、検索パネルにある「行を含む行を処理」オプションを提供しており、正規表現がテキストにどのように影響するかをデバッグして理解するのに役立ちます。

BBEditにおける正規表現の実用例

BBEditで正規表現が非常に役立つ実用的な応用例を見ていきましょう。

アプリケーション1: データ抽出

「Name: John Doe, Phone: 123-456-7890」とフォーマットされたエントリを含むドキュメントがあり、電話番号を抽出したい場合、次のパターンを使用します:

Phone:\s*(\d{3}-\d{3}-\d{4})

これは「Phone:」という連続したテキストの後にある電話番号に着目します。

アプリケーション2: データの検証

リストのメールアドレスを検証するために、次のような正規表現パターンを使用できます:

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

これにより、メールの形式が正しいことを確認できます。

アプリケーション3: コードデータの転送

複数行にわたって変数「a」と「b」の値を交換したい場合、例えばlet a = 1, b = 2;のような形式で、次のスワップregexを使用します:

Find: let a = (\d+), b = (\d+);
Replace: let a = \2, b = \1;

アプリケーション4: テキスト内のパターン検出

ドキュメント内でHTMLタグを検索し、問題を特定したり修正したりします:


これにより、任意の開閉HTMLタグにマッチします。

結論

正規表現はBBEdit内でのテキスト操作やデータ処理の強力なツールです。基本を学び、徐々に高度な技術に移行することで、複雑なタスクの簡素化、データの検証、コードの変更などにその可能性を最大限に活用できます。例を通じての実験やテストは、正規表現を効果的に使用するスキルを向上させます。各ユニークなタスクには独自のカスタマイズされた正規表現ソリューションがあり、BBEdit内でのこのツールの多様性と効率性を示しています。

記事の内容に誤りがある場合, あなたは


コメント