任意の行数の文字列があり、それぞれが以下に示すようなパターンに従っていると仮定すると、
Line 498: [Badsds()]
Line 499: protected override void Something() {
Line 500: base.Something();
"Line \d+:\s*" の後のテキストをキャプチャする正規表現は何ですか?
任意の行数の文字列があり、それぞれが以下に示すようなパターンに従っていると仮定すると、
Line 498: [Badsds()]
Line 499: protected override void Something() {
Line 500: base.Something();
"Line \d+:\s*" の後のテキストをキャプチャする正規表現は何ですか?
あなたが使用している場合は、c#
行うことができます
List<string> lstMatch=Regex.Matches(input,@"(?<=^\s*Line \d+:)(.*)$",RegexOptions.IgnoreCase|RegexOptions.Multiline)
.Cast<Match>()
.Select(x=>x.Value)
.ToList();
また
List<string> lstMatch=Regex.Matches(input,@"^\s*Line \d+:\s*(.*)$",RegexOptions.IgnoreCase|RegexOptions.Multiline)
.Cast<Match>()
.Select(x=>x.Groups[1].Value)
.ToList();
一度にすべての行を読みたくない場合
foreach (string line in File.ReadLines(fileLocation))
{
Regex.Match(line,@"^\s*Line \d+:\s*(.*)$",RegexOptions.IgnoreCase).Groups[1].Value;
}
Line \d+:\s*(.*)
最初のキャプチャ グループで指定したパターンの後のすべてをキャプチャします。