在字符串中使用正则表达式匹配单词

时间:2014-03-14 04:36:33

标签: jquery regex datatables

我正在使用jQuery DataTable来显示记录,我想在某些情况下使用RegExp进行搜索 我有字符串:

var str="ATP ,Defib 30 J (830 V),Defib 30 J (830 V),Aborted Defib 30 J (830 V),Aborted CVRT 15 J (588 V)";

如果我只使用CVRT搜索,那么它不应该匹配,但是如果我使用Aborted CVRT进行搜索,它应该匹配。 即如果我在逗号之后输入文本,则应匹配文本,例如使用Aborted CVRT或Defib 30进行搜索,也应匹配ATP(字符串中的第一个)。

先谢谢

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您应该使用两个RegEx,一个用于Defib 30,另一个用于ATP

像这两样:

  1. ,\w+ \w+
  2. 匹配:,Defib 30等。

    1. ^\w+
    2. 匹配:ATP


      如果你不需要,,你可以复制积极的看法:

      var matches = [], str = "ATP ,Defib 30 J (830 V),Defib 30 J (830 V),Aborted Defib 30 J (830 V),Aborted CVRT 15 J (588 V)";
      
      str.replace(/(,)(\w+ \w+)?/g, function(match, $0, $1){
          if($0) matches.push($1)
      });
      
      console.log(matches); // ["Defib 30", "Defib 30", "Aborted Defib", "Aborted CVRT"] 
      

答案 1 :(得分:0)

  

在javascript中使用字符串 .match() .matse()方法搜索   用于匹配正则表达式的字符串,并返回   匹配,作为Array对象。

var str = "ATP ,Defib 30 J (830 V),Defib 30 J (830 V),Aborted Defib 30 J (830 V),Aborted CVRT 15 J (588 V)"; 

var res = str.match(/CVRT/g);

console.log(res);