Nel seguente stringa di input:Guidance Regular Expression necessario per Javascript
{$foo}foo bar \\{$blah1}oh{$blah2} even more{$blah3} but not{$blarg}{$why_not_me}
Sto cercando di abbinare tutte le istanze di {$SOMETHING_HERE}
che non sono preceduti da un backslash non protetto.
Esempio:
lo voglio per abbinare {$SOMETHING}
ma non \{$SOMETHING}
.
Ma io lo voglio per abbinare \\{$SOMETHING}
Tentativi:
tutti i miei tentativi finora corrisponderà quello che voglio tranne che per tag accanto all'altro come {$SOMETHING}{$SOMETHING_ELSE}
Qui è quello che attualmente ho:
var input = '{$foo}foo bar \\{$blah1}oh{$blah2} even more{$blah3} but not{$blarg}{$why_not_me}';
var results = input.match(/(?:[^\\]|^)\{\$[a-zA-Z_][a-zA-Z0-9_]*\}/g);
console.log(results);
Quali uscite:
["{$foo}", "h{$blah2}", "e{$blah3}", "t{$blarg}"]
Goal
voglio che sia:
["{$foo}", "{$blah2}", "{$blah3}", "{$blarg}", "{$why_not_me}"]
Domanda
nessuno mi può punto nella giusta direzione?
Sono consapevole che un look-behind è quello di cui ho bisogno e che il javascript non li supporta. Non ho mai fatto uno sguardo falso prima, ma controllerò il link! – nathanjosiah
@nathanjosiah ho aggiornato la mia risposta con maggiori informazioni. – Griffin
Grazie per l'articolo! Proprio quello di cui avevo bisogno! Ho pubblicato la mia soluzione come risposta. – nathanjosiah