【发布时间】:2014-10-04 10:46:01
【问题描述】:
我试图理解这个正则表达式的含义:
/^\s*[^#].*?\s*:\s*([a-f0-9.:]+?)\s*-\s*([a-f0-9.:]+?)\s*$/
我正在尝试理解 nodejs 的模块,由于我不是正则表达式方面的专家,所以做起来有点困难。
如果有人能翻译那个表达,那将非常有帮助。
很好的答案。
我想了解的是以下功能:
var parseBlocklist = function(filename) {
var blocklistData = fs.readFileSync(filename, { encoding: 'utf8' });
var blocklist = [];
blocklistData.split('\n').forEach(function(line) {
var match = null;
if ((match = /^\s*[^#].*?\s*:\s*([a-f0-9.:]+?)\s*-\s*([a-f0-9.:]+?)\s*$/.exec(line))) {
blocklist.push({
start: match[1],
end: match[2]
});
}
});
return blocklist;
};
当时我意识到:
函数以文件为参数,读取全部内容
之后,对于构成文件的每一行内容,都使用正则表达式执行一些操作。
好像这个“东西”的结果被推入了数组。
如果可以,请更好地解释这个函数的用途。
【问题讨论】:
标签: javascript regex