Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用nodejs从日志文件中提取以字符为前缀和后缀的所有字符串?_Javascript_Node.js - Fatal编程技术网

Javascript 如何使用nodejs从日志文件中提取以字符为前缀和后缀的所有字符串?

Javascript 如何使用nodejs从日志文件中提取以字符为前缀和后缀的所有字符串?,javascript,node.js,Javascript,Node.js,我是Nodejs的新手,我想知道是否有一个Nodejs库,可以用来提取前缀为^和后缀为$的字符串,即^abcde&。每个事件都需要存储到数组中,然后将它们打印到控制台中 以下是my.log文件的内容: 0:0:0:0:0:0:0:1 - - [10/Sep/2015:11:34:54:455 +0100] ^somerandomstring1$ 200 0:0:0:0:0:0:0:1 - - [10/Sep/2015:11:34:55:455 +0100] ^somerandomstring2$

我是
Nodejs
的新手,我想知道是否有一个Nodejs库,可以用来提取前缀为
^
和后缀为
$
的字符串,即
^abcde&
。每个事件都需要存储到
数组中
,然后将它们打印到控制台中

以下是
my.log
文件的内容:

0:0:0:0:0:0:0:1 - - [10/Sep/2015:11:34:54:455 +0100] ^somerandomstring1$ 200
0:0:0:0:0:0:0:1 - - [10/Sep/2015:11:34:55:455 +0100] ^somerandomstring2$ 404
0:0:0:0:0:0:0:1 - - [10/Sep/2015:11:34:56:455 +0100] ^somerandomstring3$ 500
理想情况下,这些字符串中的每一个都需要存储到一个数组中,然后我想迭代它们并将它们打印到控制台上,如:

控制台:

>somerandomstring1

>somerandomstring1


>somerandomstring1

我还没有用过它,但我想它会解决你的问题

但是,事实上,模块不是必需的。JavaScript的本机函数可能就足够了

中有一个关于JavaScript正则表达式的优秀指南


但模块也可以是一种选择

你可能不需要一个模块。使用正则表达式的简单函数就可以做到这一点

function extract(str) {
  var re = /\^([^$]*)\$/g;
  var ret = [];
  do {
    m = re.exec(str);
    if (m) {
      ret.push(m[1]);
    }
  } while (m);
  return ret;
}
此函数将为您提供一个数组,其中只包含^…$之间的字符串;然后,在它上面迭代并添加您想要的前缀(例如“>>”)就很简单了