2

Visual Studio 2017 では、次のようにいくつかの行を変更しようとしています。

[AddressId] [int] NOT NULL,
[CountryId] [int] NULL,
[POBoxCountryId] [int] NULL,
[Name] [nvarchar] (100) NULL,

これに:

[AddressId] int NOT NULL,
[CountryId] int NULL,
[POBoxCountryId] int NULL,
[Name] nvarchar (100) NULL,

正規表現 :(?<=\[\w+\]\s)\[(\w+)\]は、括弧の 2 番目のペアと正確に一致し、内部の内容をキャプチャする必要があるようです。

そして、これは実際にRegexStormで調べた場合のようです: regexstorm link

また、Visual Studio では、 find を実行すると、正しく検出されることもわかります。一致した行が表示されます。


ただし、検索と置換(で置換)を実行しようとしても、$1置換は行われません。(代替は regexStorm で動作しています)

私は何を間違っていますか?

4

1 に答える 1

3

あなたは使用することができます

検索対象:(\[\w+]\s+)\[(\w+)]
置換対象:$1$2

正規表現のデモを見る

詳細

  • (\[\w+]\s+)- グループ 1 ( $1): [、1 つ以上の単語文字、]および 1 つ以上の空白
  • \[-[文字
  • (\w+) - グループ 2 ( $2): 1 つ以上の単語文字
  • ]-]文字。
于 2018-11-02T17:01:10.263 に答える