Linux
 Computer >> コンピューター >  >> システム >> Linux

正規表現の初心者向けガイド

正規表現の初心者向けガイド

テキストの中で繰り返しパターンを見つけようとしたことがありますか?ブラウザやワードプロセッサの検索機能のようなものを使用したかもしれませんが、もっと複雑なものを見つける必要がある場合は、ことわざの干し草の山から針を見つけるようなものです。

幸いなことに、文字に至るまでのテキストの正確なパターンを選択する方法があります。これは正規表現(RegEx)と呼ばれ、テキスト検索のマスターになることができます。

正規表現はどこで使用できますか?

UnixとLinuxで人気が出ましたが、正規表現はMicrosoftWordを含むさまざまなパッケージで利用できます。

正規表現の初心者向けガイド

正規表現は、grepを含むいくつかの注目すべきLinuxプログラムで最も顕著に使用されています。 、Awk およびSed

たとえば、PCのUSBデバイスを確認したい場合があります。 lspciを使用する 、すべてのデバイスのリストが表示され、USBエントリを自分で見つける必要があります。代わりに、以下を使用してUSBデバイスのみを表示することもできます。

lspci | grep "USB"

これは、実際のRegExの最も単純な例です。これは、ターミナルで正規表現を使用する最も一般的な方法ですが、それだけではありません。現在、RegExのサポートは、テキストエディタからファイルマネージャまで、さまざまな種類のソフトウェアで利用できます。

パターンの検索

おそらく*を使用したことがあります 文字。ターミナルでファイルまたはフォルダを選択するときにワイルドカードとして機能します。たとえば、フォルダ内のすべてのJPGファイルを一覧表示するには、次を使用できます。

ls *.jpg

上記に相当する正規表現は次のようになります:

ls | grep -E "\.jpg"
正規表現の初心者向けガイド

jpgファイルとpngファイルの両方を検索するには、次を使用します。

ls | grep -E "(\.jpg|\.png)"

範囲

パターンではなく特定の範囲の文字を検索する場合は、角かっこで定義することで検索できます。たとえば、[a-z]を使用する場合 パターンとして、これはアルファベットの小文字で構成される文字列と一致します。

ご想像のとおり、[A-Z] 大文字のみを選択します。大文字と小文字の両方で任意の範囲の文字を選択するには、式が[a-zA-Z]に変更されます。 。

パターンの特定の数のインスタンスを見つけるために、中括弧で囲むことができます。 {5} パターンの5つのオカレンスを返します。数値の範囲を使用することもできるため、{5,10} 5〜10個のインスタンスが表示されます。

メタ文字

正規表現では、メタ文字と呼ばれる2文字の文字列の一部を検索することもできます。これらは、シェルで使用した可能性のあるワイルドカードの一致に似ています。

主なものは、他の単一の文字を表す単純なドットです。パターンc.llを使用した場合 、「cell」だけでなく「cull」や「call」にも一致します。

ドットの後にアスタリスクを入力すると、それを使用して無限の数の文字に一致させることができます。例:.*board 「キーボード」と「スケートボード」の両方にマッチします。 「キー」と「スケート」の文字数が異なっていても。

エスケープ

さまざまな種類の画像ファイルを選択したこの例では、ピリオド(“ \ .jpg”)の前に円記号を使用していることに気付いたかもしれません。これが、正規表現で特殊文字をエスケープする方法です。

それらを使用しなかった場合、パターンはファイルの拡張子、「。jpg」や「.png」などの文字列だけでなく、「ajpg」や「opng」にも一致します。 .を忘れないでください は任意の文字に一致するワイルドカードです。

アンカーと境界

アンカーと境界により、探しているものをより正確に定義できます。

「コンピューター」という個々の単語のみを検索し、前後に他の文字を付けないようにするには、パターンを\<computer\>として定義する必要があります。 。

行の最初または最後に表示されるパターンを具体的に検索することもできます。これは^で実現されます および$ それぞれ文字。

したがって、行の先頭に「computer」という単語が表示されているエントリのみを検索する場合、パターンは^computerのようになります。 。逆に、行の終わりにある場合、パターンはcomputer$に変更されます。 。

これらはRegExの単純なルールであり、それらを組み合わせて、探しているパターンを正確に見つけることもできます。 1つのテキスト文字列を使用して、行の先頭の文字範囲、末尾の交互の単語、特定の日付、または年の範囲を検索できます。

正規表現をマスターするには、正規表現のチートシートを確認することを忘れないでください。


  1. タッチタイピングの初心者向けガイド

    タッチタイピング、つまり、キーボードを見る必要なしに10本の指すべてでタイピングするスキルは、タイピング速度を大幅に向上させたい場合に役立つスキルです。タッチタイピングを初めて使用する場合は、ここに初心者向けのガイドがあります。 タッチタイピングとは タッチタイピングはタッチスクリーンとは何の関係もありません。基本的に、タッチタイピングとは、キーボードの文字を見なくても、すべての指で入力できる機能です。これは、キーボード上の各文字、数字、記号の配置を記憶するだけでなく、どの指がどのキーを制御するかを記憶することによっても実現できます。 タッチタイピングの利点 最初は、タッチタイピングを使用

  2. HTMLとCSSの初心者向けガイド

    今日、私たちのサイトを支えているさまざまなテクノロジーを見つけることができますが、インターネット全体で最も重要な2つのファイルはHTMLとCSSです。はい、複雑なものが必要な場合は、それに対応するためのテクノロジーもさらに必要になります。ただし、単純な個人用Webページを作成するだけの場合は、HTMLとCSSだけで十分です。 基本の紹介 これは、HTMLとCSSの初心者向けガイドであり、簡単なサイトをできるだけ早く作成する方法を示しています。結果は必ずしも「標準に準拠」しているとは限りません。さらに微調整して拡張したい場合は、自分で読む必要があります。ただし、これはサイトであり、ほとんどのブ