例 |
正規表現の例 |
数値範囲 |
浮動小数点数 |
メールアドレス |
IPアドレス |
有効な日付 |
数値の日付をテキストに変換 |
クレジットカード番号 |
行全体の一致 |
重複行の削除 |
プログラミング |
近くの2つの単語 |
落とし穴 |
カタストロフィックバックトラッキング |
過剰な繰り返し |
サービス拒否攻撃 |
すべてをオプションにする |
繰り返しキャプチャグループ |
Unicodeと8ビットの混在 |
このサイトの詳細 |
はじめに |
正規表現クイックスタート |
正規表現チュートリアル |
置換文字列チュートリアル |
アプリケーションと言語 |
正規表現の例 |
正規表現リファレンス |
置換文字列リファレンス |
書籍レビュー |
印刷可能なPDF |
このサイトについて |
RSSフィードとブログ |
ブール演算子を使用する一部の検索ツールには、「near」と呼ばれる特別な演算子もあります。「term1 near term2」を検索すると、互いに一定の「距離」内にあるterm1とterm2のすべての出現箇所が検出されます。距離は単語数です。実際の数は検索ツールによって異なり、多くの場合設定可能です。
適切な正規表現を使用すれば、同じタスクを簡単に実行できます。
正規表現を使用すると、近くの2つの単語に一致するパターンなど、ほぼすべてのテキストパターンを記述できます。このパターンは比較的単純で、3つの部分で構成されます。最初の単語、指定されていない単語の数、および2番目の単語です。指定されていない単語は、短縮文字クラス\w+で一致させることができます。単語間のスペースやその他の文字は、\W+(今回は大文字のW)で一致させることができます。
完全な正規表現は次のようになります。\bword1\W+(?:\w+\W+){1,6}?word2\b。量指定子{1,6}?を使用すると、正規表現では「word1」と「word2」の間に少なくとも1つの単語が必要になり、最大6つの単語が許可されます。
単語が逆の順序で出現する可能性がある場合は、反対のパターンも指定する必要があります。
\b(?:word1\W+(?:\w+\W+){1,6}?word2|word2\W+(?:\w+\W+){1,6}?word1)\b
単語リストから任意の2つの単語のペアを見つけたい場合は、次を使用できます。
\b(word1|word2|word3)(?:\W+\w+){1,6}?\W+(word1|word2|word3)\b
最後の正規表現は、自分自身の近くの単語も見つけます。例えば、word2 near word2に一致します。
| クイックスタート | チュートリアル | ツールと言語 | 例 | リファレンス | 書籍レビュー |
| 正規表現の例 | 数値範囲 | 浮動小数点数 | メールアドレス | IPアドレス | 有効な日付 | 数値の日付をテキストに変換 | クレジットカード番号 | 行全体の一致 | 重複行の削除 | プログラミング | 近くの2つの単語 |
| カタストロフィックバックトラッキング | 過剰な繰り返し | サービス拒否攻撃 | すべてをオプションにする | 繰り返しキャプチャグループ | Unicodeと8ビットの混在 |
ページURL:https://regular-expressions.dokyumento.jp/near.html
ページ最終更新日:2021年8月20日
サイト最終更新日:2024年3月15日
著作権©2003-2024 Jan Goyvaerts. All rights reserved.