Notepad ++ substitui cada terceira e quarta iteração

1

Estou usando o bloco de notas ++ Estou pensando se é possível substituir toda terceira e quarta iteração em linhas de HTML.

O código original se parece com:

<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"

recorrendo ...

Eu preciso mudar cada segundo bloco de dois para se parecer com isso.

<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"

recorrendo ...

Existe alguma expressão regular que fará isso?

    
por Farang 09.04.2014 / 04:56

1 resposta

2

Eu suponho que seu HTML se parece com

<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...

e suponha que você deseja manter a parte ... and something else ... .

No campo de pesquisa, tente

(<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)

Substituir por

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

Dependendo se você estiver usando o Windows ou UNIX, digite EOL (ou seja, caractere de nova linha), talvez seja necessário alterar todos os \r\n para \n .

Um regex mais generalizado que substitui apenas a cláusula 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)

e substitua por

ui-bar bg ui-bar-dui-bar bg ui-bar-d
    
por 09.04.2014 / 06:32