Como procurar por strings que incluam novas linhas no Notepad ++

0

Eu estou passando por arquivos de legendas para que haja coisas como

442
00:24:18,017 --> 00:24:20,551
Now you're just looking
for a scapegoat.

e eu estou querendo saber como eu posso procurar por "apenas procurando por um" e ter que encontrar isso. Agora "você está apenas olhando" fica um jogo ", para um bode expiatório" fica um jogo ", à procura de" não recebe um jogo.

Eu tentei colocar o modo de pesquisa em normal / estendido

    
por user1021085 15.02.2018 / 20:07

3 respostas

3

Se você usar a pesquisa estendida, poderá pesquisar \r\n como nova linha quando o documento for criado no Windows. Quando foi criado no linux, é mais provável que apenas \n

Então, se você pesquisar por:

just looking\r\nfor a

Ele deve encontrar as correspondências. Para certificar-se exatamente do que procurar, pressione o botão na barra de ferramentas para ativar a exibição de todos os caracteres especiais.

Qualquer CR é encontrado procurando por \r e qualquer LF é encontrado procurando por \n .

Olhe atentamente para quaisquer espaços no início e no final da linha e pesquise por eles também.

    
por 15.02.2018 / 20:21
0

O bloco de notas usa o PCRE (Perl Compatible Regular Expression) para pesquisa / substituição. Então você pode usar \s para espaço em branco, por exemplo com um espaço / nova linha

looking\sfor

ou esta expressão regular com pelo menos um ou muitos espaços / novas linhas

looking\s+for

Veja também regular-expressions.info - Classes de caracteres abreviados

\s stands for "whitespace character". Again, which characters this actually includes, depends on the regex flavor. In all flavors discussed in this tutorial, it includes [ \t\r\n\f]. That is: \s matches a space, a tab, a line break, or a form feed. Most flavors also include the vertical tab, with Perl (prior to version 5.18) and PCRE (prior to version 8.34) being notable exceptions. In flavors that support Unicode, \s normally includes all characters from the Unicode "separator" category. Java and PCRE are exceptions once again. But JavaScript does match all Unicode whitespace with \s.

    
por 15.02.2018 / 21:00
0

Existem várias maneiras, hooray para regexes e Perl !!!

1. Tente colocá-lo na expressão regular feita e procure por "apenas olhando. *? Para um" sem as aspas e verifique se a caixa de seleção está marcada para fazer o. novas linhas de correspondência de caracteres. isso corresponde à nova linha, coloque [] * em volta. *? se você não quiser que ele coincida com a nova linha também.

2. Literalmente combine o \ r \ n como na outra resposta. Coloque em regex feito e procure por "apenas procurando \ r \ npara um" isso corresponde à nova linha, coloque [] * em volta \ r \ n se você não quiser que ele corresponda à nova linha. Adicione \ s + dentro dos colchetes [] para igualar os espaços também.

Espero que isso ajude! Por favor, comente para esclarecimentos!

    
por 15.02.2018 / 21:06