我目前正在使用:s/(-[a-z].*-)([a-z])/$1\U$2/.
,但是这只是删除第二个之后的字符-
而不是将其转换为大写变体?
我有一个 CSS 文件,我有几个条目,格式为 、
、ql-font-timesnewroman
等。我想将它们转换为、、等。ql-font-arial
ql-font-geneva
ql-font-Timesnewroman
ql-font-Arial
ql-font-Geneva
我将 VSVim 与 VSCode 一起使用,我不确定它使用的是哪个版本的 Regex(但我相信它是 Javascript 变体)。
如果我使用 PHP 变体,它可以正常工作。(https://regex101.com/r/8aZI2m/1)
但是,如果我使用 Javascript 变体,它只会U
在结果中添加一个:ql-font-Utimesnewroman
.
在 VSCode 中,它更进一步,只是插入\U
。( ql-font-\Utimesnewroman
)。
如果我将正则表达式更改为看起来更像, :s/(-[a-z].*-)([a-z])/$1/\U$2/.
,它会继续并删除第二个匹配项,而不是将其转换为大写 ( ql-font-imesnewroman
)
VSVim / VSCode 是否需要任何特殊语法才能使其正则表达式正确匹配并替换为大写?