Использование замены регулярного выражения в Sublime 3 - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь использовать замену в Sublime, используя регулярные выражения, но я застрял. Я пробовал разные комбинации, но, похоже, ничего не добился.

Это вход и желаемый результат:

Вход: N_BBP_c_46137_n

Выход: BBP

Я пробовал комбинации:

[^BBP]+\b
\*BBP*+\g

Но ничего из вышеперечисленного (и многих других), похоже, не работает.

Ответы [ 2 ]

1 голос
/ 30 мая 2020

Чтобы превратить N_BBP_c_46137_n в BBP и, согласно комментарию , вы просто хотите, чтобы все длинное имя, такое как N_BBP_ , было заменено только BBP *, вы также можете использовать группу захвата для сохранения BBP.

\bN_(BBP)_\S*
  • \bN_ Соответствует N, которому предшествует граница слова
  • (BBP) Группа захвата 1, соответствует BBP (или используйте [A-Z]+ для сопоставления 1+ верхнего регистра символов)
  • _\S* Соответствует _, за которым следует 0+ раз непробельный символ

В качестве замены используйте первую группу захвата $1

Демо Regex

0 голосов
/ 30 мая 2020

Вы можете использовать

(N_)[^_]*(_c_\d+_n)

Заменить на ${1}some new value$2.

Подробности

  • (N_) - Группа 1 ( $1 или ${1}, если следующий символ - это di git): N_
  • [^_]* - любые 0 или более символов, кроме _ - (_c_\d+_n) - Группа 2 ( $2): _c_, 1 или более цифр, а затем _n.

См. Демонстрацию регулярного выражения .

...