在Javascript中使用Regex查找匹配的字符串?

时间:2009-09-11 07:12:29

标签: javascript regex

我需要使用regx过滤掉给定行中的一些指定字符串。 使用string.macth()可以很容易地实现这一点。但我的要求有点棘手。

我有一组关键字,需要在给定的字符串中标识。 (我的输入字符串只包含一个预期的关键字)。我必须形成regX字符串,这将在我的输入字符串中找到可用的关键字。

示例输入和输出

  var InString ="one_sam_get_2384823_34534";
  var keyList  = "one|two|three|four|five";

这里我的预期结果是一个

  var InString ="odfdfg_three_get_2384823_34534";
  var keyList  = "one|two|three|four|five";

这里我的预期结果是

之前我使用类似“/ ^ one / i”的内容来查找单个关键字出现。

但我对这种多关键词方法感到震惊。我赞赏任何指导。

4 个答案:

答案 0 :(得分:3)

您可以使用keyList创建一个RegExp对象:

InString.match(new RegExp(keyList, "i"))

答案 1 :(得分:1)

修改

function findKey (input, keyList) {
  var result = input.match(new RegExp(keyList));

  if (result) {
    return result[0];
  }
}

答案 2 :(得分:0)

使用var regex = /(one | two | 3)/的形式的正则表达式;

答案 3 :(得分:0)

为什么不使用像

这样的正则表达式

“的 /(一个| 2 | 3 | 4 | 5)/ I

干杯