6

<td>との間のすべてのテキストを取得しようとしています</td>が、コレクション内の最初の一致しか得られません。*または何かが必要ですか?これが私のコードです。

string input = @"<tr class=""row0""><td>09/08/2013</td><td><a href=""/teams/nfl/new-england-patriots/results"">New England Patriots</a></td><td><a href=""/boxscore/2013090803"">L, 23-21</a></td><td align=""center"">0-1-0</td><td align=""right"">65,519</td></tr>";

string pattern = @"(?<=<td>)[^>]*(?=</td>)";
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
    try
    {
        listBoxControl1.Items.Add(matches.ToString());
    }
    catch { }
}
4

3 に答える 3

9

次の正規表現を使用します。

string input = "<tr class=\"row0\"><td>09/08/2013</td><td><a href=\"/teams/nfl/new-england-patriots/results\">New England Patriots</a></td><td><a href=\"/boxscore/2013090803\">L, 23-21</a></td><td align=\"center\">0-1-0</td><td align=\"right\">65,519</td></tr>";

string pattern = "(<td>)(?<td_inner>.*?)(</td>)";

MatchCollection matches = Regex.Matches(input, pattern);

foreach (Match match in matches) {
    try {
        Console.WriteLine(match.Groups["td_inner"].Value);
    }
    catch { }
}
于 2013-09-15T15:51:41.503 に答える
0

ここで解決策を見つけましたhttp://geekcoder.org/js-extract-hashtags-from-text/ from Nicolas Durand - それはかなりうまくいくようです:

#[^ :\n\t\.,\?\/’'!]+

宜しくお願いします、フィル

于 2016-10-21T14:03:14.403 に答える