Importante: Use os ( )
parênteses na sua sequência de pesquisa
Enquanto a resposta anterior estiver correta, há uma coisa importante a enfatizar! Todos os segmentos correspondentes na sua sequência de pesquisa que você deseja usar na sequência de substituição devem ser colocados entre ( )
parênteses , caso contrário, esses segmentos correspondentes não estarão acessíveis a variáveis definidas como $1
, $2
ou \1
, \2
etc.
Por exemplo, queremos substituir 'em' por 'px', mas preservar os valores dos dígitos:
margin: 10em; /* Expected: margin: 10px */
margin: 2em; /* Expected: margin: 2px */
- Cadeia de substituição:
margin: $1px
oumargin: \1px
- String de pesquisa (CORRETO):
margin: ([0-9]*)em
// com parênteses
- Sequência de pesquisa (INCORRETA):
margin: [0-9]*em
EXEMPLO DE CASO CORRETO: Usando a margin: ([0-9]*)em
sequência de pesquisa (entre parênteses). Coloque o segmento correspondente desejado (por exemplo, $1
ou \1
) entre ( )
parênteses, da seguinte maneira:
- Localizar:
margin: ([0-9]*)em
(entre parênteses)
- Substitua por:
margin: $1px
oumargin: \1px
- Resultado:
margin: 10px;
margin: 2px;
EXEMPLO DE CASO INCORRETO: Usando a margin: [0-9]*em
sequência de pesquisa (sem parênteses). O seguinte padrão regex corresponderá às linhas desejadas, mas os segmentos correspondentes não estarão disponíveis na cadeia substituída como variáveis como $1
ou \1
:
- Localizar:
margin: [0-9]*em
(sem parênteses)
- Substitua por:
margin: $1px
oumargin: \1px
- Resultado:
margin: px; /* `$1` is undefined */
margin: px; /* `$1` is undefined */
$0
?