如何在javascript中使用正则表达式匹配此特定字符串,如果匹配,则将其设为空
我有一根这样的绳子如何在javascript中使用正则表达式匹配此特定字符串,如果匹配,则将其设为空,javascript,regex,Javascript,Regex,我有一根这样的绳子 ///cache ml/3/11204_gb.png///cache ml/3/16917_ar.png///cache ml/3/52871_au.jpg 我想将其与正则表达式匹配,如果匹配,则将字符串设为空 因此,我想检查字符串是否以“/”开头,以“.png |.jpg”结尾,然后删除/清空整个字符串 /(\/\/\/ cache ml\/\d\/\d{5}_..\.(png|jpg))+/i /是一个特殊字符,因此我们必须像这样对其进行转义\/ cache ml\/
///cache ml/3/11204_gb.png///cache ml/3/16917_ar.png///cache ml/3/52871_au.jpg
我想将其与正则表达式匹配,如果匹配,则将字符串设为空因此,我想检查字符串是否以“/”开头,以“.png |.jpg”结尾,然后删除/清空整个字符串
/(\/\/\/ cache ml\/\d\/\d{5}_..\.(png|jpg))+/i
是一个特殊字符,因此我们必须像这样对其进行转义/
\/
此部件将匹配“cache ml\3\”,前提是它是稳定的cache ml\/3\/\
将匹配任意5位数字\d{5}
匹配任意2个字符。
是一个特殊字符,因此我们必须像这样转义它。
将匹配png或jpg(png | jpg)
- 我们将整个内容分组为一个组
,并使用()
,这意味着一个或多个,因此正则表达式将匹配一个以上的任意重复次数,而不是像您的示例那样仅匹配3次+
- 我们在结尾使用
使正则表达式不区分大小写李>i
var myString=“///cache ml/\d/11204_gb.png///cache ml/3/16917_ar.png///cache ml/3/52871_au.jpg”
var myRegex=/(\/\/\/cache ml\/3\/\d{5}\..\(png | jpg))+/i
var newString=myString.replace(myRegex,“”)
谢谢大家最后我修复了正则表达式,它就在这里
var text = scriptValue.replace(/(\/\/\/ cache ml\/\d\/[a-zA-Z0-9_]*\.(png|jpg|jpeg|gif))+/i, '');
您好,到目前为止您尝试了什么?到目前为止,我尝试了这个正则表达式scriptValue=“///cache ml/3/11204\u gb.png///cache ml/3/16917\u ar.png///cache ml/3/52871\u au.jpg”;var output=scriptValue.replace(/^\/\/\/\s[a-z]+^(png | jpg)$/,“”);问题还不清楚,您希望匹配字符串的哪些部分?您的代码确实有效,但我有一个例外,即52871_au这个名称是动态的;这可以是任何文件名。您能相应地更改代码并帮助我吗?更新答案,使用
*
代替文件名应该可以做到这一点。祝你好运:)别忘了接受答案,如果有帮助的话,请投赞成票。[a-zA-Z0-9.*
这可以替换为*
,因此它将匹配任何语言的任何数字或字符,而不仅仅是拉丁字母。因为我们使用了i
标志,所以您不需要使用a-zA-Z