Eu tenho uma string, como hello _there_
. Gostaria de substituir os dois sublinhados por <div>
e </div>
respectivamente usando JavaScript . A saída seria (portanto) parecida hello <div>there</div>
. A sequência pode conter vários pares de sublinhados.
O que eu estou procurando é uma maneira de tanto executar uma função em cada jogo, a forma como Ruby faz isso:
"hello _there_".gsub(/_.*?_/) { |m| "<div>" + m[1..-2] + "</div>" }
Ou consiga referenciar um grupo correspondente, novamente da maneira que pode ser feito em ruby:
"hello _there_".gsub(/_(.*?)_/, "<div>\\1</div>")
Alguma idéia ou sugestão?
javascript
regex
Sinan Taifour
fonte
fonte
$1
vez de\1
? Alguém forneceria um link para a documentação?replacementValue
pode ser uma função e são transmitidos argumentos diferentes com base nos grupos de captura? Surpreendente!"hello _there_".replace(/_(.*?)_/, /<div>\1<\/div>/)
.Você pode usar em
replace
vez degsub
.fonte
Para a sequência de substituição e o padrão de substituição, conforme especificado por
$
. aqui um resumo:link para doc: aqui
Nota:
Se você deseja ter um
$
na seqüência de caracteres de substituição, use$$
. O mesmo que com o sistema de trechos vscode.fonte