正则中test、exec、match的简单区别,以及括号的用法 1、当正则表达式无子表达式,并且定义为非全局匹配时,exec和match执行的结果是一样,均返回第一个匹配的字符串内容;
2、当正则表达式无子表达式,并且定义为全局匹配时,exec和match执行,做存在多处匹配内容,则match返回的是多个元素数组;
3、当正则表达式有子表示时,并且定义为非全局匹配,exec和match执行的结果是一样如上边的第5种情况;
4、当正则表达式有子表示时,并且定义为全局匹配,exec和match执行的结果不一样,此时match将忽略子表达式,只查找全匹配正则表达式并返回所有内容,如上第6种情况;
也就说,exec与全局是否定义无关系,而match则于全局相关联,当定义为非全局,两者执行结果相同
2017 开发者报告:Java最流行的语言,JavaScript最常用的语言,Go最有前途的语言 JetBrains 在 2016 年底至 2017 年初期间,对 5000 多名开发人员进行了调查,以研究最新的开发生态。
最近,调查结果已公布:Java 被评为最流行的语言,JavaScript 是最常用的语言,而 Go 被认为是最有前途的语言。
node.js使用unzip解压zip包指定文件,提取 word/excel (docx/pptx/xlsx) 文本内容 这里介绍最新版office文档内容提取的一些简单方法。对于docx/pptx/xlsx文档来说,其本身就是一些zip文件,只需要在node.js先将其解压,再解析其中存放内容的xm
l即可,如word中的: text.docx\word\document.xml。
我们可以直接使用 unzip 模块,来解压。使用前先安装 unzip。
npm install unzip
Linux下用node.js提取Word(doc/docx)/PDF文本内容 想要做全文搜索引擎,则需要将word/pdf等文档内容提取出来。对于pdf有xpdf等一些开源方案。但Word文档的情况则会复杂一些。
我们这里使用了 antiword 开源软件,来提取word2003以前版本的内容,安装同样非常简单:
apt-get install antiword
用JavaScript获取当月第一天和最后一天 获取当月的第一天和当月的最后一天其实还挺麻烦的,因为每个月天数可能不一样。不过借助 Date 对象则很容易实现:
当月第一天和最后一天
var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);
Node.JSv8的5个新特性:支持string padding与async/await和object参数省略 async/await 没有第三方依赖,写法更直观,再也不用写回调嵌套了:
const fetch = require('node-fetch');
async function getUser(username) {
const res = await fetch(`https://api.github.com/users/${username}`);
const json = await res.json();
return json;
}
async function start() {
const user = await getUser('github');
console.log(user); // prints out info about ‘github’ user on GitHub
}
start();
node.js中fs.stat里的atime,mtime,ctime,birthtime在debian下的更新规则与区别 在node.js中可以通过fs.stats命令,可以查看文件的属性,状态,修改时间等:
atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。网上很多资料都声称cat、more等读取文件的命令会改变atime,这其实与系统设置有关的,一般默认不会修改。
ctime即change time文件状态改变时间,指文件的i结点被修改的时间
mtime即modify time,指文件内容被修改的时间。
birthtime即文件创建时间,很多文件系统不支持。