"<div class=\"standings-rank\">([0-9]{1,2})</div>"
這是我的正則表達式。我想匹配,但C#返回我像C#正則表達式問題
"<div class=\"standings-rank\">1</div>"
當我想只得到
"1"
我怎樣才能讓C#返回我對了嗎?
"<div class=\"standings-rank\">([0-9]{1,2})</div>"
這是我的正則表達式。我想匹配,但C#返回我像C#正則表達式問題
"<div class=\"standings-rank\">1</div>"
當我想只得到
"1"
我怎樣才能讓C#返回我對了嗎?
使用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將返回整個匹配的字符串。
具體而言,請參閱MSDN
集合包含一個或多個 System.Text.RegularExpressions.Group 對象。如果匹配成功, 集合 中的第一個元素包含 對應於整個匹配的組對象。如果常規的 表達式包括捕獲組,則每個 後續元素表示一個捕獲組。 如果匹配不成功, 集合包含一個 System.Text.RegularExpressions.Group 對象,其Success屬性是假 ,其價值屬性等於 的String.Empty。
優秀的答案! – SBSTP