Encontrei muitos posts semelhantes, mas nenhum deles responde à minha pergunta. Gostaria de substituir/remover/alterar a tag de abertura e fechamento por uma palavra-chave específica. neste caso, estou tentando remover todas as tags com href="#" nela....
<a href="#">leave this text</a>
<a class="" id="" href="#">leave this text too</a>
<a href="http://......">Dont remove this tag!</a>
Eu tenho esse código, mas não consigo descobrir como deixar o texto ...
find: <a[^h]*href="#"[^>]*> (skip content) </a>
replace: (same content)
or
replace: <a href="somthing"> (same content) </a>
Responder1
Estou tentando remover todas as tags que contêmhref="#"
Menu "Pesquisar" > "Substituir" (ou Ctrl+ H)
Defina "Encontrar o quê" como
<a .*?href="#">(.*?)</a>
Defina "Substituir por" para
\1
Habilite "Expressão regular"
Clique em "Substituir tudo"
Antes:
<a href="#">leave this text</a>
<a class="" id="" href="#">leave this text too</a>
<a href="http://......">Dont remove this tag!</a>
Depois:
leave this text
leave this text too
<a href="http://......">Dont remove this tag!</a>
Como apontado porAFHem um comentário, há uma expressão regular melhor que capturará expressões que não foram incluídas nos dados de amostra.
Defina "Encontrar o quê" como
<a .*?href="#" .*?>(.*?)</a>
Isto irá corresponder às linhas onde existem cláusulasdepoiso
href="#"
(e antes da primeira correspondência>
).Observação:
Ele não funcionará corretamente se houver algum
>
s no campo de valor de uma cláusula subsequente (antes da>
correspondência<a
)
Leitura adicional
Responder2
Obrigado Davi pela resposta! Mas na verdade o código: <a .*?href="#">(.*?)</a>
não encontrou nenhum atributo no meu arquivo. Pode ser devido a outras configurações ou versões diferentes do notepad++. Eu tive que usar este código:
Find: <a[^h]*href="#"[^>]*>(.*?)</a>
Replace: <a href="new_url">\1</a>