के माध्यम से नियमित अभिव्यक्तियों का आकलन करें मेरे पास कुछ जावास्क्रिप्ट कोड है, जिसमें से मुझे प्रत्येक शाब्दिक नियमित अभिव्यक्ति की प्रारंभ + अंत अनुक्रमणिका मिलनी चाहिए।UglifyJS
ऐसी जानकारी UglifyJS से कैसे निकाली जा सकती है?
var uglify = require('uglify-js');
var code = "func(1/2, /hello/);";
var parsed = uglify.parse(code);
संरचना जो मैं परिवर्तनीय parsed
में प्राप्त कर रहा हूं वह बहुत ही जटिल है। और मुझे बस हर शाब्दिक नियमित अभिव्यक्ति के [{startIdx, endIdx}, {startIdx, endIdx}]
की एक सरणी चाहिए।
पीएस अगर कोई सोचता है कि एक ही कार्य को इस तरह से पूरा किया जा सकता है जो UglifyJS के माध्यम से बेहतर है, तो आपको सुझाव देने के लिए आपका स्वागत है!
अद्यतन
मैं जानता हूँ कि अगर मैं पार्स संरचना में गहराई तक जाएं, तो हर नियमित अभिव्यक्ति के लिए मैं पा सकते हैं वस्तु:
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'
}
मैं यह पता लगाने की कैसे इस तरह के सभी वस्तुओं को खींचने के लिए की जरूरत है पार्सेड संरचना से, इसलिए मैं स्थिति सूचकांक की सूची संकलित कर सकता हूं।
क्या आप कभी भी हमें यह बताने जा रहे हैं कि आप निकाले जाने के बाद इन निकाले गए रेगेक्स या तारों या उनके सूचकांक के साथ क्या करने जा रहे हैं? –
@torazaburo यह नियमित रूप से अभिव्यक्तियों का समर्थन करने के अलावा, एक और पार्सर का हिस्सा है जो पहले से ही समाप्त हो चुका है। मैंने सभी मामलों में से 99% को अलग करने में कामयाब रहा है, लेकिन अंतिम 1% पूर्ण अभिव्यक्ति मूल्यांकन के बिना असंभव प्रतीत होता है। मुझे बस यह जानने की जरूरत है कि कोड की किसी भी पंक्ति के भीतर नियमित अभिव्यक्तियां कहां स्थित हैं। –