-1

誰かが正規表現で私を助けてくれませんか。完全にくっついた

HTMLコードがあります:

<td width="50%"><span class="draw_info">Draw No: 2813<br />
Thursday&nbsp;10 Jan 13<br />
    <br />

次の行を取得する必要があります。Thursday&nbsp;10 Jan 13

これがあなたの助けになるなら、私はC#を使用しています

4

1 に答える 1

0

抽出しようとしている部分には、そのHTMLコード以上のものがあると思います。あなたが投稿した作品を踏まえて、正規表現のヘルプを提供してみます

空白を正規化し、次のように空白タグを削除することから始めます。

var normalizedText = Regex.Replace(text, @"<br\s*/?>|\r|\n|&nbsp;", " ");

次に、特殊な正規表現を使用して<span>必要な適切なタグを見つけます ( draw info ):

var spanRegex = new Regex(@"<span class=""draw_info"">\s*Draw No:\s*(?<DrawNumber>[0-9]*)\s*(?<Timestamp>.*)\s*(</span>)?");

これにより、必要なDraw NumberDateの値が 2 つの個別のキャプチャ グループに抽出されます。その後、それらに個別にアクセスできます。

var match = spanRegex.Match(normalizedText);

// TODO: Handle !match.Success for parsing errors here.

var drawNumberString = match.Groups["DrawNumber"].Value.Trim();
var timestampString = match.Groups["Timestamp"].Value.Trim();

int drawNumber;
DateTime timestamp;

if(!int.TryParse(drawNumberString, out drawNumber))
{
  // TODO: Handle draw number parsing errors here.
}

if(!DateTime.TryParse(timestampString, out timestamp))
{
  // TODO: Handle timestamp parsing errors here.
}
于 2013-01-12T22:44:25.653 に答える