jQuery 的正则表达式

Regex for jQuery

我必须将 'p' 元素中所有包含错误的行变成红色。基本上,如果有错误,它将以 space(不总是)和 3 个或更多星号(总是)开头。

例如:

*** ERROR[14567] Manager initialization failed.

 ***** error[14567] Manager initialization failed.

我的代码:

<script>
    $('p').each(function(){

$this.html($this.text().replace(/(\s)*[*]*(\s)*ERROR.*/ig, '<span style="color: red;">$&</span>'));

</script>

但这不起作用。请帮忙。

您需要定义包含 的行,但与此类似的东西应该可以工作

$('p').each(function(){
  $(this).html(function(index, current){
    var wrap = '<span style="color: red;">$&</span>';
    return current.replace(/\s*?\*{3,}\s*?error.+/gi, wrap);
  });
});
  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<p>*** ERROR[14567] Manager initialization failed.</p>

<p>
  first line
  ***** error[14567] Manager initialization failed.
  other line</p>