例如:George R.R. Martin 我想只匹配乔治和马丁。
我试过了:\w+\b.
但是不起作用!
答案 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。