Javascript Regex Look behind

Javascript Regex Look behind

本文关键字:behind Look Regex Javascript      更新时间:2023-09-26

在我的 Web 应用程序中,我需要删除一对``之间内容前后的所有空格和换行符。例:

``'s's's's'stest1234's's's's23432's's's's's's's``会变成这样的东西:``test1234's's's's23432``.

's是空格)

我为此编写的正则表达式是:/(``(?<=['s]*)[^`]*(?=['s]*)``)/g但我发现 JS 没有后面的头,我将如何将这个正则表达式转换为可以完成这项工作的东西?

我的JavaScript看起来像这样:

replace(/(``(?<=['s]*)[^`]*(?=['s]*)``)/g, function(match, p1) {
    return p1;
})

注意,我只想删除外部空格,属于内容的空格不需要保留。

做两步。

var src = "``     test123423432    'n'n   ``";
var results = src.replace(/``(['s'S]*?)``/g,function(_,m) {
    // note ['s'S] above is to handle JS's lack of a DOTALL flag
    return "``"+m.replace(/^'s+|'s+$/g,"")+"``"; // trim all whitespace
});

如果一个问题看起来太难,通常将其分解为更小的问题就是答案。