const submitForm = = consoleloga 用正则匹配变量名称以及函数内容值
不建议使用正则表达式来匹配变量名称和函数内容,因为这种方法很容易受到代码结构和格式的影响,并且容易出现误匹配或漏匹配。更好的方法是使用代码解析工具,例如Babel或Esprima,来解析代码并获取变量名称和函数内容。以下是使用Esprima解析代码的示例:
const esprima = require('esprima');
const code = 'const submitForm = () => { console.log(a) }';
const ast = esprima.parseScript(code);
// 获取变量名称
const variable = ast.body[0].declarations[0].id.name;
console.log(variable); // 'submitForm'
// 获取函数内容值
const functionBody = ast.body[0].declarations[0].init.body;
console.log(functionBody); // { type: 'BlockStatement', body: [ { type: 'ExpressionStatement', expression: { type: 'CallExpression', callee: { type: 'MemberExpression', object: { type: 'Identifier', name: 'console' }, property: { type: 'Identifier', name: 'log' }, computed: false }, arguments: [ { type: 'Identifier', name: 'a' } ], optional: false } } ] }
原文地址: https://www.cveoy.top/t/topic/9Wl 著作权归作者所有。请勿转载和采集!