Ho un codice JavaScript, dal quale ho bisogno di trovare gli indici start + end di ogni espressione regolare letterale.Enumera le espressioni regolari tramite UglifyJS
Come possono essere estratte tali informazioni da UglifyJS?
var uglify = require('uglify-js');
var code = "func(1/2, /hello/);";
var parsed = uglify.parse(code);
La struttura che sto entrando nella variabile parsed
è molto complessa. E tutto ciò di cui ho bisogno è un array di [{startIdx, endIdx}, {startIdx, endIdx}]
di ogni espressione regolare letterale.
P.S. Se qualcuno pensa che lo stesso compito possa essere realizzato in un modo che è meglio di quello di UglifyJS, sei invitato a suggerire!
UPDATE
lo so se mi scavare più in profondità nella struttura analizzata, allora per ogni espressione regolare che posso trovare oggetto:
AST_Token {
raw: '/hello/',
file: null,
comments_before: [],
nlb: false,
endpos: 17,
endcol: 17,
endline: 1,
pos: 10,
col: 10,
line: 1,
value: /hello/,
type: 'regexp'
}
ho bisogno di capire come tirare tutti gli oggetti dalla struttura analizzata, così posso compilare la lista degli indici di posizione.
Hai mai intenzione di dirci cosa hai intenzione di fare con queste espressioni regolari estratte o stringhe o i loro indici una volta che li hai estratti? –
@torazaburo fa parte di un altro parser che è già terminato, ad eccezione del supporto corretto delle espressioni regolari. Sono riuscito a isolare circa il 99% di tutti i casi, ma l'ultimo 1% sembra impossibile senza una valutazione completa delle espressioni. Ho solo bisogno di sapere dove si trovano le espressioni regolari all'interno di una determinata riga di codice. –