jquery解析大括号内的文本

jquery解析大括号内的文本,jquery,regex,parsing,Jquery,Regex,Parsing,我想删除 包括大括号在内的整个文本 外部大括号,但不包括[[和]]中的文本 [[必须保留此文本]]此{删除此垃圾}和此 我实施了上述措施,目前正在: 我用了这个: 但是在我的服务器(127.0.0.1)中,相同的代码并没有起到作用,我尝试了两种方法 str.replace(regex, charecter) 还有在JSFIDLE上提到的那个 我的问题是: 我的正则表达式组合正确吗?如果不正确,请说明问题所在 请不要在main.js上考虑任何服务器错误 index.html只有一个示例

我想删除

  • 包括大括号在内的整个文本
  • 外部大括号,但不包括[[和]]中的文本
[[必须保留此文本]]此{删除此垃圾}和此

我实施了上述措施,目前正在: 我用了这个:

但是在我的服务器(127.0.0.1)中,相同的代码并没有起到作用,我尝试了两种方法

str.replace(regex, charecter)
还有在JSFIDLE上提到的那个

我的问题是:

  • 我的正则表达式组合正确吗?如果不正确,请说明问题所在
  • 请不要在main.js上考虑任何服务器错误

index.html只有一个
示例文本(如上所示)

而不是以下内容:

$("p").replaceText(/\{\{.+\}\}/U/gi, '****' );
试试这个:

$("p").replaceText(/\{\{.+?\}\}/gi, '****' );
添加问号使匹配的模式不贪婪——也就是说,它将匹配它遇到的下一个
}
,而不是最后一个


编辑:您已经声明这对您不起作用。也许省略replaceText插件并改用普通的old
replace()
将有助于:

$("p").each( function(){
    $(this).text( $(this).text().replace(/\{\{.+?\}\}/gi, '****' ) );
});
同样,当按上述方式编辑时,它似乎在您的小提琴中工作。问题可能出在插件上。

这样做:

$(function()
{
    $("p").replaceText(/\{\{.*?\}\}/gi, '' ); //removes {{...}}
    $("p").replaceText(/\[\[(.*?)\]\]/gi, '$1' ); //removes [[ and ]] around text
}); 

它不起作用可能是因为我在jscript字符串对象中发送的文本大约有7000个单词。让我知道你对使用上述方法处理如此长的字符串的看法。@Rahul,当我把这段文字放大到7000字时,上述建议确实有效(至少对我而言)。然后,如果你有非常大的数据集要处理,也许你应该考虑在服务器端做更多的工作。当文本是this
[[have to keep this]]]]this{{{remove this junk}}和this.
this{remove this[[have to keep this]]junk}和this.
时会发生什么?这不包括在测试用例中。
$(function()
{
    $("p").replaceText(/\{\{.*?\}\}/gi, '' ); //removes {{...}}
    $("p").replaceText(/\[\[(.*?)\]\]/gi, '$1' ); //removes [[ and ]] around text
});