Word-boundary-Problem in einer dynamischen C# regex-Muster

Ich versuche zu bauen, ein regex-Muster, bei dem einige Teile des Musters, die aus einer Datenbank abgerufen werden.

Beispielsweise

string pt= "@\"\\b(" + db.GetPattern + ")\\b\"";        
Regex regex = new Regex(pt, RegexOptions.IgnoreCase | RegexOptions.Compiled);
return regex.Replace(input, "*");

Obwohl ich versuchte zu entkommen, konnte ich es nicht zu funktionieren. Wenn ich Baue das Muster manuell als

Regex regex = new Regex(@"\b(test|test2)\b", RegexOptions.IgnoreCase | RegexOptions.Compiled);
return regex.Replace(input, "*");

funktioniert es einwandfrei.

InformationsquelleAutor nLL | 2009-09-24
Schreibe einen Kommentar