{"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 前三页已经都看过了,没有尝试成功的解决方案。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.