【发布时间】:2016-08-17 18:41:20
【问题描述】:
我有一个 Angular 应用程序,用户可以在其中添加一个表单中的正则表达式,值如下:
github\.com/([A-Za-z0-9\-\_]+)/([A-Za-z0-9\-\_]+)
当我将它存储在 localStorage 并检查 localStorage 时:
github\\\\.com\\/([A-Za-z0-9\\\\-\\\\_]+)\\/([A-Za-z0-9\\\\-\\\\_]+)
当我在其他地方用 Javascript 检索这个值时,我得到:
github\\.com\/([A-Za-z0-9\\-\\_]+)\/([A-Za-z0-9\\-\\_]+)
这不是原来的正则表达式,Javascript中的match方法不能工作。
注意:提交表单后,我将对象存储为:
localStorage.myobject = JSON.stringify(myobject);
【问题讨论】:
-
从本地存储中检索后将字符串传递给 RegExp 构造函数:
new RegExp('github\\.com\/([A-Za-z0-9\\-\\_]+)\/([A-Za-z0-9\\-\\_]+))。