正则表达式:我想只匹配最后没有点的单词

时间:2016-10-16 20:52:42

标签: javascript regex

例如:George R.R. Martin 我想只匹配乔治和马丁。

我试过了:\w+\b.但是不起作用!

1 个答案:

答案 0 :(得分:2)

\w+\b.匹配1个字符字符,后跟字边界,然后任何非字母字符的char(如\b限制以下.子模式) 。请注意,这种方式并不是否定任何东西而你错过了一件重要的事情:必须转义正则表达式模式中的字面点。

您可以使用否定前瞻(?!\.)



var s = "George R.R. Martin";
console.log(s.match(/\b\w+\b(?!\.)/g));




请参阅regex demo

<强>详情:

  • \b - 领先的字边界
  • \w+ - 1 + word chars
  • \b - 尾随字边界
  • (?!\.) - 在匹配的最后一个字词后面必须没有.

在此处详细了解how negative lookahead works