匹配字符占位符(可以放置输入光标的位置)



我使用Visual Studio Code,我遇到一个1000行长的.md文档的问题,其中通常每行包含一个或多个句子。
我希望用竖线(一个从左边,一个从右边,带有各自的空格(来包装每个句子,以便将长长的句子列表转换为(单列(降价表。

电流输入

sentence

所需输入

| Sentence |

或:

| Sentence. Sentence |

等等...


我是怎么想的

通常,我可以将输入光标(l-beam光标(放在文本字段中字符旁边的任何位置;
我假设任何这样的"地方"(我可以放置输入光标的地方(都可以被命名为"字符占位符"(CP(。

我假设 CP 是按字符创建的(例如,只有一个字符的行将包含两个 CP(,如果是这样,则可以自由匹配 CP1 和 CP2(或 CP0 和 CP1 - 取决于基本索引(,分别在该字符之前和之后。

我想命令VSCODE在每行第一个字符之前的CP中添加一个竖线和一个相应的空白区域(|U+0020(,以及在每行最后一个字符(U+0020|(之后可用的CP中

我的问题

由于我只知道使用正则表达式匹配字符(或字符集(本身的方法,但我不知道如何仅匹配 CP,因此我问:

如果有的话,如何将 CP 与当前技术相匹配,以便命令程序在 CP Y 中添加数据 X?

这很容易用正则表达式完成。 正则表达式具有"开始"和"结束"字符串的标识符。(根据您的输入,您可以将每个句子视为自己的字符串(。

为了匹配字符串的开头,正则表达式是 -^而要匹配字符串的结尾,正则表达式是$

现在要实现您的请求,您需要做的就是使用 - 匹配整条生产线 -^(.*?)$并将其替换为|s$1s|($1是对捕获组的反向引用(它看起来像 -Search ^(.*)$ Replace |s$1s|

最新更新