源文本是这样的,包含 之间的IP,只是看起来像IP-ish的nubmers,但实际上是垃圾,如999.888.777.669
text_to_parce = "<b>word</b> <b>192.168.0.1</b> <b>name</b> 999.888.777.669 <b>255.1.1.14<b> <b>address</b>"
我只需要提取那些被标签<b></b>
包围的内容来获取此内容:
192.168.0.1
255.1.1.14
我这样做了:
ip_pattern= /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/gi,
userip_array = text_to_parce .match(ip_pattern).join("\n");`
但它提供了所有数字,包括“虚假”IP,我只需要IP(无字),只需要<b></b>
我知道这可能很难,但仍希望能找到帮助......谢谢
答案 0 :(得分:0)
网络上有很多IP地址正则表,这里有一个例子using one I found:
var text_to_parce = "<b>word</b> <b>192.168.0.1</b> <b>name</b> 999.888.777.669 <b>255.1.1.14<b> <b>address</b>";
var validIP = /(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/g;
console.log(text_to_parce.match(validIP))
&#13;
如果您需要确保它包含在<b>
标记中,您只需将其添加到正则表达式的两边