{"reg":"^((2[0-4]\d|25[0-5]|[1-9]?\d|1\d{2})\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$"}
现在收到这么一个报文,需要将其转换为正则表达式:
let e1 = /^((2[0-4]\d|25[0-5]|[1-9]?\d|1\d{2})\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/
"192.168.1.1".match(e1)
但是,现在遇到问题了。如果直接使用 new RegExp(),那么需要将 reg 的 value 中/d替换为//d才可以,实际上我做了替换以后还是行不通。
var r2 = new RegExp('^((2[0-4]\d|25[0-5]|[1-9]?\d|1\d{2})\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$'.replace("\\","\\\\"));
undefined
"192.168.1.1".match(r2)
null
有木有大佬帮忙给个思路。谢谢,Google 前三页已经都看过了,没有尝试成功的解决方案。