在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+)\]
应该与第二对方括号完全匹配,并捕获其中的内容。
当我在RegexStorm中检查它时,似乎确实是这样:regexstorm link
此外,在Visual Studio中,如果执行 find ,也可以正确找到它。显示匹配的行。
但是,如果我尝试执行查找并替换(用$1
替换),则不会进行替换。 (该替代产品正在regexStorm中工作)
我在做什么错了?
答案 0 :(得分:3)
您可以使用
查找内容:(\[\w+]\s+)\[(\w+)]
替换为:$1$2
请参见regex demo
详细信息
(\[\w+]\s+)
-第1组($1
):[
,1个以上的字符字符,]
和1个以上的空格\[
-一个[
字符(\w+)
-第2组($2
):1个以上的字符字符]
-一个]
字符。