В Notepad++ заменить каждый 3-й и 4-й итерации

Я использую notepad++ мне интересно, можно ли заменить каждую 3-ю и 4-ю итерацию в строках HTML.

исходный код выглядит так:

<div class="ui-bar ui-bar-d"
<div class="ui-bar ui-bar-d"
<div class="ui-bar ui-bar-d"
<div class="ui-bar ui-bar-d"

повторяющиеся...

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

<div class="ui-bar ui-bar-d"
<div class="ui-bar ui-bar-d"
<div class="ui-bar bg ui-bar-d"
<div class="ui-bar bg ui-bar-d"

повторяющиеся...

есть ли регулярные выражения, которые будут это делать?

21
задан gronostaj
11.05.2023 19:47 Количество просмотров материала 2916
Распечатать страницу

1 ответ

Я предполагаю, что ваш HTML выглядит так:

<div class="ui-bar ui-bar-d" ... and something else ... (newline)
<div class="ui-bar ui-bar-d" ... and something else ... (newline)
<div class="ui-bar ui-bar-d" ... and something else ... (newline)
<div class="ui-bar ui-bar-d" ... and something else ... (newline)
... etc...

и предположим, что вы хотите сохранить ... and something else ... часть.

в поле поиска, попробовать

(<div class="ui-bar ui-bar-d".*\r\n)(<div class="ui-bar ui-bar-d".*\r\n)<div class="ui-bar ui-bar-d"(.*\r\n)<div class="ui-bar ui-bar-d"(.*\r\n)

заменить на

<div class="ui-bar bg ui-bar-d"<div class="ui-bar bg ui-bar-d"

в зависимости от того, используете ли Вы Windows или UNIX тип EOL (т. е. символ новой строки), вам может потребоваться изменить все \r\n на \n.


более обобщенное регулярное выражение, заменяющее только ui-bar ui-bar-d статья:

(.*ui-bar ui-bar-d.*\r\n)(.*ui-bar ui-bar-d.*\r\n)(.*)ui-bar ui-bar-d(.*\r\n)(.*)ui-bar ui-bar-d(.*\r\n)

и заменить на

ui-bar bg ui-bar-dui-bar bg ui-bar-d
2
отвечен Kenneth L 2023-05-13 03:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх