【C#】テキストファイルから正規表現にマッチする行を表示

C#

テキストファイルから正規表現にマッチする文字列や行を取得する処理は、よく使うと思います。今回は、ファイルの中で正規表現にマッチする行の一覧を表示するサンプルを紹介します。

サンプルコード

ファイルを開き、1行ずつ正規表現 Regex.IsMatch() メソッドでチェックします。マッチする行が見つかったら、その行をコンソールに表示します。

using System;
using System.IO;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string filePath = @"C:\path\to\your\file.txt"; // ファイルパスを指定
        string pattern = @"\d"; // 検索するパターン(数字が含まれる行)

        try
        {
            foreach (string line in File.ReadLines(filePath))
            {
                // 行が正規表現にマッチしているかをチェック
                if (Regex.IsMatch(line, pattern))
                {
                    Console.WriteLine(line);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("エラーが発生しました: " + ex.Message);
        }
    }
}

入力ファイルの例

Hello, this is a sample text file.
It contains various lines of text.
Some lines might contain numbers like 12345.
Others might have special characters like @ or #.
This line includes the word 'sample'.
Another line with the word 'text'.
Regular expressions are powerful.
Simple string search is also useful.

実行結果

Some lines might contain numbers like 12345.
タイトルとURLをコピーしました