0

C# では、正規表現に次のパターンがあります。

string pattern = "<div class=\"alt\" title=\"[\\w\\s]+\"><strong>([\\w\\s]+)</strong></div>";

Match次のようなオブジェクトを作成します。

status = Regex.Match(html, pattern);

ただし、ステータスで .groups() を呼び出すと、一致しても空白のテキストが表示されます。グループを正しく抽出していますか?

編集: HTML の一部を次に示します。

          <tr>
            <td>
                    <div class="alt" title="Released to Manufacturing">
                            <strong>Released to Manufacturing</strong>
4

2 に答える 2

0

正規表現は、html の解析には使用されません。

Htmlagilitypackのような html パーサーを使用する

   HtmlDocument doc = new HtmlDocument();
   doc.Load(yourStream);
   var altElementValues= doc.DocumentNode
                            .SelectNodes("//div[@class='alt']/strong")
                            .Select(x=>x.InnerText);
于 2013-10-23T06:41:22.877 に答える
0
string strRegex = @"<div class=""alt"" title=""[\w\s]+""><strong>([\w\s]+)</strong></div>";
RegexOptions myRegexOptions = RegexOptions.IgnoreCase | RegexOptions.Multiline;
Regex myRegex = new Regex(strRegex, myRegexOptions);
string strTargetString = @"<div class=""alt"" title=""released""><strong>Released</strong></div>";

foreach (Match myMatch in myRegex.Matches(strTargetString))
{
    if (myMatch.Success)
    {
        var value = myMatch.Groups[1].Value;
    }
}

RegexHeroを使用して検証済み

于 2013-10-23T06:39:31.657 に答える