Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除带有javascript字样的花括号之间的空格_Javascript_Regex_Template Engine - Fatal编程技术网

删除带有javascript字样的花括号之间的空格

删除带有javascript字样的花括号之间的空格,javascript,regex,template-engine,Javascript,Regex,Template Engine,我编写了一个小函数,将模板片段注入HTML,而不使用“大”模板引擎,如EJS、Mustache.js、Nunjucks、Pure.js等 我通过一个键值对象传递这段代码: <div><b>@{firstname} @{lastname}</b>, @{gender}</div> {firstname}{lastname},{gender} 现在,如果有人试图用“@{firstname}”代替“@{firstname}”,我需要删除多余的空格 很

我编写了一个小函数,将模板片段注入HTML,而不使用“大”模板引擎,如EJS、Mustache.js、Nunjucks、Pure.js等

我通过一个键值对象传递这段代码:

<div><b>@{firstname} @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
现在,如果有人试图用“@{firstname}”代替“@{firstname}”,我需要删除多余的空格

很抱歉,我不知道如何编写正确的正则表达式来删除空格。如何删除空格

谢谢你的支持


更新: 感谢@Saleem的回答。下面是修复程序的演示:

尝试以下正则表达式:

result = subject.replace(/(@\{)\s*(\S+)\s*(?=})/img, "$1$2");
如果您输入的字符串是:

<div><b>@{ firstname } @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
输出将是:

<div><b>@{firstname} @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
如您所见,删除了花括号内firstname周围的所有额外空格。请参见此处

尝试以下正则表达式:

result = subject.replace(/(@\{)\s*(\S+)\s*(?=})/img, "$1$2");
如果您输入的字符串是:

<div><b>@{ firstname } @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}
输出将是:

<div><b>@{firstname} @{lastname}</b>, @{gender}</div>
{firstname}{lastname},{gender}

如您所见,删除了花括号内firstname周围的所有额外空格。请参见此处

。只在文本节点上使用正则表达式。你应该接受他的答案。。只在文本节点上使用正则表达式。你应该接受他的答案。