Salve Sono incappato in un problema relativo alle espressioni regolari che non riesco a risolvere.Un'espressione regolare javascript per tokenizzare la query
devo tokenize query (query diviso in parti), supponiamo il seguente come esempio:
These are the separate query elements "These are compound composite terms"
Quello che casualmente serve è avere una matrice di 7 gettoni:
1) These
2) are
3) the
4) separate
5) query
6) elements
7) These are compound composite term
Il settimo token è composto da più parole perché era racchiuso tra virgolette doppie.
La mia domanda è: E 'possibile tokenize la stringa di input di conseguenza per le spiegazioni di cui sopra utilizzando un'espressione regolare?
Modifica
mi incuriosiva possibilità di utilizzare Regex.exec
o un codice simile al posto di split
oltre a raggiungere la stessa cosa, così ho fatto un po 'di indagine che è stato seguito da another question here. E così come un'altra risposta ad una domanda di un seguente espressione regolare può essere utilizzato:
(?:")(?:\w+\W*)+(?:")|\w+
Con il seguente one-liner utilizzo scenario:
var tokens = query.match(/(?:")(?:\w+\W*)+(?:")|\w+/g);
Spero che sarà utile ...
Oh, stavo cercando di interrogare i valori invece di dividere la stringa ... – Lu4
Ma in questo caso, si ha tra virgolette intorno ' "Questi sono composti termine composito"'. Pensavo non avessi bisogno di virgolette. –
Funzionerebbe anche, il punto principale è la prestazione – Lu4