字符串中的通配符替换

时间:2014-11-06 04:36:59

标签: javascript jquery string

例如,我有这个脚本:

var text = '09';

$( 'p.container' ).html( function ( i, html ) {
    var regexp, replacement;

    regexp = RegExp( '(' + text + ')', 'gi' );
    replacement = '<span class="highlight">$1</span>';

    return html.replace( regexp, replacement );
});

容器包含以下值:

  • 0232的 09
  • 232332
  • 092323
  • 8372的 09

现在我只想强调最后有09的值(请注意第三个值在开头包含09),我该如何比较它?像

这样的东西
html.replace( "****09", replacement );

编辑:

容器包含以下值:

  • 0232的 09
  • 2323的 08
  • 092323
  • 8372的 09

现在我只想突出显示每个值的最后2个字符中第一个字符= 0的值

1 个答案:

答案 0 :(得分:1)

试试像

这样的正则表达式

var text = '09';

var regexp = RegExp('(\d*' + text + ')(\\s|$)', 'gi'),
  replacement = '<span class="highlight">$1</span>$2';
$('p.container').html(function(i, html) {
  return html.replace(regexp, replacement);
});
.highlight {
  color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p class="container">023209 232332 092323 837209</p>