VS 2015 Regex找到并替换

时间:2016-11-14 19:13:38

标签: regex visual-studio visual-studio-2015

有找到的方法吗? public int MyOldId {get; set;}
并替换为 public Guid MyOldUId {get; set;} public int MyOldId {get; set;}

详细说明:
是的,重复已经添加了 U 并更改类型

1 个答案:

答案 0 :(得分:0)

刚检查过,我相信你可以使用

DECLARE @target_table SYSNAME='myTable';
DECLARE @target_file VARCHAR(1024)='C:\Temp\'+@target_table+'.txt';

DECLARE @cols VARCHAR(8000)=STUFF((
    SELECT 
        ','+QUOTENAME(column_name)
    FROM 
        INFORMATION_SCHEMA.COLUMNS 
    WHERE 
        TABLE_NAME=@target_table
    ORDER BY    
        ORDINAL_POSITION
    FOR XML
        PATH(''), TYPE).value('.[1]','VARCHAR(MAX)'),
    1,1,''
);

DECLARE @bcp_cmd VARCHAR(8000)=
    'BCP ' + 
        '"SELECT '+@cols+' FROM '+QUOTENAME(@target_table)+'" '+
        'QUERYOUT "'+@target_file+'" '+
        '-t, -c -T -S ' + @@SERVERNAME + ' -d ' + DB_NAME();

--SELECT @bcp_cmd;

EXEC xp_cmdshell @bcp_cmd;

并替换为

public\s+int\s+(\w+)Id\s*{\s*get;\s*set;\s*}

public Guid $1UId {get; set;}\r\n$& 匹配并在匹配(\w+)Id之前匹配并捕获一个或多个单词字符(字母/数字/下划线),Id匹配零个或多个空格(当它们可能是现在或不在。)

替换模式使用对组1内容的反向引用(\s*),并且$1引用(插入到结果中)与正则表达式模式找到的整个匹配。