%20en%20una%20etiqueta%20html%20(de%20una%20cadena).png)
Tengo esta etiqueta html (de cadena):
<meta name="description" content="I love my mother" but I love my sister" more than I can say"/>
Como puede ver, tengo 4 comillas dobles (apóstrofo) en elcontenidosección. Deben tener solo 2 comillas dobles: una al principio content="
y otra al final."/>
Debo encontrar todas las etiquetas que contengan otras comillas dobles excepto esas 2 en la sección de contenido y eliminarlas:
La salida debe ser:
<meta name="description" content="I love my mother but I love my sister more than I can say"/>
Hice una expresión regular, pero no demasiado buena. Quizás podrías ayudarme:
ENCONTRAR:(?-s)(<meta name="description" content=")(*?\K.*"(?s))"/>
SUSTITUIR POR:\1\2
Respuesta1
He aquí un camino a seguir:
- Ctrl+H
- Encontrar que:
(?:<meta name="description" content="|\G(?!^))[^"]*\K"(?=.*?"/>)
- Reemplazar con:
LEAVE EMPTY
- CONTROLAR Envolver alrededor
- CONTROLAR Expresión regular
- DESMARCAR
. matches newline
- Replace all
Explicación:
(?: # non capture group
<meta name="description" content=" # literally
| # OR
\G(?!^) # restart from last match position (not at the beginning of a line)
) # end group
[^"]* # 0 or more non quote
\K # forget all we have seen until this position
" # a double quote
(?=.*?"/>) # positive lookahead, make sure we have "/> somewhere after
Captura de pantalla (antes):
Captura de pantalla (después):