我正在尝试识别像这样的字符串:file=2013/08/something_320x480.jpg 并用 JavaScript 替换它。
这是我的正则表达式:
newStr = str.replace('/file=\d+\/\d+\/.+\d+x\d+.jpg/', 'irrelevant');
我也试过
newStr = str.replace('/file=.+\.jpg/', 'irrelevant');
但是,我的字符串永远不会被替换。我究竟做错了什么?
我正在尝试识别像这样的字符串:file=2013/08/something_320x480.jpg 并用 JavaScript 替换它。
这是我的正则表达式:
newStr = str.replace('/file=\d+\/\d+\/.+\d+x\d+.jpg/', 'irrelevant');
我也试过
newStr = str.replace('/file=.+\.jpg/', 'irrelevant');
但是,我的字符串永远不会被替换。我究竟做错了什么?
正则表达式文字不带撇号。
尝试:
newStr = str.replace(/file=\d+\/\d+\/.+\d+x\d+.jpg/, 'irrelevant');
你确定文件是按照你说的那样设置的吗?我刚刚在控制台中尝试了您的示例,它可以工作...
> var a = "file=2013/08/something_320x480.jpg"
undefined
> a.replace(/^file=\d+\/\d+\/.+\d+x\d+.jpg$/, 'irrelevant');
"irrelevant"
更新: 我没有发现你的正则表达式中有 apos',很明显@Taemyr