0

以下のような情報があります

"id":"456138988365628440_103920","ユーザー"657852231654

私は戻りたいと思います。

456138988365628440_103920

私は知っている

"id":"[0-9_]*","ユーザー"

戻ります

"id":"456138988365628440_103920","ユーザー"

しかし、私はそれ自体が欲しいだけですid

4

3 に答える 3

2

必要な部分を括弧の間に配置し、次を使用してコールバックすることで、キャプチャ グループを使用できますmatch.Groups[1].Value

string msg = @"""id"":""456138988365628440_103920"",""user""657852231654""";
var reg = new Regex(@"""id"":""([0-9_]*)"",""user""", RegexOptions.IgnoreCase);
var results = reg.Matches(msg);
foreach (Match match in results)
{
    Console.WriteLine(match.Groups[1].Value);
}

イデオネデモ

于 2013-08-25T10:44:30.107 に答える
0

必要なのは、正規表現の一種の条件ステートメントです。これは、Zero-Width Positive Look-behind Assertion

つまり、プロパティの後にある一致番号のみidを示すステートメントが必要です。

"id":"456138988365628440_103920","ユーザー"657852231654

(?<="id":")[\d_]*

この正規表現は、要求された番号のみを返します。

ここでテストできます。

于 2013-08-25T10:48:21.117 に答える
0

または、 String.Splitを使用することもできます(正規表現が必須でない場合):

var input = @"""id"":""456138988365628440_103920"",""user""657852231654""";
var idValue = input.Split(',')[0].Split(':')[1];
Console.WriteLine(idValue);

出力:

456138988365628440_103920
于 2013-08-25T10:46:02.033 に答える