RegexSQL文字列のフィールドを翻訳するために使用する次のものがあります
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'ます。ここで何が間違っていますか?
御時間ありがとうございます。