-1

次の正規表現を作成するのを手伝ってくれませんか:

string: が "This Tuesday $5 Million Jackpot 14/Aug/12, Draw 965"あり、次のものを抽出する必要があります。"$5 Million"

フレーズ内の数字は、任意の数字にすることができます。しかし、それは常にのようになります"$N Million"

PS:私が解析しようとしている実際のHTMLは

<b>This Tuesday</b>
 $5 Million  Jackpot
<br />
14/Aug/12, Draw 965

ありがとうございました

4

2 に答える 2

1

Regexこれはすべて非常によく説明されているため、MSDN のドキュメントを参照することをお勧めします。

static string GetJackpot(string content)
{
    Match match = Regex.Match(content, @"\$\d+ Million", RegexOptions.IgnoreCase);
    return match.Success ? match.Groups[0].Value : null;
}

重要な部分:

  • @"\$\d+ Million"リテラル$記号の後に 1 つ以上の数字が続き、その後にリテラル文字列が続くものを探しますMillion
  • RegexOptions.IgnoreCaseは大文字と小文字を区別しないため、これは「$5 million」にも一致します。
  • 正規表現が ( match.Success) と一致しない場合は、 を返しますnull
  • ジャックポットが百万分の 1 になる可能性がある場合 (たとえば、「430 万ドル」)、表現を変更する必要があります。

幸運を祈ります。

于 2012-08-12T01:13:50.257 に答える
0
public string ParseMoney(string Sauce)
{
    string Money = Regex.Match(Sauce, @"\$\d+\sMillion", RegexOptions.IgnoreCase | RegexOptions.Singleline).Value;
    return string.IsNullOrEmpty(Money) ? "Unable to find money." : Money;
}

使用法:

ParseMoney(HTML);
于 2012-08-12T01:49:03.750 に答える