javascript - RegEx 用于匹配特定格式的 IP
问题描述
我有这条线:
OUT = br0 SRC = 222.187.221.84 DST = 192.168.1.20 LEN = 60 OUT = br0 SRC = 222.187.221.84 DST = 192.168.1.20 LEN = 60 OUT = br0 SRC = 222.187.221.84 DST = 192.168.1.20 LEN = 60
我怎样才能只得到 src = (ipaddress) 而只得到 ipaddress?
试图:
SRC=(.+)(\d+)(.+?(?=DST))
解决方案
您可以使用积极的后向正则表达式,如下所示:
(?<=SRC = )\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
正则表达式 101 示例: https ://regex101.com/r/cuAUm3/1/
javascript代码:
const regex = /(?<=SRC = )\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/gm;
const str = `OUT = br0 SRC = 222.187.221.84 DST = 192.168.1.20 LEN = 60 OUT = br0 SRC = 222.187.221.84 DST = 192.168.1.20 LEN = 60 OUT = br0 SRC = 222.187.221.84 DST = 192.168.1.20 LEN = 60`;
console.log(str.match(regex));
结果:
Array(3)
0: "222.187.221.84"
1: "222.187.221.84"
2: "222.187.221.84"
推荐阅读
- java - 无法访问类 jdk.xml.internal.JdkXmlUtils
- c++ - 在递归函数中调用另一个函数会导致错误。为什么?
- vba - 列出 BuiltInDocumentProperties 会导致错误
- kernel-module - 在 RPI 4 sanitizer 问题上构建内核模块
- sql-server - 查找引用不存在的表列的 SQL 对象
- excel - 如何在 SAS 中导出这些列 E 和 F(excel)?
- c# - 如何使用 LinQ 对特定数量的行进行分组?
- logging - 如何将以前的运行更新到 MLFlow?
- java - java 11 Idea如何修复编译失败
- swiftui - 简单的布局有不需要的大间隙