簡體   English   中英

node.js替換正則表達式特殊字符

[英]node.js replace regex special characters

我正在清理文件名,例如

zx5-565x372.jpg?642e0d

zx5-565x372.jpg

具體來說,我想刪除? 后跟6個小寫字母數字字符。

我已經嘗試過正則表達式

modified = original.replace("\?\w{6}", "") 

其中\\w[a-zA-Z0-9_]相同,而{6}為6,但沒有喜悅。

有人能告訴我正確的方法嗎?

您使用的是字符串,而不是RegExp。

var modified = original.replace(/\?\w{6}$/, "");
modified = original.replace("\?\w{6}", "")
                            \_______/

這只是一個字符串文字,不匹配為正則表達式模式。
實際上是用空字符串替換字符串?w{6} (因為轉義的?w沒有特殊含義)。

改用正則表達式文字:

modified = original.replace(/\?\w{6}/, "");

或者只是放松您的正則表達式要求,以防格式更改:

modified = original.replace(/\?.*/, "");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM