jquery 解析大括号内的文本

标签 jquery regex parsing

我要删除

  • 整个文本,包括大括号
  • 仅包含外大括号,但不包含 [[ 和 ]] 内的文本

[[必须保留此文本]]此{{删除此垃圾}}和此。

我实现了上述内容,它正在工作:http://jsfiddle.net/DMGdG/ 我用过这个:https://raw.github.com/cowboy/jquery-replacetext/master/jquery.ba-replacetext.min.js

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

str.replace(regex, charecter)

以及 jsfiddle 中提到的那个。

我的查询:

  • 我的正则表达式组合是否正确,如果不正确,请提出建议,出了什么问题。
  • 请不要将任何服务器错误视为简单的 main.js


jstr.replace("/\s*\{{.*?\}}\s*/g", " "); // for removing curly braces and text within.

jstr.replace("/[\[(.)\]]/g", ""); // to replace the square braces.

index.html 只有 <p> Sample Text(as shown above)</p>

最佳答案

而不是这个:

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

试试这个:

$("p").replaceText(/\{\{.+?\}\}/gi, '****' );

添加问号使匹配模式变得非贪婪 - 也就是说,它将匹配它遇到的下一个 }},而不是最后一个。

<小时/>

编辑:您已经说过这对您不起作用。也许省略 ReplaceText 插件并使用普通的旧 replace() 会有所帮助:

$("p").each( function(){
    $(this).text( $(this).text().replace(/\{\{.+?\}\}/gi, '****' ) );
});

同样,当按上述方式编辑时,它似乎可以在您的 fiddle 中工作。也许问题出在插件上。

关于jquery 解析大括号内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7060125/

相关文章:

Java正则表达式用于查找特定字符串

ruby - 如何在 parslet 中定义固定宽度约束

parsing - ANTLR4:无关输入错误

parsing - 左结合与左递归

jquery - Mobile Safari 窗口报告 980px

jQuery 插件不运行

javascript - 如何删除元素列表中的类并添加到另一个元素 Jquery?

jquery - 使用切换更改单个 Div 中的图像?

regex - Perl 正则表达式用空格替换除 float 以外的所有内容

regex - 语言和正则表达式的制定