文字列を、すべてが始まる規則を持つ正規表現と一致させようとします10.20
string str = @"10.20.30.1\r\n10.20.40.2\r\n10.20.50.3";
string pattern = @"(10\.20.+(\r\n)*)+";
var m = System.Text.RegularExpressions.Regex.Match(str, pattern);
ただし、最初の行のみをキャッチします。つまり、次のようになります。
Console.Write(m.ToString()); // prints 10.20.30.1,
編集: 単一行または複数行がある場合を区別しようとしています。つまり、上記の の例でstr
、ユーザーが
string pattern = @"(10\.20.+)+";
それは私が期待する最初の行にのみ一致します。私は何が欠けていますか?