>>734のやりかたなら普通にforeachしたほうがわかりやすいと思う var list = new List<string>(); foreach(var line in File.ReadLines( @"hoge.txt" )){ if(!string.IsNullOrWhiteSpace(line)){ var str = Regex.Match(line , "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>" , RegexOptions.IgnoreCase ).Groups["url"]?.Value; if(!string.IsNullOrWhiteSpace(str)) list.Add(str); } }