如何匹配“by”之后的第一个单词

时间:2011-11-25 15:48:44

标签: javascript regex

我有一个文本框,用户可以在其中指定一个搜索的过滤器:

  • 作者
  • by title
  • 年份

我如何才能在JavaScript中使用正则表达式匹配“by”之后的单词?

我尝试使用by\b(\w*)by\b(.*)\b,但这与句子的其余部分相符。

提前致谢!

3 个答案:

答案 0 :(得分:2)

以下将匹配,后跟一个或多个空格(即:新单词),然后是所有内容,直到下一个空格(或行尾)(即:您要查找的单词): by\s+([^\s]+)

答案 1 :(得分:1)

怎么样:

/by (\w+)/

假设by后跟一个空格。

答案 2 :(得分:1)

这应该可以解决问题:

var s = 'test by toBeMatched and another work';
var matches = s.match(/by\s(\w*)/, ''); // ["by toBeMatched ", "toBeMatched"]
console.log(matches[1]); // "toBeMatched"