Importante: use los ( )
paréntesis en su cadena de búsqueda
Si bien la respuesta anterior es correcta, ¡hay algo importante que enfatizar! Todos los segmentos coincidentes en su cadena de búsqueda que desea usar en su cadena de reemplazo deben estar encerrados entre ( )
paréntesis , de lo contrario, estos segmentos coincidentes no serán accesibles para variables definidas como $1
, $2
o \1
, \2
etc.
Por ejemplo, queremos reemplazar 'em' con 'px' pero preservar los valores de los dígitos:
margin: 10em; /* Expected: margin: 10px */
margin: 2em; /* Expected: margin: 2px */
- Cadena de reemplazo:
margin: $1px
omargin: \1px
- Cadena de búsqueda (CORRECTA):
margin: ([0-9]*)em
// con paréntesis
- Cadena de búsqueda (INCORRECTA):
margin: [0-9]*em
EJEMPLO DE CASO CORRECTO: Uso de margin: ([0-9]*)em
cadena de búsqueda (con paréntesis). Incluya el segmento coincidente deseado (p. Ej. $1
O \1
) entre ( )
paréntesis de la siguiente manera:
- Buscar:
margin: ([0-9]*)em
(entre paréntesis)
- Reemplazar por:
margin: $1px
omargin: \1px
- Resultado:
margin: 10px;
margin: 2px;
EJEMPLO DE CASO INCORRECTO: Usar una margin: [0-9]*em
cadena de búsqueda (sin paréntesis). El siguiente patrón de expresiones regulares coincidirá con las líneas deseadas, pero los segmentos coincidentes no estarán disponibles en la cadena reemplazada como variables como $1
o \1
:
- Encontrar:
margin: [0-9]*em
(sin paréntesis)
- Reemplazar por:
margin: $1px
omargin: \1px
- Resultado:
margin: px; /* `$1` is undefined */
margin: px; /* `$1` is undefined */
$0
?