vscode@局部替换文本/正则匹配分组替换(复杂删除修改替换)/目录检索_模糊匹配工作空间的目录

本文介绍了VSCode中使用正则表达式进行部分内容替换的实例,包括如何更改文本格式和转换Markdown内容。同时,讲解了在VSCode中进行局部替换的两种方法,并提供了辅助的PowerShell函数来搜索工作空间中的目录。此外,还展示了如何利用VSCode的目录检索功能模糊匹配工作空间内的目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vscode正则文本替换@处理

  • vscode replace content partically

refs

正则替换

  • ctrl+H

案例1

  • 实验文本
* abc 12_3_4_ To_uPPer
  • 实验正则式

    • (\d_)(\d_)\s(\w+)(匹配被处理文本)

    • $2$1 \u\L$3(指示如何操做被匹配了的文本(此处将第一次和第二组组交换,第三组的首字母大写,其余小写))

    image-20220404150444655

案例2

  • 假设谋篇markdown文章中出现了一些问题,内容如下
  • 试验文本:(假设文笔文件中有多段类似的结构)
**函数应用**
**![图片](http://mmbiz.qpic.cn/mmbiz/nFzVLSBz3eNjYb0z0ibhOAicxv0icUUVXrxfR1V2KLxDnExp91iamT2ImefZzqOSltWMvhFB8MB4vOdT7z6wbZf6kA/640?wxfrom=5&wx_lazy=1&wx_co=1)**
  • 目标:替换为(markdown形式)
## 函数应用
![图片](http://mmbiz.qpic.cn/mmbiz/nFzVLSBz3eNjYb0z0ibhOAicxv0icUUVXrxfR1V2KLxDnExp91iamT2ImefZzqOSltWMvhFB8MB4vOdT7z6wbZf6kA/640?wxfrom=5&wx_lazy=1&wx_co=1)
  • solution:
    • match:(\*\*)([^!].*)(\*\*)
    • replacement:## $2
    • match2:(\*\*)(!.*)(\*\*)
    • replacement2:$2
    • 经过两轮替换,基本可以达到目的了

案例3

  • 只保留每行的【xxx】部分

    莆仙戏【刘邦惭内侄】全剧高清清晰…024942
    莆仙戏【牧郎情怨】全剧高清清晰480P.mp4
    莆仙戏【千岁审万岁】国美剧团高清…02:38:48
    莆仙戏【三穿状元袍】一团演出高清清晰480…
    莆仙戏【三夫人审子】全剧高清清晰480P.mp4
    莆仙戏【三媳妇】嘉庆剧团高清清晰480P.mp4
    .莆仙戏【天娇风云】高清清晰480P.mp4
    莆仙戏【天下第一案】越群剧团高清清晰480…
    .莆仙戏【同心锁】芳华剧团高清清晰480P.mp4
    0.莆仙戏【万花归唐】全剧高清清晰480P.mp4
    1.莆仙戏【光宋风云】2020-6明建剧团湄洲剧院…
    2.莆仙戏【甄妃传】水仙花剧团高清清晰480P…
    3.莆仙戏2021-1【御宴风波】TV版芳华剧团高清。…
    4.莆仙戏2021-8【孝从何来】TV版~明哲剧团高…
    16.莆仙戏【状元乞雨】文平剧团高清流畅360P…
    17.莆仙戏【公主又嫁】特声大剧团高清清晰480,
    18.莆仙山戏【激战蒙云关】芳华剧团高清清晰480…
    19.莆仙戏【金殿认母】高清清晰480P.mp4
    
solution
  • find:(.*)(【.*】)(.*)
  • replace:$2
result
  • 【刘邦惭内侄】
    【牧郎情怨】
    【千岁审万岁】
    【三穿状元袍】
    【三夫人审子】
    【三媳妇】
    【天娇风云】
    【天下第一案】
    【同心锁】
    【万花归唐】
    【光宋风云】
    【甄妃传】
    【御宴风波】
    【孝从何来】
    【状元乞雨】
    【公主又嫁】
    【激战蒙云关】
    【金殿认母】
    

案例4

  • 去掉每行的中括号

  • 【刘邦惭内侄】
    【牧郎情怨】
    【千岁审万岁】
    【三穿状元袍】
    【三夫人审子】
    
solution
  • find:【(.*)】
  • replace:$1
result
  • 刘邦惭内侄
    牧郎情怨
    千岁审万岁
    三穿状元袍
    三夫人审子
    

局部替换

方式1

  • 键入ctrl+h

  • 键入要被替换的内容(模式串)

  • 选中要被替换处理的文本区域

  • 打开find in selection功能开关(默认快捷键为alt+l)

    • (只有在上述操作中选中了某一部分区域后)才可以有效的打开该开关

    • 如果此前已经将开关置于开启状态,则需要将开关切换为关有在开启才是有效的

  • 执行替换

方式2

  • 选中需要替换的文本
  • 键入ctrl+H(默认的替换按钮)
  • 确保find in selection 功能开启(默认快捷键为alt+l)
  • 键入要被替换的内容(模式串)
  • 键入用于替换旧内容的新串

vscode 目录检索_模糊匹配工作空间的目录

  • ctrl+p启动go to file

  • 匹配目录的时候在目录名后面追加/来表示目录名

相似变量名统一

  • 想要把代码中的x_array和x_arrays等统一替换为x_arrays:
    在这里插入图片描述

the solution regex:

  • x_array(\b|\w)
  • 或者更通用的分组替换

辅助的powershell 函数

powrshell搜索带有关键字的目录

function searchDirectories
{
    <#     
    .synopsis
    从当前目录开始递归查找具有指定名称的目录
    .Example 
    searchDirectories 'css' 
    searchDirectories -dirFrom_optional ./dir1/  -pattern css 
     #>
    param(
        $pattern,
        $dirFrom_optional = './',
        $isWildcard_optional = 'y',
        $maxDepth=3
    )
    printWorkingDir $dirFrom_optional
    write "max-depth=$maxDepth;if you want to search deeper directory,please modify the maxDepth as you want(0 will be equivalent 10)"
    # $wildPattern="*$pattern*"
    # Write-Output 'searching...'
    if ($isWildcard_optional -eq 'y')
    {
        $pattern = "*$pattern*"

    }
    if($maxDepth -eq 0){
        $maxDepth=10
    }
    Get-ChildItem -Path $Dir -Directory -Recurse -Filter $pattern -followSymlink  -Depth $maxDepth| Select-Object name, FullName 

  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cxxu1375

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值