J'ai une chaîne, comme hello _there_
. Je voudrais remplacer les deux traits de soulignement par <div>
et </div>
respectivement, en utilisant JavaScript . La sortie ressemblerait donc à hello <div>there</div>
. La chaîne peut contenir plusieurs paires de traits de soulignement.
Ce que je cherche est un moyen de soit exécuter une fonction sur chaque match, la façon dont il le fait Ruby:
"hello _there_".gsub(/_.*?_/) { |m| "<div>" + m[1..-2] + "</div>" }
Ou être capable de référencer un groupe apparié, encore une fois comme cela peut être fait en rubis:
"hello _there_".gsub(/_(.*?)_/, "<div>\\1</div>")
Des idées ou des suggestions?
javascript
regex
Sinan Taifour
la source
la source
$1
place de\1
? Quelqu'un fournirait-il un lien vers la documentation?replacementValue
peut être une fonction et il est passé différents arguments en fonction des groupes de capture? Incroyable!"hello _there_".replace(/_(.*?)_/, /<div>\1<\/div>/)
.Vous pouvez utiliser à la
replace
place degsub
.la source
Pour la chaîne de remplacement et le modèle de remplacement spécifiés par
$
. ici un CV:lien vers doc: ici
Remarque:
Si vous voulez avoir un
$
dans la chaîne de remplacement, utilisez$$
. Identique au système d'extraits de code vscode.la source