В настоящее время я использую :s/(-[a-z].*-)([a-z])/$1\U$2/.
, однако он просто удаляет символ после 2-го -
вместо преобразования его в прописные буквы?
У меня есть файл CSS, и у меня есть несколько записи в виде ql-font-timesnewroman
, ql-font-arial
, ql-font-geneva
и др. c. Я хочу преобразовать их в ql-font-Timesnewroman
, ql-font-Arial
, ql-font-Geneva
, et c.
Я использую 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/.
, оно просто идет дальше и стирает 2-й матч вместо преобразования его в верхний регистр (ql-font-imesnewroman
)
Есть ли какой-то особый синтаксис, который необходим VSVim / VSCode, чтобы его регулярное выражение совпадало и правильно заменялось на верхний регистр?