C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のRegexクラスとは?主なメソッド一覧と使い方を実例付きで解説

C#のRegexクラスとは

Regexクラスは、正規表現を扱うためのクラスです。正規表現とは、入力テキストとの照合(マッチング)を行うためのパターンのことであり、文字列の検索や置換、抽出などを柔軟かつ効率的に行うことができます。

ここでは、Regexクラスでよく使われる主要なメソッドを紹介します。

Regexクラスの主なメソッド一覧

No.メソッドと説明
1public bool IsMatch(string input)
Regexコンストラクターで指定した正規表現が、指定された入力文字列内に一致する部分を持つかどうかを判定します。
2public bool IsMatch(string input, int startat)
Regexコンストラクターで指定した正規表現が、入力文字列内の指定した開始位置以降に一致する部分を持つかどうかを判定します。
3public static bool IsMatch(string input, string pattern)
指定した正規表現パターンが、指定された入力文字列内に一致する部分を持つかどうかを判定します。
4public MatchCollection Matches(string input)
指定された入力文字列を対象に、正規表現に一致するすべての箇所を検索します。
5public string Replace(string input, string replacement)
指定された入力文字列内で、正規表現パターンに一致するすべての文字列を、指定した置換文字列に置き換えます。
6public string[] Split(string input)
Regexコンストラクターで指定した正規表現パターンが定義する位置で、入力文字列を部分文字列の配列に分割します。

使用例:Matches()メソッドで文字列を検索する

次の例では、Matches()メソッドを使って、指定した入力文字列から正規表現に一致する単語をすべて抽出します。この例では、「mで始まりeで終わる単語」を検索しています。

サンプルコード

using System;
using System.Text.RegularExpressions;

namespace RegExApplication {
    class Program {
        private static void showMatch(string text, string expr) {
            Console.WriteLine("正規表現: " + expr);
            MatchCollection mc = Regex.Matches(text, expr);
            foreach (Match m in mc) {
                Console.WriteLine(m);
            }
        }

        static void Main(string[] args) {
            string str = "make maze and manage to measure it";
            Console.WriteLine("mで始まりeで終わる単語の一致:");
            showMatch(str, @"\bm\S*e\b");
            Console.ReadKey();
        }
    }
}

実行結果

mで始まりeで終わる単語の一致:
正規表現: \bm\S*e\b
make
maze
manage
measure

このように、RegexクラスとMatches()メソッドを組み合わせることで、複雑な条件に合致する文字列を簡単に抽出できます。正規表現を活用すれば、テキスト処理の幅が大きく広がりますので、ぜひさまざまなパターンで試してみてください。

  1. ファイアウォールとは?その目的と6つの種類をわかりやすく解説

    自分のパソコンでも、サイバー犯罪を題材にしたドラマでも、「ファイアウォール」という言葉を耳にしたことがある人は多いでしょう。ファイアウォールはパソコンのセキュリティにおいて重要な役割を果たし、不要な接続やハッカーの侵入などを防いでくれます。 ファイアウォールやネットワークセキュリティにはさまざまな種類があります。自分の大切な個人情報をしっかり守るためには、まずファイアウォールが何であり、何を目的としているのかを理解することが第一歩です。 ファイアウォールとは? ファイアウォール(防火壁)という名前は、隣接する住宅同士で火災が燃え広がるのを防ぐために設けられる壁に由来しています。それと同じように

  2. 【初心者向け】Pythonクラスのselfと__init__メソッドの違いをわかりやすく解説

    selfとは「self」は、クラスのインスタンス(実体)そのものを表すために使われる特別な引数です。Pythonでは、この「self」キーワードを通じて、クラス内の属性(変数)やメソッド(関数)にアクセスします。インスタンスメソッドを呼び出す際、Pythonは自動的にそのインスタンス自身を第1引数として渡してくれるため、呼び出し側で明示的に指定する必要はありません。__init__メソッドとは「__init__」は、Pythonクラスにあらかじめ用意されている予約済み(特殊)メソッドの一つです。オブジェクト指向プログラミングの用語では「コンストラクタ」と呼ばれます。このメソッドは、クラスからオ