基于正则表达式实现UL下LI的样式替换功能

本文实例讲述了基于正则表达式实现UL下LI的样式替换功能。分享给大家供大家参考,具体如下:

最先我想到是在UL下填充好在替换发觉结果差强人意,没有真正改变样式:

$("#UlContent li").each(function (index) {
  // alert(index + ': ' + $(this).text());
  var text = $(this).text();
  var regExp = new RegExp($("#search_content").val(), 'g');
  var newText = text.replace(regExp,"<span style=\"background-color:red;\">" + $("#search_content").val() + "</span>");//将找到的关键字替换,加上highlight属性;
  $(this).text(newText);//更新文章;
});

其实应该在填充进UL前进行替换:

$("#search_content").keyup(function () {
  if(CheckChinese($("#search_content").val()))
  {
   $.ajax({
    type: "POST",
    anync: true,
    url: "HelpCenterSuggestion.ashx",
    cache: false,
    dataType: "text",
    data: { m: $("#search_content").val() },
    success: function (result) {
     $("#UlContent li").remove();
      var regExp = new RegExp($("#search_content").val(), 'g');
      var newText = result.replace(regExp,"<span style=\"background-color:red;\">" + $("#search_content").val() + "</span>");//将找到的关键字替换,加上highlight属性;
      $("#UlContent").append(newText);
    }
   });

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jiuaidu.com/regex/javascript

正则表达式在线生成工具:
http://tools.jiuaidu.com/regex/create_reg

希望本文所述对大家正则表达式学习有所帮助。

相关推荐:

如何防止Python Flask应用遭受ReDoS攻击_优化正则表达式

Flask本身不拦截正则匹配,ReDoS风险取决于所用re模式及上下文;高危模式包括嵌套量词如^(a+)+$、易回溯邮箱正则、.*后接断言等;re.compile()不支持timeout参数,需改用regex库或signal.alarm()等方案;安全写法应避免回溯、拆分校验、限制输入长度,并警惕第...

如何用Python实现本地文件搜索工具_基于os.walk与正则表达式搜索

子目录未被搜到是因为误用dirs=[...]而非dirs[:]=[...]原地修改;正则应预编译,文件名匹配优先,内容匹配需判文本、限大小、捕异常;Windows下注意大小写和长路径。 用os.walk遍历目录时,为什么子目录没被搜到? 常见原因是调用了os.walk后没正确处理返回的三元组,或误用...

Python正则表达式详解_re模块实践

Pythonre模块核心在于理解匹配逻辑与函数适用场景:match从开头匹配,search全局找首个,findall返回所有匹配字符串或分组内容,finditer返回含位置信息的Match对象迭代器。 Python的re模块是处理文本匹配与提取最常用、最灵活的工具之一。掌握它,不等于死记所有元字符,...

Python 正则表达式中精确替换含特殊字符的子串(避免部分匹配)

本文详解如何在Python中使用re.sub对包含方括号等正则元字符的字符串进行严格字面量精确替换,防止因未转义或边界判断不当导致的误替换(如将"A[1]"错误替换为"A[1][2]"中的前半部分)。 本文详解如何在python中使用re.sub对包含方括号等正则元字符的字符串进行严格字面量精确替换...

Python正则表达式怎么学_re模块入门实战

学Python正则表达式应先掌握re.search、re.findall、re.sub、re.split四个核心方法及\d、\w、.、+*?{}、^$\b、()、\等基础语法,再通过实战练习巩固。 学Python正则表达式,核心是理解re模块的常用方法+掌握基础语法逻辑,而不是死记所有符号。先会用、...

Python正则表达式调优_复杂正则性能优化

python正则优化核心是减少回溯、避免灾难性回溯:优先用非贪婪量词或否定字符类替代贪婪匹配,使用原子组禁用无效回溯;必须预编译并复用pattern对象;先用字符串方法粗筛再正则精匹配;避免嵌套量词、无锚点和模糊边界等低效构造。 Python正则表达式性能问题,往往不是“写不出来”,而是“写得太宽泛...