Vorrei sostituire tutte le stringhe racchiuse da -
in stringhe racchiuse da ~
, ma non se questa stringa è di nuovo inclusa da *
.Non sostituire regex se è racchiuso da un carattere
A titolo di esempio, questa stringa ...
The -quick- *brown -f-ox* jumps.
... dovrebbe diventare ...
The ~quick~ *brown -f-ox* jumps.
Vediamo -
è sostituito solo se è non all'interno *<here>*
.
mio javascript-regex per ora (che non si assume alcuna cura se è racchiuso da *
o meno):
var message = source.replace(/-(.[^-]+?)-/g, "~$1~");
Edit: Si noti che potrebbe essere il caso che ci sia un numero dispari di *
s .
Perché il downvote? – poitroae
yup sono stupito, una buona domanda. – Jai
Cosa succede quando c'è un numero dispari di * caratteri? Per esempio. 'Il * -quick- * brown * -f-ox * salta * .' Quali caratteri' -' dovrebbero essere sostituiti e perché? –