名前付きキャプチャで記録した内容を複数個所でマッチさせる正規表現 [C#]
名前付きキャプチャで記録した内容を複数個所でマッチさせたい 名前付きキャプチャ は正規表現にマッチした内容(テキスト)そのものをキャプチャ(記録)し、正規表現の別の箇所で参照してマッチさせることができます。 例えば XML や HTML のタグにマッチさせたいときに開始タグの正規表現でマッチした内容をキャプチャしておき、終了タグの正規表現で参照するといったことが可能になります。 名前付きキャプチャ […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
名前付きキャプチャで記録した内容を複数個所でマッチさせたい 名前付きキャプチャ は正規表現にマッチした内容(テキスト)そのものをキャプチャ(記録)し、正規表現の別の箇所で参照してマッチさせることができます。 例えば XML や HTML のタグにマッチさせたいときに開始タグの正規表現でマッチした内容をキャプチャしておき、終了タグの正規表現で参照するといったことが可能になります。 名前付きキャプチャ […]
[C#] 単語の繰り返しを正規表現で探す方法 C# で正規表現を使って単語が繰り返されているかを判定する方法を調べました。 例えばある文字列に “ABC” が含まれるかどうかは以下のように書けます。 var reg = new Regex("ABC"); if (reg.IsMatch("XXABCBCAAXX")) { Console.WriteLine("OK: XXA […]
[.NET] 正規表現のコンパイルとパフォーマンス .NET における正規表現はRegexクラスを利用します。Regexクラスには、静的メソッドとインスタンスメソッドそれぞれでパターンマッチングを行えます。またインスタンスメソッドを使う場合、Regex.OptionでCompiledを指定することで、1度コンパイルした正規表現を使いまわすことができます。 ここではいくつかの正規表現でのパターンマッ […]
正規表現のサンプル いろいろなデータ形式についての正規表現をまとめます。一応それっぽくまとめているので参考程度にどうぞ。 .NET と Javascript をよく使うので、どちらでも使えるサンプルを用意しました。 .NET と Javascript の正規表現では、微妙にメタ文字の意味等が異なったりしますが、とりあえずは同じようにマッチします。 厳密ではありませんが、どちらでもだいたい問題なくマ […]
正規表現でHTML(XML)から指定のデータを取得したい C#/VB.NETでHTMLから指定タグの値や属性を取得するには正規表現が使えます。LINQ to XMLでもHTML(XML)から要素や属性の操作が可能ですが、不正なXMLドキュメントの場合にはうまく使えません。 Webページをスクレイピングする場合などは、必ずしも正しいHTMLとは限りません。閉じタグが抜けていたり、Javascript […]