0

「1n。マウスの2n。スキャナーの」のような文字列があります。個々のオカレンスを抽出する正規表現を探しています。誰が私を助けてくれますか?

4

3 に答える 3

2

\d+\D+数字から次の桁までのすべてに一致します。Regex.Matches次に、その種類のすべての一致を見つけるために使用できます。

クイック PowerShell テスト:

PS> [regex]::matches('1 n. Of mouse 2 n. Of scanners', '\d+\D+') | select -expand Value
1 n. Of mouse
2 n. Of scanners
于 2012-07-26T13:17:43.923 に答える
1

文字列には、数字の後に "n. of" とオブジェクトが続く 1 つ以上のグループがあり、各オブジェクトとその出現箇所を抽出したいとします。この形式に基づく例を次に示します。

MatchCollection matches = Regex.Matches(
    "1 n. Of mouse 2 n. of scanners",
    @"(?<num>\d+)\s+n\.\s+of\s+(?<obj>\w+)",
    RegexOptions.IgnoreCase);

foreach(Match m in matches) {
    Console.WriteLine("Match found:");
    Console.WriteLine("\tCount: {0}", m.Groups["num"]);
    Console.WriteLine("\tObject: {0}\n", m.Groups["obj"]);
}

そしてその出力:

Match found:
  Count: 1
  Object: mouse

Match found:
  Count: 2
  Object: scanners
于 2012-07-26T13:31:45.463 に答える
0

このコードで試してください

        var value = "1 n. Of mouse 2 n. Of scanners";
        var result =  value.Split().Select(p => Regex.Match(p, @"^\d+$").Value).Where(p => ! p.Equals(string.Empty)).ToList();

結果は

1

2

于 2012-07-26T13:22:16.017 に答える