我试图用 HREF 包装所有出现的 IP 地址,这样我就可以做一些事情了。
我已经通过几个验证器运行正则表达式本身,并且它与预期的模式匹配。因此,我认为我的问题在于实现,但我看不到正确的路径。有人可以帮忙吗?
这是正则表达式和相关代码:
var theIps = new RegExp('^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$','g');
var newBody = jQuery('#ELEMENT').html();
var processed = newBody.replace(theIps, '<a class="ipPopup" href="javascript:void(0)" rel="10.5.1.2" onclick="addToWatchlist(this)">TESTING REGEX</a>');
jQuery('#ELEMENT').html(processed);
预先感谢您的帮助...
最佳答案
为您的正则表达式使用正则表达式语法:
var theIps = /^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$/g;
当您从字符串构建 RegExp 对象时,您必须使用双反斜杠。如果正则表达式是常量(即,您不是动态构建它),那么使用“ native ”语法会更容易。
关于javascript - 正则表达式用 (moSTLy) 字符串内容替换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3937419/