привет и с новым годом!

есть небольшая проблема с более чем 2000 .html файлами. Мне нужно выбрать все пустые места из следующего конкретного тега и заменить только один пробел.

<p class="test_formal"> This is my text <em>and all of this</em> I have to go home .</p>

Мое регулярное выражение не очень хорошо :(

Поиск: (?s)(?:\G)|<p class="text_formal">).*?|.*(?=</p>)|+\h

Заменить на: (Leave one space)

2 ответа2

1
  1. Выберите часть, в которую вы хотите внести изменения
  2. Ctrl+H,
  3. Найти что: + (пробел и знак плюс)
  4. Заменить: (просто космос)
  5. Отметьте In selection (или нажмите Alt+I)
  6. Нажмите кнопку Replace all (или нажмите Alt+A)

Это все :)

0
  • Ctrl+H
  • Найдите что: (?:^<p class="text_formal">|\G)\K\s*(\S+)
  • Замените на: $1 # пробел, затем $ 1
  • проверить обернуть
  • проверьте регулярное выражение
  • Заменить все

Объяснение:

(?:                             # start non capture group
    ^                           # beginning of line
    <p class="text_formal">     # literally
  |                             # OR
    \G                          # restart from last match position
)                               # end group
\K                              # forget all we have seen until this position
\s*                             # 0 or more spaces
(\S+)                           # group 1, 1 or more any character that is not a space

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

 <p class="test_formal"> This is my text <em>and all of this</em> I have to go home .</p>

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