0

次の3行を置き換えたい:

this.CSType = typeof(DateTimeOffset?);
this.CSTypeString = "Target";
this.MappedCSType = SQLTypes.MappedCSType.NullableDateTimeOffset;

これとともに:

result = "Target";

だから私はこの正規表現を使おうとします:

探す::bthis.CSType = typeof(*);\n:bthis.CSTypeString = "{[^"]+}";\n:bthis.MappedCSType = SQLTypes.MappedCSType.*;

交換:result = "\1";

しかし、エラーがあります:Grouped expression is missing ')'.

私の表現に何か欠点はありますか?あなたの提案は何ですか?

4

1 に答える 1

0

あなたの正規表現の問題は、グループが定義されていないことだと思います。{[^"]+}構文的に正しくないペアを使用してグループを定義しようとしたと思います。グループは、丸括弧を使用して定義されます()。もtypeof(*)一致しませんtypeof(DateTimeOffset?)

次のxpathを試すことができます

this.CSType = typeof\(.*\);\nthis.CSTypeString = "([^"]+)";\nthis.MappedCSType = SQLTypes.MappedCSType.*

丸かっこのペアに注目してください([^"]+)。このグループ、つまりグループ 1 はTarget文字列に一致します。この xpath はhttp://regexpal.comで検証できます。

お役に立てれば

于 2012-07-21T07:26:10.000 に答える