Javascript 用于以特定格式匹配IP的正则表达式

Javascript 用于以特定格式匹配IP的正则表达式,javascript,regex,regex-lookarounds,Javascript,Regex,Regex Lookarounds,我有一句话: 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 尝试: 您可以使用正向lookbehind正则表达式,如下所示

我有一句话:

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

尝试:
您可以使用正向lookbehind正则表达式,如下所示:


(?这应该可以让您获得ip

var ipReg=/SRC=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/;
var str='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';
var ip=str.match(ipReg)[1];

console.log(ip)
您可以使用此正则表达式并从group1提取ip

SRC\s*=\s*(\d{1,3}(?:\.\d{1,3}){3})
注意,这个正则表达式还通过在正则表达式中使用
\s*
来放松
SRC
=
和IP之间的空白量,启用不区分大小写的匹配也将有助于匹配
SRC

JS代码演示

const s='OUT=br0 SRC=222.187.221.84 DST=192.168.1.20 LEN=60 OUT=br0 SRC=222.187.221.85 DST=192.168.1.20 LEN=60 OUT=br0 SRC=222.187.221.86 DST=192.168.1.20 LEN=60'
常量reg=/SRC\s*=\s*(\d{1,3}(?:\.\d{1,3}){3})/ig
而((m=reg.exec))){
console.log(m[1])

}
正如其他答案所建议的那样:您可以使用以下内容:

var regex= /SRC = (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/g;
或:

在括号中捕获要匹配的组:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
然后可以继续为字符串中的所有匹配项执行正则表达式

var txt=“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”;
var regex=/SRC\s*=\s*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/g;
var match=regex.exec(txt);
while(匹配!=null){
console.log(匹配[1]);
match=regex.exec(txt);

}
请编辑您的问题,以包含您迄今为止编写的代码。或其他正则表达式:
var regex= /SRC\s*=\s*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/g;
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})