node.js - 正则表达式不返回任何值,获取 ip
问题描述
我正在尝试使用带有正则表达式的 nodejs 上的脚本从 netstat -a 获取 IP 地址,但我无法解决这个问题。
正则表达式似乎无法从 netstat 的输出文件中返回值。
这是代码:
const { spawn } = require("child_process");
const fs = require("fs");
const netstat = spawn("netstat", ["-n", ">", `D:/iplookup/out.txt`]);
const regex = /^([0-255]{1-3}\.)(3)[0-255]:[0-9]{1-4}*$/g;
const re = new RegExp(regex);
netstat.on("close", () => {
fs.readFile("D:/iplookup/out.txt", "utf8", (error, data) => {
if(error) {
console.log(error);
}
var m = [];
dt = data.replace(/(\r\n|\n|\r)/gm, "");
console.log(re.test(dt));
do {
m.push(dt.matchAll(re));
} while (dt.match(re));
console.log(m)
});
});
谢谢。
解决方案
^([01][0-9][0-9]|2[0-4][0-9]|25[0-5]).([01][0-9][0-9]|2[0-4][0-9]|25[0-5]).([01][0-9][0-9]|2[0-4][0-9]|25[0-5]).([01][0-9][0-9]|2[0-4][0-9]|25[0-5]):([0-9]|[0-9][0-9]|[0-9][0-9][0-9]|[0-9][0-9][0-9][0-9]|[0123456][0-4][0-9][0-9][0-9]|65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5])
推荐阅读
- laravel - 如何使用 auth0 在 laravel 中设置不同的身份验证保护
- c++ - 我不断得到预期;错误,我不确定为什么
- web-services - Web 服务客户端生成 - 存根与 Soap 消息
- powerbi - POWER BI 计算列,包含来自不同表的数据和键值
- ansible - 角色覆盖剧本中的任务
- reactjs - 如何从新页面和窗口中的 onclick 事件渲染中获取结果
- python - PyTest:在断言错误中排除模块/插件行号
- python - 我尝试了每一个功能,但它们都不起作用,我希望识别的语音出现在输入框中
- watson-openscale - AWS SageMaker 上的负载日志记录
- android - 显示对话框时背景屏幕变为非交互