正規表現

正規表現(「regex」とも呼ばれます)は、文字列内の1つ以上の文字に一致させるために使う検索パターンです。特定の文字、ワイルドカード、文字の範囲に一致させることができます。正規表現は、もともとvigrepなどのUnixユーティリティで使われていました。しかし現在では、複数のプラットフォーム上にある多くのコード編集アプリケーションワードプロセッサでサポートされています。正規表現は、主要なプログラミング言語のほとんどでも使用できます。

正規表現は、"app"のような単純な文字列だけでも構成できます。正規表現の"app"は、"apps"、"applications"、"inapplicable"という単語を含む文字列に一致します。正規表現には、行の先頭と末尾をそれぞれ指定するために使われるアンカー文字("^"と"$")を含めることもできます。そのため、正規表現の"^apps"は"apps are great,"という文字列には一致しますが、"I like apps."という文字列には一致しません。

正規表現には、すべての小文字など、文字の範囲に一致させるために使われるハイフンを含めることができます。たとえば、正規表現の"[a-z]"は"apps"には一致しますが、"Apps"や"123"という文字列には一致しません。正規表現の"[A-Za-z]"は"Apps"に一致し、"[0-9]"は"123"に一致します。正規表現で標準的なワイルドカード文字であるピリオドは、行末文字以外の任意の文字に一致させるために使えます。ピリオドの後にアスタリスク(.*)を付けると0個以上のインスタンスに一致し、プラス記号(.+)を付けると1個以上のインスタンスに一致します。

ハイフン、アスタリスク、プラス記号、またはアンカー文字を含む文字列に一致させる必要がある場合はどうすればよいでしょうか。これらの文字は、バックスラッシュ("\")で「エスケープ」することで、正規表現のパターンに含めることができます。たとえば、"$0.99"を検索する場合、正規表現は"\$0\.99"のようになります。バックスラッシュは、印刷できない文字を検索するためにも使われます。たとえば、"\r"は復帰を、"\n"は改行を、"\t"はタブ文字を表します。

基本的な正規表現を作成するのはそれほど難しくありませんが、高度な正規表現を書くのは簡単ではありません。優れたプログラマーでさえ、複雑な正規表現を最初から正しく書けることはほとんどありません。しかし、正しく使えば、正規表現は特定のテキストを検索、発見、置換するための強力なツールになります。

更新日 August 19, 2013 著者: Per C.

quiz知識をテストする

Taking closeup photos of objects is also called what?

A
Mini photography
0%
B
Micro photography
0%
C
Macro photography
0%
D
Mega photography
0%
Correct! Incorrect!     View the Macro Photography definition.
More Quizzes →

Tech Terms コンピューター辞書

このページの正規表現の定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。