ここの初心者。右側に 5 桁の数字が見つかったがキャプチャされなかった場合にのみ、左側から値を取得しようとしています。任意の方向をいただければ幸いです。
例:
Hello Industries 12345
5 桁の番号を見つけて、会社名を取得する必要があります。
一致するグループを使用します。
using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string test = "Hello Industries 12345 Another One 54321";
var matches = Regex.Matches(test, @"(?<=(\d{5}\s+|^))(?<NAME>.*?)\s+(?<NUMBER>\d{5})");
foreach(Match m in matches)
{
Console.WriteLine(string.Format("Name: {0} #: {1}",
m.Groups["NAME"].Value,
m.Groups["NUMBER"].Value));
}
}
}