我有点陷入正则表达式。
我需要获取支架和方括号之间的IP地址。 这将获得IP。
([0-9]{1,3}[\.]){3}[0-9]{1,3}
但如果我这样做,我也会得到括号。
\(\[([0-9]{1,3}[\.]){3}[0-9]{1,3}\]\)
我尝试使用前瞻,但它不起作用(我很确定它是语法错误,但我不知道如何修复它。)
\(\[(?=[([0-9]{1,3}[\.]){3}[0-9]{1,3})
这必须在Javascript中使用。
答案 0 :(得分:0)
你需要使用外观。
(?<=\(\[)(?:[0-9]{1,3}\.){3}[0-9]{1,3}(?=\]\))
或强>
由于javascript不支持look-behinds,我们唯一的选择是capturing groups并打印索引1以获取ip-addresses。
\(\[((?:[0-9]{1,3}\.){3}[0-9]{1,3})\]\)
在javascript中,它就像
> var str = "foo ([122.122.122.122]) bar"
undefined
> console.log(/\(\[((?:[0-9]{1,3}\.){3}[0-9]{1,3})\]\)/.exec(str)[1]);
122.122.122.122
如果输入包含多个地址,请使用此
> var str = "foo ([122.122.122.122]) bar foo ([122.122.122.122]) bar"
undefined
> var re = /\(\[((?:[0-9]{1,3}\.){3}[0-9]{1,3})\]\)/g;
undefined
> var m;
undefined
> while ((m = re.exec(str)) != null) {
... console.log(m[1]);
... }
122.122.122.122
122.122.122.122
答案 1 :(得分:0)
/([((?:\。d {1,3}){3} \ d {1,3})])/克