正则表达式无法正常工作

时间:2016-11-16 18:42:50

标签: javascript regex

我在使正则表达式正常工作方面遇到了一些挑战。

基本上我需要从字符串中替换“:TABLE COUNT#”。 #是0-9之间的数字。

这是我的代码:

$("#tbl").each(function() {
  var x = $(this).text();
  var y = x.replace(":TABLE COUNT " + /[0-9]/, "");
  $(this).html(y);
})

这是我的jsFiddle

2 个答案:

答案 0 :(得分:3)

尝试使用regexp作为.replace()方法的第一个参数,而不是string

Replace() documentation

顺便说一句,id属性应该是唯一的。我将id属性替换为class



$(".tbl").each(function() {
  var x = $(this).text();
  var y = x.replace(/:TABLE COUNT \d/, "");
  $(this).html(y);
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="tbl">
  TABLE:TABLE COUNT 3
</p>
<p class="tbl">
  4-WAY
</p>
<p class="tbl">
  TABLE:TABLE COUNT 5
</p>
<p class="tbl">
  TABLE:TABLE COUNT 9
</p>
<p class="tbl">
  4-WAY
</p>
&#13;
&#13;
&#13;

/:TABLE COUNT \d/表示:

包含此字符串:TABLE COUNT,后跟数字字符\d

  

\d:匹配基本拉丁字母中的数字字符。相当于[0-9]。

RegExp documentation

答案 1 :(得分:1)

从id切换到类,然后执行以下操作:

$(".tbl").each(function () {
   var x = $(this).text();
   var y = '":TABLE COUNT " + /[0-9]/, ""';
   $(this).html(y);
});