C#正規表現入門:Matchesメソッドでパターンに一致する文字列を抽出する方法
C#のRegex.Matchesメソッドは、指定した正規表現パターンに一致するすべての文字列を検索し、その結果を抽出するために使用されます。この記事では、実際のコード例を通して、URLが有効かどうかをチェックする方法を解説します。
Regex.Matchesメソッドとは
Regex.Matchesメソッドは、入力文字列の中から正規表現パターンに一致する部分をすべて検出し、MatchCollectionとして返します。パターンマッチングによる値の抽出やバリデーション処理など、さまざまな場面で活用できます。
有効なURLをチェックする方法
URLの妥当性を確認するには、あらかじめ用意した正規表現(ここでは変数expr)をMatchesメソッドに渡します。
MatchCollection mc = Regex.Matches(text, expr);
上記のコードで、exprは有効なURLを判定するために設定された正規表現です。
"^(http|http(s)?://)?([\w-]+\.)+[\w-]+[.com|.in|.org]+(\[\?%&=]*)?"
今回チェック対象とするテキストは、次のURLです。
https://demo.com
サンプルコード全体
以下に、URLのマッチングを行う完全なコード例を示します。showMatchメソッド内でRegex.Matchesを呼び出し、一致した結果をコンソールに出力しています。
using System;
using System.Text.RegularExpressions;
namespace Demo {
class Program {
private static void showMatch(string text, string expr) {
MatchCollection mc = Regex.Matches(text, expr);
foreach (Match m in mc) {
Console.WriteLine(m);
}
}
static void Main(string[] args) {
string str = "https://demo.com";
Console.WriteLine("Matching URL...");
showMatch(str, @"^(http|http(s)?://)?([\w-]+\.)+[\w-]+[.com|.in|.org]+(\[\?%&=]*)?");
Console.ReadKey();
}
}
}
実行結果
プログラムを実行すると、以下のように一致したURLが出力されます。
Matching URL... https://demo.com
まとめ
Regex.Matchesメソッドを使えば、正規表現パターンに一致する文字列を簡単に抽出できます。URLの形式チェック以外にも、メールアドレスの検証や特定キーワードの抽出など、幅広いテキスト処理に応用できるため、ぜひ活用してみてください。
-
HTML DOMのLocation replace()メソッドとは?使い方をサンプルコード付きで解説
HTML DOMのLocation replace()メソッドは、現在表示中のドキュメントを新しいドキュメントに置き換えるためのメソッドです。このメソッドを実行すると、現在のドキュメントのURLがブラウザの履歴から削除されるため、「戻る」ボタンを使って元のページへ戻ることができなくなります。 構文 基本的な構文は以下のとおりです。 location.replace(URLString) URLStringには、置き換え先のページURLを文字列で指定します。 使い方の例 それでは、Location replace()メソッドの具体的な使用例を見ていきましょう。 <!DOCTYPE html
-
HTML DOM normalize()メソッドとは?テキストノードの正規化をわかりやすく解説
normalize()メソッドとはHTML DOMのnormalize()メソッドは、指定したノード内にある空のテキストノードを削除し、隣接するテキストノードどうしをひとつのノードに結合するためのメソッドです。JavaScriptでDOMを動的に操作していると、意図せず空のテキストノードが残ったり、複数のテキストノードが連続して存在したりすることがあります。normalize()メソッドを使えば、こうした不要なノードを一括で整理でき、childNodesリストをクリーンな状態に保つことができます。構文normalize()メソッドの基本的な呼び出し方は以下の通りです。document.norm