使用JavaScript正则表达式删除'&&&'之后的字符串的最后一部分

时间:2018-12-11 14:25:29

标签: javascript regex

我正在尝试在JS中使用正则表达式来删除字符串的最后一部分。该子字符串以&&&开头,后跟不是&&&的内容,并以.pdf结尾。

因此,例如,最终的正则表达式应采用类似以下的字符串:

parent&&&child&&&grandchild.pdf

并匹配

parent&&&child

我对正则表达式不太满意,所以我最大的努力就是:

.*?(?:&&&.*\.pdf)

匹配整个字符串。有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以在where p.created_at = (select min(p.created_at) from frunk)replace中使用此贪婪的正则表达式:

match

通过在var s = 'parent&&&child&&&grandchild.pdf'; // using replace var r = s.replace(/(.*)&&&.*\.pdf$/, '$1'); console.log(r); //=> parent&&&child // using match var m = s.match(/(.*)&&&.*\.pdf$/) if (m) { console.log(m[1]); //=> parent&&&child }之前使用贪婪模式 .*,我们确保在输入中匹配** &&&的最后一个实例。

答案 1 :(得分:1)

您要删除最后一部分,所以将其替换

var str = "parent&&&child&&&grandchild.pdf"
var result = str.replace(/&&&[^&]+\.pdf$/, '')
console.log(result)