Respostas:
Isso não é possível com um Localizar e substituir regular . Se você usar o Notepad ++ 6, poderá tirar proveito do novo mecanismo de expressão regular que suporta PCRE ( origem ).
Pressione Ctrl+ Hpara abrir a caixa de diálogo Localizar e substituir e execute a seguinte ação:
Find what: \^.*?~
Replace with:
Wrap around: checked
Regular expression: selected
. matches newline: checked
Agora pressione Alt+ Apara substituir todas as ocorrências.
A expressão regular em Localizar o que é composto da seguinte maneira:
\^
é um literal ^ ..*?
é a menor quantidade de caracteres que permite a correspondência da expressão regular.~
é um literal ~ ..*?
padrão funcionou para eu pesquisar entre os caracteres de ;
e <
. Portanto, a pesquisa é ENCONTRAR ;.*?<
SUBSTITUIR ;
com as opções selecionadas para Regular expression
e. matches new line
Você vai querer procurar \^.*?~
e ter certeza . corresponde à nova linha ativada:
Isso ocorre porque ^
tem um significado especial, corresponde ao início de uma linha. Portanto, precisamos escapar com uma barra invertida \^
.
A escrita ^*
corresponderia a "qualquer número de início de linha consecutivo". .*
corresponde a "qualquer caractere", mas, por padrão, não corresponde a novas linhas.
~
caracteres (ou seja, várias correspondências), isso corresponderá ao primeiro ^
até o último ~
.
*?
que não é ganancioso, é preguiçoso .*?~
nunca vai corresponder a mais de um ~
. Então está tudo bem.
Tente usar este regex na seção find \^[^~]*~
para substituir tudo entre ^ e ~ inclusive.
^~
.
\^[^~]*~
com ^~
?
Eu tinha um requisito de substituição ENTRE semelhantes com caracteres de início e fim. Isso veio do email do Outlook; centenas de membros e eu só queria os nomes das pessoas com tudo removido entre <
RemoveTextHere>
.
Original
First1 Last1 <First1.Last1@email.com>; First2 Last2 <First2.Last2@email.com>; First3 Last3 <First3.Last3@email.com>; First4 Last4 <First4.Last4@email.com>;
Dennis estava perto da minha solução, Find what: \^.*?~
mas tive que mudar meus caracteres literais e Find what: \<.*?>
depois remover a primeira barra Find what: <.*?>
.
Atualizado Find what: <.*?>
; Substitua vazio.
First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4
_
Caracteres especiais : *
, $
, \
, +
, ^
, (
e )
, [
, ]
, {
e}
Caracteres especiais são descritos por Jerry Jeremiah aqui /programming/37742519/notepad-wildcard .