"<div class=\"standings-rank\">([0-9]{1,2})</div>"
ここは私の正規表現です。私はそれをマッチさせたいが、私はちょうど私がC#は私に正しいことを返すことができますどのようにC#正規表現の問題
"1"
を取得したいのですがときにC#は私に
"<div class=\"standings-rank\">1</div>"
のようなものを返しますか?
"<div class=\"standings-rank\">([0-9]{1,2})</div>"
ここは私の正規表現です。私はそれをマッチさせたいが、私はちょうど私がC#は私に正しいことを返すことができますどのようにC#正規表現の問題
"1"
を取得したいのですがときにC#は私に
"<div class=\"standings-rank\">1</div>"
のようなものを返しますか?
Match.Groups[int]
インデクサーを使用してください。あなたは次のように正規表現を宣言したと仮定し
Regex regex = new Regex("<div class=\"standings-rank\">([0-9]{1,2})</div>");
string str = "<div class=\"standings-rank\">1</div>";
string value = regex.Match(str).Groups[1].Value;
Console.WriteLine(value); // Writes "1"
:
Regex pattern = new Regex("<div class=\"standings-rank\">([0-9]{1,2})</div>");
とMatch
メソッドを介して言った正規表現をテストしています。インデックス1ではなく、インデックス0で始まるマッチにアクセスする必要があります。
pattern.Match("<div class=\"standings-rank\">1</div>").Groups[1].Value
これは期待値を返します。インデックス0は、一致した文字列全体を返します。
具体的には、コレクションが1つまたは複数の System.Text.RegularExpressions.Group オブジェクトが含まれていMSDN
を参照してください。一致が成功すると、 コレクションの最初の要素 には、 が一致するGroupオブジェクトが含まれています。 正規表現にキャプチャグループが含まれている場合、各 後の要素は、 キャプチャされたグループを表します。マッチが失敗した場合 は、 コレクションは、その成功のプロパティ 偽で、値がプロパティ String.Emptyのに等しい単一 System.Text.RegularExpressions.Group オブジェクトが含まれています。
優秀な回答! – SBSTP