UNPKG

cparse

Version:

一个基于 Cheerio 的 HTML 解析和数据提取工具库

41 lines (34 loc) 637 B
/** * Parse the given format `str`. * * @param {String} str * @return {Array} * @api public */ module.exports = function(str) { return str.split(/ *\| */).map(function(call) { var parts = call.split(':'); var name = parts.shift(); var args = parseArgs(parts.join(':')); return { name: name, args: args }; }); }; /** * Parse args `str`. * * @param {String} str * @return {Array} * @api private */ function parseArgs(str) { var args = []; var re = /"([^"]*)"|'([^']*)'|([^ \t,]+)/g; var m; while ((m = re.exec(str))) { args.push(m[2] || m[1] || m[0]); } return args; }