1
我試圖從JavaScript和正則表達式的netscape格式cookie文件中提取cookie。使用正則表達式在php和python中工作,但由於某種原因,它不適用於JavaScript。它不返回任何匹配。當代替[\ S]我使用[^ \ s]它會給出匹配,但它會刪除字符'',這不是最優的... 無論如何,這是代碼和測試字符串,讓我知道它的一些明顯的事正則表達式匹配非空格字符
function readCookies(){
fs.readFile(myArgs[0], 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
var rx = new RegExp("(\S*?)\t(\S*?)\t(\S*?)\t(\S*?)\t(\S*?)\t(\S*?)\t(\S+)", "g");
var matches = new Array();
var name = true;
while((match = rx.exec(data)) !== null){
console.log(String(match[1]).trim())
}
});
}
測試字符串:
# Netscape HTTP Cookie File
# http://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
sffd.com FALSE / FALSE 1418953710 proimg 709c76
sffd.com FALSE / FALSE 1418953710 proimg1 709c76
.sffd.com FALSE / FALSE 1418953710 proimg2 709c76
是的,謝謝:) – Evan