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, $2ou \1, \2etc.
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: $1pxoumargin: \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]*)emsequência de pesquisa (entre parênteses). Coloque o segmento correspondente desejado (por exemplo, $1ou \1) entre ( )parênteses, da seguinte maneira:
- Localizar:
margin: ([0-9]*)em(entre parênteses)
- Substitua por:
margin: $1pxoumargin: \1px
- Resultado:
margin: 10px;
margin: 2px;
EXEMPLO DE CASO INCORRETO: Usando a margin: [0-9]*emsequê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 $1ou \1:
- Localizar:
margin: [0-9]*em(sem parênteses)
- Substitua por:
margin: $1pxoumargin: \1px
- Resultado:
margin: px; /* `$1` is undefined */
margin: px; /* `$1` is undefined */
$0?