Regex
SQL文字列のフィールドを翻訳するために使用する次のものがあります
string posLookBehind = @"(?<=\p{P}*)\b";
string posLookAhead = @"\b(?=\p{P}*)";
string keyword = "FieldA";
string translatedKeyword = "FldA";
string strSql = "SELECT [FieldA] FROM SomeTableA;";
strSql = Regex.Replace(
strSql,
baseRegexLeft + keyword + baseRegexRight,
translatedKeyword,
RegexOptions.IgnoreCase);
一部のキーワードFieldA
について、上記の正規表現は、次のそれぞれで「FieldA」を「FldA」に置き換え[FieldA]
ます[FieldA + FieldB]
。ただし、正規表現を制限したいと思います。単一のアポストロフィに 'FieldA'
注意してください。
したがって、正規表現の減算を使用して正規表現を変更し'
、句読点セットから削除しました。
string posLookBehind = @"(?<=[\p{P}-[']]*)\b";
string posLookAhead = @"\b(?=[\p{P}-[']]*)";
他のコードは同じです。しかし、これはまだ一致してい'FieldA'
ます。ここで何が間違っていますか?
御時間ありがとうございます。