Регулярное выражение для замены текста в текстовом редакторе Sublime

#regex #sublimetext

#регулярное выражение #sublimetext

Вопрос:

Мне нужно отредактировать тысячи строк, поэтому нужно использовать regex.

Одна строка выглядит примерно так.

 T1,1,Example Text1 Text
T2,2,Example Text 2 Text
T3,3,Example Text 3 Text3
  

Я хочу преобразовать эти данные вот так.

 {pid:T1,sid:1,name:"Example Text1 Text"},
{pid:T2,sid:2,name:"Test Text1 Text"},
{pid:T3,sid:3,name:"Content Text1 Text"},
  

Как я могу это сделать?

Я пытался заменить первый и последний символы с помощью ^ amp; $ . но я хочу преобразовать «, 1» в «,sid: 1» и «Example Test» в «name:’Пример текста'».

Любая помощь была бы признательна.

Комментарии:

1. Строки не совпадают. Ошибка копирования / вставки?

2. Да. не нужно изменять текстовое содержимое.

Ответ №1:

Найдите ^(Td ,)(d ,)(.*)$ и замените на {pid:1sid:2name:"3"},

Убедитесь, что поиск настроен на использование регулярных выражений.

Разбивка регулярных выражений на соответствие:

 ^    # Start of Line
(    # Capture Group #1 (for Tx)
  T    # "T"
  d   # 1 or more digits (T1, T2, T27, etc.)
  ,    # ","
)
(    # Capture Group #2 (for the `sid`)
  d   # 1 or more digits (for the `sid`)
  ,    # ","
)
(    # Capture Group #3 (for the string)
  .*   # String (name)
)
$    # End of Line
  

Комментарии:

1. ^(Td ),(d ),(.*)$ и {pid:1,sid:2,name:"3"},

2. Вы также можете включить запятую. В любом случае поддержите мой голос 😉