У меня есть текстовый файл, который содержит что-то вроде этого:

iosudhfsdkflasgj \aaa asdgsdga3453t.ggsdg\n \bbb
hjdfghjdfgjhh \ccc jtj56ywyrty546y \bbb 
yjksfgh \aaa sefgwetgwgeregerg \bbb
u56j56jh \ddd agfwegaewrg\n \bbb

В основном строка в середине имеет буквы, цифры и иногда \n в конце, прямо перед \bbb . Строка в середине может иметь несколько или несколько символов.

Я хочу удалить строки \aaa и \bbb где начинается с \aaa и заканчивается на \bbb , но оставить среднюю часть. Я также не хочу касаться тех, кто начинается с \ccc , \ddd , \eee ...

Результат должен выглядеть так:

iosudhfsdkflasgj asdgsdga3453t.ggsdg\n
hjdfghjdfgjhh \ccc jtj56ywyrty546y \bbb 
yjksfgh sefgwetgwgeregerg 
u56j56jh \ddd agfwegaewrg\n \bbb

Спасибо!

1 ответ1

0
  • Ctrl+H
  • Найти что: \\aaa(\b.+?)\\bbb
  • Заменить на: $1
  • проверить обернуть
  • проверьте регулярное выражение
  • ПРОВЕРИТЬ . matches newline
  • Заменить все

Объяснение:

\\aaa       # \aaa (the backslash has to be escaped)
(\b.+?)     # group 1, a word boundry, 1 or more any character, not greedy
\\bbb       # \bbb (the backslash has to be escaped)

Результат для данного примера:

iosudhfsdkflasgj  asdgsdga3453t.ggsdg\n 
hjdfghjdfgjhh \ccc jtj56ywyrty546y \bbb 
yjksfgh  sefgwetgwgeregerg 
u56j56jh \ddd agfwegaewrg\n \bbb

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .