我必须复制每一行,但我也必须修改第二行。 例如:
我的输入数据是:
C:\风向\ Dir2中\ DIR3
最终应该是这样的:
来源:C:\ Dir \ Dir2 \ Dir3目的地:http://mymachine/se/docs/Dir1/Dir2/Dir3
我成功了:
来源:C:\ Dir \ Dir2 \ Dir3目的地:C:\ Dir \ Dir2 \ Dir3
通过
找到" ^。* $"替换为"来源:$ 0目的地:$ 0"
我必须更换" C:\"用" http://mymachine/se/docs/"和" \"用" /"。
怎么做?
答案 0 :(得分:1)
[^\\]+\\(.*)
替换:Source:$0 Destination:http://mymachine/se/docs/$1
要解决反斜杠问题,您需要在上面的那个之后运行第二个正则表达式替换。见下文:
\bDestination:[^\\\v]*\K\\
替换:/
C:\Dir1
Source:C:\Dir1 Destination:http://mymachine/se/docs/Dir1
第一种模式
[^\\]+
匹配除反斜杠\
之外的任何字符一次或多次\\
匹配文字反斜杠字符\
(.*)
将任意字符(贪婪)捕获到捕获组1(字符串中第一个反斜杠之后的所有内容)第二种模式
\b
断言位置为单词边界Destination:
按字面意思匹配[^\\\v]*
匹配任何数字的除反斜杠\
和垂直空白字符之外的任何字符\K
重置模式的匹配。最终匹配中不再包含任何以前消费的字符\\
匹配文字反斜杠