SQL接続文字列のセクションに一致する正規表現を作成しました。最初の仕様では、初期カタログなどに特殊文字を含めないように強制されていました。だから私は持っていた
string strConn = "Data Source=VAIOE;Initial Catalog=SomeTextOnlyCatname;Integrated
Security=True;Persist Security Info=True;MultipleActiveResultSets=True;Connect Timeout=0;";
Regex databaseNameRegex =
new Regex(@"(?i)\b(Initial\sCatalog|Database)\b\s?=\s?(\w+\s*)*;?");
ここで、記号や句読点などの名前を持つ可能性のあるセクションを照合する必要があります。たとえば、
string strConn = "Data Source=VAIOE;Initial Catalog=N3wC@t@l0gName*6Symbols;Integrated
Security=True;Persist Security Info=True;MultipleActiveResultSets=True;Connect Timeout=0;";
戻りたいところInitial Catalog=N3wC@t@l0gName*6Symbols
。
私が試してみました
Regex databaseNameRegex =
new Regex(@"(?i)\b(Initial\sCatalog|Database)\b\s?=\s?(\w+\p{P}*\p{M}*\p{Z}*\s*)*;?");
ただし、接続文字列にセミコロンが含まれているため、これは失敗します。これに対処するための最良の正規表現は何ですか?
御時間ありがとうございます。