[windows][vscode]正则表达式匹配文件中所有空白行

        在Visual Studio Code (VSCode) 中,^\s*(?=\r?$)\n 这个正则表达式模式用于匹配文件中所有空白行,包括空行和只包含空白字符(如空格、制表符等)的行。下面是对这个正则表达式的解释:

  • ^:匹配行的开始。
  • \s*:匹配0个或多个空白字符(包括空格、制表符、换行符等)。
  • (?=...):正向前瞻断言,表示匹配后面括号中的模式,但不包括在匹配结果中。
  • \r?$:匹配行的结束,\r 表示回车符,? 表示回车符可能出现0次或1次,$ 表示行的结束。
  • \n:匹配一个换行符。

        这个正则表达式通常用于删除文件中的空白行。在VSCode中,你可以使用以下步骤来删除所有空白行:

  1. 打开VSCode。
  2. 按下 Ctrl + F(在Mac上是 Cmd + F)打开查找框。
  3. 点击查找框左侧的 .* 图标,切换到使用正则表达式搜索模式。
  4. 在查找框中输入上述正则表达式:^\s*(?=\r?$)\n
  5. 点击查找框右侧的灯泡图标,选择“替换”。
  6. 在替换框中不输入任何内容(即用空字符串替换匹配到的行)。
  7. 点击“全部替换”,这将删除所有匹配的空白行。

请注意,这个操作会改变文件内容,所以在执行之前最好备份你的文件,以防万一。

^\s*(?=\r?$)\n

### VSCode 的通用正则表达式 在 Visual Studio Code (VSCode) ,正则表达式的使用广泛应用于搜索和替换功能。支持的标准转义序列包括但不限于 `\a`, `\b`, `\f`, `\n`, `\N`, `\r`, `\t`, `\u`, `\U`, `\v`, `\x` 和 `\\`[^1]。 对于简化不同字符类别的匹配,可以利用预定义的字符集,例如: - `\d`: 表示任意一位数字(0到9) - `\W`: 非字母、非数字且不是下划线 - `\s`: 所有空白符,包括空格、制表符、换页符等等;这与 `[ \f\n\r\t\v\u00A0\uFEFF]` 等价 - `\S`: 非空白符 这些符号能够大大减少编写复杂模式所需的工作量并提高可读性[^2]。 此外,在某些情况下可能需要更复杂的条件判断,这时就可以采用前瞻断言 `(?=...)` 或者前视否定断言 `(?!...)` 的形式来进行无消耗的子表达式测试[^3]。 下面给出几个具体的例子来展示如何在 VSCode 应用上述概念进行文件内的查找操作: #### 查找所有以特定单词开头的行 假设想要找到文档里每一行最前面是 "function" 关键字的情况,则可以在搜索框输入如下内容: ```regex ^function\s+ ``` 这里 `^` 符号表示该模式应该位于每行起始位置处,而后面的 `\s+` 则用来捕捉关键字之后跟随的一个或多于一个空白字符。 #### 替换单词的部分文本 如果要将所有的 JavaScript 函数声明从箭头函数转换成传统的方式,那么可以通过以下方式实现: ```regex (\w+)\s*=>\s*\{([^}]*)} ``` 替换成: ```javascript function $1() { $2 } ``` 此命令会把形如 `name => {...}` 这样的匿名函数重写为常规的形式。 #### 排除指定类型的元素 当希望排除掉 HTML 文件里的 `<script>` 标签时,可以用这样的正则表达式: ```regex (?<!<script\b)[^\>]*> ``` 这段代码通过负向先行断言确保了只有不在 script 开标签内部的内容才会被选
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

awonw

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

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

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

打赏作者

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

抵扣说明:

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

余额充值