2013-11-14 53 views

回答

2

你可以在它的两边添加\b(字的边界)。

return this.href.match(/\b(goto\.com|xyz\.com|loop\.com)\b/g); 

这里有一个快速演示:http://jsfiddle.net/wQYuz/9/

+0

那工作。谢谢! – KayKay

+2

它适用于您的测试用例,但它需要围绕交替的括号或它只修复'dogoto.com'。 “doxyz.com”和“doloop.com”在不应该的时候仍然会匹配。 – OGHaza

+0

该演示绝对显示,否则。 –

1

^字符串的开头匹配。你可以这样做:

return this.href.match(/^(goto\.com|xyz\.com|loop\.com)/g); 

或者,你可以匹配任何非字母数字字符有:

return this.href.match(/\Wgoto\.com|\Wxyz\.com|\Wloop\.com/g); 

而且,因为否则的话点匹配任何你可能想要逃避你点(在这里完成)性格,而不仅仅是它本身。

+0

这与Bill的建议 – KayKay

+0

@KayKay有什么不同呢?这个人做的事情基本上是一样的,但方式不同。 – Pietu1998

+0

感谢您的帮助! – KayKay

0

尝试:

/\b(goto\.com|xyz\.com|loop\.com)\b/g 

\b在单词的开始/结束比赛。它需要括号括起来,否则doxyz.com和doloop.com仍然会匹配。

Fiddle

+0

^在开始,因为一些人建议排除一切,除了在行首的网址 – OGHaza