在'&&&';使用JavaScript正则表达式
我试图在JS中使用正则表达式删除字符串的最后一部分。此子字符串以在'&&&';使用JavaScript正则表达式,javascript,regex,Javascript,Regex,我试图在JS中使用正则表达式删除字符串的最后一部分。此子字符串以&&&开头,后面是非&&&的内容,最后是.pdf 例如,最后一个正则表达式应该采用如下字符串: parent&&&child&&&grandchild.pdf 和匹配 parent&&&child 我对regex不是很在行,所以我最大的努力是: .*?(?:&&&.*\.pdf) 匹配整个字符串。有人能帮我吗?你可以在replace
&&&
开头,后面是非&&&
的内容,最后是.pdf
例如,最后一个正则表达式应该采用如下字符串:
parent&&&child&&&grandchild.pdf
和匹配
parent&&&child
我对regex不是很在行,所以我最大的努力是:
.*?(?:&&&.*\.pdf)
匹配整个字符串。有人能帮我吗?你可以在
replace
或match
中使用这个贪婪的正则表达式:
var s='parent&&&child&&grant.pdf';
//使用替换
var r=s.replace(/(.*)&&&&.\.pdf$/,“$1”);
控制台日志(r);
//=>父项和子项
//使用火柴
var m=s.match(/(.*)&&&&.*\.pdf$/)
如果(m){
console.log(m[1]);
//=>父项和子项
}
如果要删除最后一部分,请将其更换
var str=“parent&&&child&&grant.pdf”
var result=str.replace(/&&&[^&]+\.pdf$/,'')
console.log(result)
这个答案的问题是,如果孙子字符串包含一个&
字符串,它就会断开。@DavidJ。样本串没有,所以我做了一个假设。是的,这不是最好的,但在某些情况下可以做到。就我个人而言,我会一分为二。你是对的,一分为二可能更有效。谢谢你的提示。