.NETのRegExのGroupとMatchの違いは何ですか?.NETのRegExでのグループと一致の違いは何ですか?
5
A
答えて
6
2
マッチは正規表現に一致する文字列の一部です。したがって、文字列内に複数の一致が存在する可能性があります。
マッチの中で、匿名または名前付きのグループを定義して、マッチを分割しやすくすることができます。簡単な例として、URLを検索して内部のグループを使用してプロトコル(http)、ドメイン(www.web.com)、パス(/lol/cats.html)、引数などを検索する正規表現を作成します。私が言ったようにあなたがRegex.Matches(文字列テキスト)を使用する場合は複数の一致、ゼロから成るそれぞれ、1つまたは複数のグループに戻ってきますので、一つのパターンは、文字列内に複数回を見つけることができます
// Example I made up on the spot, probably doesn't work very well
"(?<protocol>\w+)://(?<domain>[^/]+)(?<path>/[^?])"
。
これらの名前付きグループは、番号で索引付けするか、文字列で見つけることができます。上記の例は次のように使用することができます:物事がもっとおもしろくするため
Match match = pattern.Match(urls);
if (!match.Success)
continue;
string protocol = match.Groups["protocol"].Value;
string domain = match.Groups[1].Value;
、1グループが複数回マッチすることができ、その後私はdocumentationを読み始めるお勧めします。
グループを使用して逆参照を生成し、部分検索と置換を行うこともできますが、その詳細はMSDNでお読みください。
関連する問題
- 1. PHP regexオプションの一致しないグループ?
- 2. 何Eclipseの検索で一致グループの構文であると
- 3. .NETマイクロフレームワークと.NETコンパクトフレームワークの違いは何ですか?
- 4. RegEx - 一致前の文字でない
- 5. CKANの組織とグループの違いは何ですか?
- 6. luceneのグループ化とファセットの違いは何ですか3.5
- 7. .NETのトレースで "switch"と "filter"の違いは何ですか?
- 8. .NETでは、AsFoo()とToFoo()の違いは何ですか?
- 9. RegExの内部で\ Xという式が一致するのは何ですか?
- 10. Regexは.NETでエスケープされた一致を返します - なぜですか?
- 11. .Netのバージョンと 'ランタイムバージョン'の違いは何ですか?
- 12. .NET 4のEnumerateFilesとEnumerateFileSystemEntriesの違いは何ですか?
- 13. .NETのラムダ式と述語の違いは何ですか?
- 14. .NETのConcurrentQueueとBlockingCollectionの違いは何ですか?
- 15. .NET/JavaとRubyのドメインモデリングの主な違いは何ですか?
- 16. RegexとLaTeXの式が一致する
- 17. メタキャラクターとは何ですか?一致?
- 18. 複数のregExの一致
- 19. RegExが次のグループに一致しません\。\ d
- 20. RegexとCSSファイルで一致させる
- 21. .net Asyncとgoogleの主な違いは何ですか?
- 22. Regexグループと*ワイルドカードは一緒に動作できますか?
- 23. .NET Regexは、IgnorePatternWhitespaceがオンのときにスペース文字に一致します。
- 24. Ruby RegExとの間で一致する。と
- 25. showとshowdialogの違いは何ですか?C#.netのフォームクローズの期間です。
- 26. .NET Regex単一行の一致不明の文字を置換する
- 27. .NET Framework 4.6.1 Targeting Packと.NET Framework 4.6.1 Runtimeの違いは何ですか?
- 28. 一時データベースと履歴アーカイブデータベースの違いは何ですか?
- 29. regex {m、n}と(正規表現){m、n}の違いは何ですか?
- 30. PHP regexが特定のURLと一致するURLと一致するURL