在我的网络应用中,我需要删除一对``
之间内容之前和之后的所有空格和换行符。例如:
``\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;
})
注意,我只想删除外部空白,需要保留属于内容的空白。
答案 0 :(得分:1)
分两步。
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
});
如果问题看起来太难,通常将其分解为更小的问题就是答案。